iDAAS has several key components that provide many capabilities. iDAAS Connect is intended ONLY to enable iDAAS connectivity. iDAAS-Connect-ThirdParty specifically ONLY deals with enabling iDAAS to all sorts of third party connectivity. For example: RDBMS, Kafka, Mainframe, Files, SFTP, etc. plus over a hundred connectors that are supported in the upstream community Apache Camel and Connectors.
This solution contains three supporting directories. The intent of these artifacts to enable
resources to work locally:
- platform-scripts: support running kafka, creating/listing and deleting topics needed for this solution
and also building and packaging the solution as well. All the scripts are named to describe their capabilities
- platform-testdata: sample transactions to leverage for using the platform.
This repository follows a very common general implementation. The only connector currently in this code base is a Kafka topic. The key sceanrio this can demonstrate is data being processed from a data science kafka topic.
- The Kafka client connects to a particular broker and topic and checks if there is any data to process.
- If there is data it will audit the transaction processing
- The transaction will be routed for processing within iDAAS
This section covers the running any of the design patterns/accelerators. There are several options to start the Engine Up!!!
In order for ANY processing to occur you must have a Kafka server running that this accelerator is configured to connect to.
Please see the following files we have included to try and help:
Kafka
KafkaWindows
This section covers how to get the application started.
- Maven: The following steps are needed to run the code. Either through your favorite IDE or command line
git clone <repo name>
For example:
git clone https://github.com/RedHat-Healthcare/iDaaS-Connect.git
You can either compile at the base directory or go to the specific iDaaS-Connect acceelerator. Specifically, you want to
be at the same level as the POM.xml file and execute the following command:
mvn clean install
You can run the individual efforts with a specific command, it is always recommended you run the mvn clean install first.
Here is the command to run the design pattern from the command line:
mvn spring-boot:run
Depending upon if you have every run this code before and what libraries you have already in your local Maven instance it could take a few minutes.
- Code Editor: You can right click on the Application.java in the /src/ and select Run
If you don't run the code from an editor or from the maven commands above. You can compile the code through the maven
commands above to build a jar file. Then, go to the /target directory and run the following command:
java -jar <jarfile>.jar
Leverage the respective application.properties file in the correct location to ensure the properties are properly set
and use a custom location. You can compile the code through the maven commands above to build a jar file. Then, go
to the /target directory and run the following command:
java -jar <jarfile>.jar --spring.config.location=file:./config/application.properties
Each design pattern/accelerator has a unique and specific application.properties for its usage and benefit. Please make sure to look at these as there is a lot of power in these and the goal is to minimize hard coded anything. There is a key need for this design pattern requires a database and a configuration that connects to it.
# JDBC Database
spring.datasource.url=jdbc:mysql://localhost/idaas?useLegacyDatetimeCode=false&serverTimezone=America/Chicago
spring.datasource.username=idaas
spring.datasource.password=@idaas123
spring.database.driver-class-name=com.mysql.cj.jdbc.Driver
Within each specific repository there is an administrative user interface that allows for monitoring and insight into the connectivity of any endpoint. Additionally, there is also the implementation to enable implementations to build there own by exposing the metadata. The data is exposed and can be used in numerous very common tools like Data Dog, Prometheus and so forth. This capability to enable would require a few additional properties to be set.
Below is a generic visual of how this looks (the visual below is specific to iDaaS Connect HL7):
Every asset has its own defined specific port, we have done this to ensure multiple solutions can be run simultaneously.
For all the URL links we have made them localhost based, simply change them to the server the solution is running on.
iDaaS Connect Asset | Port | Admin URL / JMX URL |
---|---|---|
iDaaS Connect Third Party | 9983 | http://localhost:9983/actuator/hawtio/index.html / http://localhost:9983/actuator/jolokia/read/org.apache.camel:context=*,type=routes,name=* |
If you would like to contribute feel free to, contributions are always welcome!!!!
Happy using and coding....