Skip to content

Latest commit

 

History

History
101 lines (85 loc) · 5.68 KB

File metadata and controls

101 lines (85 loc) · 5.68 KB

iDAAS-Connect-ThirdParty

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:

  1. 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
  2. platform-testdata: sample transactions to leverage for using the platform.

Scenario: Integration

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.

Kafka: Integration Data Flow Steps

  1. The Kafka client connects to a particular broker and topic and checks if there is any data to process.
  2. If there is data it will audit the transaction processing
  3. The transaction will be routed for processing within iDAAS

Start The Engine!!!

This section covers the running any of the design patterns/accelerators. There are several options to start the Engine Up!!!

Step 1: Kafka Server To Connect To

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

Step 2: Running the App: Maven Commands or Code Editor

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

Running the Java JAR

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

Design Pattern/Accelerator Configuration

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

Admin Interface - Management and Insight of Components

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):
iDaaS Platform - Visuals - iDaaS Data Flow - Detailed.png

Every asset has its own defined specific port, we have done this to ensure multiple solutions can be run simultaneously.

Administrative Interface(s) Specifics

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....