This article explains different ways to connect StreamSets with webMethods on-prem products like Universal Messaging and Integration Server.
Any development platform will have 3 main components: Design time components, Runtime Components and Administration/Control components. Sometimes Design time components and Administration Components are merged. StreamSets follows the same path. Its Admin component that is “Control hub” is also its Design time component.
Runtime component can be hosted on Cloud providers (AWS, Azure, GCP) or locally. Once a Deployment set is defined on the Control hub, it allows users to download the deployment script. Either as a tar ball or a docker command. Running instance of a Deployment is called and engine.
To Engine automatically connects to the control hub and users can manage the engine from the control hub. Since StreamSets engines can be executed anywhere, to work with webMethods the StreamSets engine and webMethods instances should be reachable to each other.
A StreamSets Data pipeline (aka Workflow ) consists of mainly 3 types of steps.
• A Data Origin to read data from
• A Data Destination to send data to at the end
• Processing steps are Intermediary between Source and Destination which processes data.
For messaging StreamSets provides connectors for different messaging technologies like JMS, Kafka, Amazon SQS, Azure Event Hub, Apache Pulsar etc.
To connect with Universal Messaging we can use JMS Consumer as Origin and JMS producer as Destination.
To use JMS tools should be enabled and target JMS library should be added in the Engine.
Goto Setup > Deployments
Edit the required Deployment
Goto Stage 2
Click ok and click Save & Next
Goto Last section and Restart engine.
Goto Setup > Engines
Click on the required Engine
In Edit page, Goto External Resources > External Libraries
Click on ‘+’ icon and browse UM JMS client jars nJMS.jar and nClient.jar from local SoftwareAG installations.
After upload Click Restart Engine to restart engine
Goto Setup > Connections
Click on + icon to add a new Connection
Give it a Name and Description
Select Authoring Engine as the engine where JMS libraries are deployed
For Type, Select JMS
Click Save & Next to go to Configure Connection section
Add Universal Messaging connection details
JMS Initial Context Factory: com.pcbsys.nirvana.nSpace.NirvanaContextFactory JNDI Connection Factory: Connection factory name from UM JMS Provider URL: UM URL nsp://<host>:<port>
Click on Test Connection, this should show Green Tick at the top
Goto Build > Pipelines
Create a Pipeline
Add a origin to read data from.
In the Destination drop down, select JMS Producer.
Leave defaults in the General Tab
Goto JMS tab
For Connection select the connection created in previous section
In Data Format tab,
Select a suitable data format. Example JSON.
StreamSets provides HTTP Client Destination, which can be used to make REST API Calls.
This feature can be used to call REST APIs on SofwareAG products Integration Server, API Gateway, webmethods.io Integration, webmethods.io B2B etc.