solace pubsub+ event broker integration with boomi using jms · 2020-03-02 · solace pubsub+ event...

62
© Solace Corporation. http://www.solace.com Solace PubSub+ Event Broker Integration with Boomi Using JMS Document Version 2.0 February 2020

Upload: others

Post on 10-Mar-2020

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

© Solace Corporation. http://www.solace.com

Solace PubSub+ Event Broker Integration with Boomi Using JMS Document Version 2.0

February 2020

Page 2: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

The purpose of this tutorial is to walk you through how to use the generic JMS Connector within Boomi to connect to Solace PubSub+ software event brokers and get them talking. Specifically, you will learn how to

• Access Solace PubSub+ Event Broker • Access the Boomi Platform • Integrate Solace PubSub+ Event Broker and Boomi using Boomi’s generic JMS Connector • Set the JMS Send Destination using Message Content

While no experience is necessary with either Solace PubSub+ event brokers or Boomi, this tutorial will point you to some basic setup guides for either product for the initial setup. This tutorial also uses the following:

• Windows 10 • Solace PubSub+ Cloud • Boomi AtomSphere for Boomi development • Local Boomi Atom for Boomi runtime

Page 3: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

© Solace Corporation. http://www.solace.com

Contents Access Solace PubSub+ Event Broker ....................................................................... 1 Create a PubSub+ Cloud Account ......................................................................................................................... 1 Log in to Solace PubSub+ Cloud ........................................................................................................................... 1 Access Your Solace Service .................................................................................................................................. 2 Access Solace PubSub+ Manager.......................................................................................................................... 3 Access the Boomi Platform ........................................................................................ 5 Install a Local Boomi Atom .................................................................................................................................. 5 Create a Boomi Integration Environment and Attach Your New Atom ................................................................ 5 Integrate Solace PubSub+ Event Broker and Boomi Using JMS ............................... 6 Set up Solace JMS ...................................................................................................... 7 Create the Solace Queue ........................................................................................................................................ 7 Define or ID the Connection Factory..................................................................................................................... 8 Define JNDI Entries .............................................................................................................................................. 9 Set up Boomi JMS .................................................................................................... 13 Import Solace JMS Jars ........................................................................................................................................13 Create a Custom Library for the Solace JMS Jars ................................................................................................14 Deploy to Your Local Atom .................................................................................................................................15 Create the Solace JMS Connection .......................................................................................................................18 Create the Solace JMS Operation .........................................................................................................................21 Create the Boomi Process to Listen to a Solace JMS Topic .................................................................................23 Test the Listen Process .........................................................................................................................................27 Create the Boomi Process for a Solace JMS Queue .............................................................................................35 Test the Send Process ...........................................................................................................................................42 Set the JMS Send Destination Using Message Content ........................................... 44 Add a Topic Subscription to Q/Boomi/To/Solace/JMS ........................................................................................44 Create a JNDI Entry for the Topic ........................................................................................................................45 Copy the Previous Send Process in Boomi ...........................................................................................................46 Create the JSON Message Profile in Boomi .........................................................................................................47 Modify the Listen Process in Boomi ....................................................................................................................50 Test the New Listen and Send Process in Boomi .................................................................................................53 Appendix A. JSON Document ................................................................................. 58

Page 4: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

1

Access Solace PubSub+ Event Broker You can access Solace PubSub+ Event Broker by using an existing PubSub+ broker, downloading the free standard edition, or, like me, using the free PubSub+ Event Broker: Cloud. Depending on how you access PubSub+ Event Broker, you will need to skip or adjust some of the steps below.

Create a PubSub+ Cloud Account Go to https://solace.com/cloud/ and click Get Started to sign up for a free account. After filling out and submitting a form, check your email for login instructions.

Log in to Solace PubSub+ Cloud

1. Log in with your credentials and click Create Service.

2. On the Create Service page, do the following:

• Select the service plan • Select the cloud • Select the region • Enter the service name • Click Start Service

Page 5: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

2

Access Your Solace Service With your service up and running, you can now access details on its status and see how it is set up to connect, manage, and interact. We will use these tabs later, so explore them if you want.

Page 6: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

3

Access Solace PubSub+ Manager

Solace PubSub+ Manager is a browser-based UI that gives you access to queues, topics, and other objects you need to work with. To access it, click Manage Service.

A new browser tab should open. Lots to explore here, but that is beyond the scope of this guide.

Page 7: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

4

When you see this screen, you are all done. Your Solace PubSub+ instance is ready.

Page 8: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

5

Access the Boomi Platform You can have a trial Boomi account if you do not already have one. Note that I will use a local Boomi Atom to demonstrate connectivity. If you want to use a complete cloud Boomi instance, you will need to modify some of the steps accordingly.

Install a Local Boomi Atom

Follow the steps below to install a local Boomi Atom:

• On Windows • On Linux • On Mac (you’ll need to run Linux on Docker)

Create a Boomi Integration Environment and Attach Your New Atom

Follow the steps below to

• Add an environment • Attach your Atom

Page 9: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

6

Integrate Solace PubSub+ Event Broker and Boomi Using JMS

For this example, we are going to have Boomi listen to a Solace JMS topic and then write to a Solace JMS queue. We will use the following setup between the products:

• Publish a message to the Solace Topic: T/Solace/To/Boomi/JMS • Use the JNDI component to provide Boomi with a binding to the topic:

JNDI/T/Solace/To/Boomi/JMS • Have Boomi consume the message from the topic and write it back to a Solace queue:

Q/Boomi/To/Solace/JMS. • Use the JNDI component: JNDI/Q/Boomi/To/Solace/JMS

Page 10: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

7

Set up Solace JMS We need to create our Solace queue and our JNDI binding to that queue.

Create the Solace Queue

1. In the left sidebar of Solace PubSub+ Manager, click Queues.

2. Click Create.

3. Name the queue Q/Boomi/To/Solace/JMS and click Create.

Page 11: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

8

4. Leave most items default, but change Owner to solace-cloud-client and Non-Owner Permission to Delete, then click Apply and confirm the pop-up if it appears.

Note: If a pop-up asks you to confirm, click Apply Changes.

5. Confirm the queue Q/Boomi/To/Solace/JMS exists and is On for incoming and outgoing messages.

Define or ID the Connection Factory

1. Click JMS JNDI in the lower left of Solace PubSub+ Manager.

Page 12: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

9

2. Click Connection Factories at the top.

3. Confirm /jms/cf/default exists so that we can use it later in Boomi.

Define JNDI Entries

Next, we will define the JNDI Catalog entries so that Boomi can access them.

1. In Solace PubSub+ Manager, select Topics.

Page 13: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

10

2. Click + JMS Topic in the upper right.

3. In the Create JMS Topic dialog box, add JNDI/T/Solace/To/Boomi/JMS as the JMS Name and T/Solace/To/Boomi/JMS as the Physical Name. Don’t worry that we have not created the topic. It will be created dynamically during publish.

4. Click Create.

Page 14: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

11

Next, we will create the JMS Queue.

1. Select Queues.

2. Click + JMS Queue.

3. In the Create JMS Queue dialog box, enter JNDI/Q/Boomi/To/Solace/JMS as the JNDI Name and select Q/Boomi/To/Solace/JMS as the Physical Name.

4. Click Create.

Page 15: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

12

All done! Our Solace queue and JMS JNDI entries are created.

Page 16: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

13

Set up Boomi JMS

Log in to your Dell Boomi account and click Build in Boomi AtomSphere.

Import Solace JMS Jars You need to upload the Solace JMS jars into your Boomi instance.

1. Download the Solace JMS API to your hard drive.

2. Extract the following files:

• Sol-jms-*.*.*.jar

Page 17: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

14

3. In Boomi AtomSphere, do the following:

• Select Setup in the upper right • Select Account Libraries on the lower left • Click Upload a File to upload the.jar file you extracted above

Create a Custom Library for the Solace JMS Jars In Boomi AtomSphere, do the following:

1. Click Build. 2. Click + New. 3. In the Create Component dialog box, from the Type drop-down list, select Custom Library. 4. Give the custom library a name like Solace JMS Jars. 5. Pick the folder where you want to create the custom library. 6. Click Create.

7. In the Solace JMS Jars custom library, select Connector from the Custom Library Type drop-down list. 8. Select JMS as the Connector Type. 9. In the Include JAR Files field, search for sol and add the sol-jms jar file you uploaded.

Page 18: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

15

10. Click Save.

Deploy to Your Local Atom In Boomi AtomSphere, do the following:

1. Select Create Package.

2. Select your Custom Library on the left-hand side and click Create -> New Package and Deploy.

Page 19: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

16

3. Click Next: Deployment Location.

Page 20: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

17

4. Select your deployment environment.

5. Click Next: Review. 6. Click Package & Deploy.

Page 21: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

18

7. If successful, you should the confirmation message. Click Close.

Create the Solace JMS Connection In Boomi AtomSphere, do the following:

1. Click Build. 2. Click + New. 3. In the Create Component dialog box, click Connection from the Type drop-down list.

4. Name the component, pick the folder for the component, select JMS from the Connector drop-down list, and click Create.

Page 22: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

19

5. From the Solace PubSub+ Cloud, select the Connect tab and then Solace JMS API.

6. Copy the information for the following fields:

• Username • Password • Message VPN • Host URI: SMF URI (we will not use secured or compressed connections for this demo)

Page 23: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

20

7. Back on Boomi AtomSphere, enter the following information:

• User Name: solace-cloud-client • Password: the one provided in Solace PubSub+ Cloud

8. Click Apply.

9. Do the following:

Page 24: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

21

• Confirm the JMS Server Type is Generic JNDI • Set Connection Factory JNDI Lookup to your Connection Factory from Solace Cloud (The default

is /jms/cf/default) • Set Initial Context Factory to com.solacesystems.jndi.SolJNDIInitialContextFactory • Set Provider URL as your SMF URI from Solace Cloud PubSub+ Cloud • Under Property Name, add the name value pair:

java.naming.security.principal to solace-cloud-client@YOUR_MESSAGE_VPN

10. Click Save. Now Boomi knows how to connect to your Solace PubSub+ instance.

Create the Solace JMS Operation In Boomi AtomSphere, do the following:

1. Click Build. 2. Click + New. 3. In the Create Component dialog box, select Connector Operation from the Type drop-down list.

Page 25: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

22

4. Enter the following information: • Component Name: Listen_To_Solace_JMS_Topic • Folder: Set to your folder • Connector: JMS

5. Click Create.

6. Do the following for the Listen_To_Solace_JMS_Topic component:

• From the Connector Action drop-down list, select Listen • From the Destination drop-down list, select JNDI/T/Solace/To/Boomi/JMS

7. Click Save.

Page 26: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

23

Create the Boomi Process to Listen to a Solace JMS Topic The final task is to create the Boomi Process that will leverage what we have just created to listen to a Solace JMS Topic.

1. In Boomi AtomSphere, click Build. 2. Click + New. 3. In the Create Component dialog box, enter the following information:

• Type: Process • Component Name: Listen To Solace JMS Topic (or whatever you want to call it) • Folder: Your folder

4. Click Create.

5. In the Start Shape dialog box, enter the following information:

Page 27: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

24

• Display Name: Solace JMS Listener (or whatever you want) • Connector: JMS • Action: Listen • Connection: The Solace connection that you created • Operation: The Solace operation that you created

6. Click OK.

Note: If a recommendation appears to Capture Run Dates and Allow Simultaneous Executions, click Make the recommended changes for me before clicking OK.

7. Drag a Notify shape onto the canvas, display the message content in the Boomi logs, and then end the process.

This does nothing except grab the message from the Topic, make a note in the Boomi log, and then destroy the message to confirm we can listen to Solace PubSub+ Event Broker via JMS.

Page 28: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

25

8. From the Execute set of shapes, click and drag the Notify shape onto the canvas.

9. In the Notify Shape dialog box, enter the following information: • Display Name: Write Message Content to Process Reporting Log • Title: Write Msg Body to Log • Message: Message Body: {1} • Variables: click the + button, select Current Data from the Type drop-down list, and click OK

Note: {1} is a variable substitution in Boomi. In the next step, we will populate the variable {1} with the actual content in the message body we received from Solace PubSub+ Event Broker.

Page 29: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

26

The final Notify shape should look like this:

10. Click OK. 11. Continue building the Process. 12. Connect our listener to the Notify shape. 13. From the Logic set of shapes, drag the Stop shape onto the canvas and connect it. 14. Click OK.

There is no need to type the name.

15. Click Save.

Page 30: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

27

Test the Listen Process Boomi has a nice unit testing capability, but it is not yet available for Listen actions. So, we will have to deploy our process (and dependencies, which Boomi does automatically) onto our Boomi Atom and then send data through Solace PubSub+ Event Broker to test our Boomi Process. In Boomi AtomSphere, do the following:

1. Click Create Package.

2. Select the process in your folder and then click Create and New Package & Deploy.

3. Click Next: Deployment Location.

Page 31: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

28

4. Select your environment and then click Next: Review.

Page 32: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

29

5. Click Package & Deploy.

Page 33: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

30

6. Click Close once complete.

7. In Boomi AtomSphere, click Manage. 8. From the Manage drop-down list, select Atom Management.

9. Select your local Boomi atom. 10. Select Listeners. 11. Confirm that your listener is up and error free using the green circle next to it.

Page 34: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

31

If you have an error with your listener, like the one below, you can click the blue gear icon and select View Error Message to see the errors starting the listener.

You should see an error message like the following:

In the case above, my IP address is incorrect. You can also get username and/or password issues or other issues if you have not properly uploaded and deployed your Solace JMS jars. Those are the most common.

Page 35: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

32

Once you get your listener up, we can start testing.

1. Return to the Solace PubSub+ Cloud. 2. Click your Cloud Service.

3. Click Try Me! 4. Connect both your Publisher and Subscribers. 5. Enter the Topic to Publish to: T/Solace/To/Boomi/JMS. 6. Subscribe to the same Topic by entering it and clicking Subscribe: T/Solace/To/Boomi/JMS. 7. Type the message “Hello Boomi!”

8. Click Publish.

Page 36: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

33

You should see a message being received in the Subscriber window.

Now, also check that Boomi received the message.

1. In Boomi AtomSphere, click Manage and select Process Reporting.

You should see a record for the event received by Boomi.

2. Click the Document icon to get the details.

Page 37: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

34

3. Click Write Msg Body to Log. Mine says “Hello world!”. Yours should say that or whatever you chose to send from the Solace Try Me! publisher.

If you cannot read your message, you can click on it to see the whole message.

Page 38: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

35

Done! We have sent a message from Solace PubSub+ Event Broker to Boomi using JMS.

Create the Boomi Process for a Solace JMS Queue Now let us send a message back to Solace PubSub+ Event Broker over a queue. We will create a second process and have Boomi send a message to the Solace PubSub+ Event Broker queue we created earlier. We will set this destination in two different ways:

1) We will place a destination into the Operation. 2) We will use a dynamic Set Properties shape to set the same destination. We do not need to do this, but it is

an example of how you can set the destination dynamically.

In the last exercise at the end of this guide, I will show how to set this using message body data performing content-based routing.

1. In Boomi AtomSphere, click Build. 2. Click + New. 3. In the Create Component dialog box, enter the following information:

• Type: Process • Component Name: Write to Solace JMS Queue or whatever you like • Folder: Select your folder

4. Click Create.

Page 39: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

36

5. In the Start Shape dialog box, do the following:

• Select No Data. • Leave the Display Name field empty

Note: If a recommendation appears to Capture Run Dates and Allow Simultaneous Executions, click Make the recommended changes for me before clicking OK.

• Click OK.

Page 40: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

37

First, we will add the message content.

1. Drag a Message shape from the Execute shape set onto the screen. 2. In the Message Shape dialog box, do the following:

• Enter the Display Name: Add Message Content • Type the Message: Hello Solace, from Boomi • Leave the Variables box blank. This is how we can access current message data to set queues

and topics and do other things • Click OK

3. From the Execute shape set, drag a Set Properties shape onto the canvas. 4. In the Set Properties Shape dialog box, do the following:

• For Display Name, enter Set JMS Destination or whatever you prefer • Click the + sign to select the destination property

5. In the Choose Property dialog box, do the following:

Page 41: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

38

• Select Document Property as the Property Type • Under JMS, select Destination • Click OK

6. In the Set Properties Shape dialog box, click the new JMS – Destination. 7. Select the JMS-Destination Property. 8. Click the + sign under Parameters to set the value.

9. In the Parameter Value dialog box, do the following:

• For Type, select Static • For Static Value, enter JNDI/Q/Boomi/To/Solace/JMS

Page 42: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

39

• Click OK

10. Click OK again. We now need to add a new Operation. This one will be a Send action. We can re-use our Solace JMS Connection that was created earlier.

1. Save your work. 2. Click + New.

Page 43: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

40

3. In the Create Component dialog box, do the following:

• For Type, select Connector Operation • For Component Name, enter Send to Solace JMS Destination • For Folder, select your folder • For Connector, select JMS • Click Create

4. On the Options tab, do the following:

• For Connector Action, select Send • For Destination, enter JNDI/Q/Boomi/To/Solace/JMS

Note: We actually do not have to set this, as we have already set it in the Set Properties shape. The Set Properties shape will override whatever value you place in here. I leave that to you to test should you want to.

• Click Save

5. Go back to your Process from before “Write to Solace JMS Queue”.

Page 44: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

41

Note: If you closed it, you can simply click Build and select your process under Open A Recent Item.

6. Drag a JMS Connector onto the canvas. 7. In the Connector Shape dialog box, enter the following information:

• Display Name: Send to Solace JMS Destination or whatever you like • Connector: JMS • Action: Send • Connection: Solace JMS (this is your JMS Connector) • Operation: Send to Solace JMS Destination (this is the operation we just created)

8. Click OK.

Page 45: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

42

9. Add a Stop shape and connect it.

10. Click Save.

Test the Send Process First, check to see that there is no message in our queue.

In Solace PubSub+ Manager, do the following:

1. Click Queues on the left. 2. Confirm that there is 0 message for Messages Queued (msgs).

Since this is not a Listen action, we can use the Boomi unit test capability.

1. In Boomi AtomSphere, click Test on the process.

Page 46: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

43

2. Select your Atom. 3. Click Run Test.

If the test execution is successful, you should see the following window pop up in the lower right-hand corner of your screen.

4. Go back to Solace PubSub+ Manager to confirm the receipt of one message.

One message received! Note: You may need to click the Refresh button in the lower right corner. You can check the content of this message by using something like Solace’s test client SDKPerf, but that is beyond the scope of this guide.

You can download SDKPerf here.

Page 47: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

44

Set the JMS Send Destination Using Message Content We will make a copy of the previous Listen Process and modify it for this exercise. We will also use content in JSON format in the message body as the source data to set the corresponding JMS destination. Appendix A has a sample copy of JSON that you can use.

Add a Topic Subscription to Q/Boomi/To/Solace/JMS We will use the same queue as before and just add a topic subscription to that queue so that we can pick up the new publication coming from Boomi. To add a topic subscription to the queue, do the following:

1. In Solace PubSub+ Manager, click Queues on the left. 2. Click the queue Q/Boomi/To/Solace/JMS.

3. Click the Subscriptions tab.

4. Click + Subscription.

5. In the Create Subscription dialog box, do the following:

• Enter ORCL/equity/15

Page 48: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

45

This topic maps to the structure “symbolString/dataType/delaymin” where the symbolString is for Oracle (ORCL) and the dataType is “equity” and the delaymin is ”15” min. We can also use wildcards here, like ORCL/*/15 or ORCL/equity/>

• Click Create

Create a JNDI Entry for the Topic Boomi’s JMS Connector requires the use of a JNDI catalog, which means it cannot publish directly to the topic we just had our queue subscribe to. We need to create a JNDI binding to that topic. To create a JNDI binding to the topic, do the following:

1. In Solace PubSub+ Manager, click JMS JNDI in the lower left corner.

Page 49: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

46

2. Click the Topics tab at the top.

3. Click + JMS Topic.

4. In the Create JMS Topic dialog box, do the following:

• Enter the JNDI Name: JNDI/ORCL/equity/15 • Enter the Physical Name: ORCL/equity/15 • Click Create

Copy the Previous Send Process in Boomi To copy the previous Send Process in Boomi, do the following:

1. In Boomi AtomSphere, open the Listen Process from before. Mine is called “Listen To Solace JMS Topic”. 2. Click Build. 3. Navigate your folder structure to your Listen Process. 4. Click the arrow next to your process and select Copy.

Page 50: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

47

5. Give the copied process a new name, something like “Listen To Solace JMS Topic Content Based Republish”. 6. Uncheck Copy Dependants. 7. Leave the Destination folder unchanged. 8. Click OK.

Create the JSON Message Profile in Boomi

In order for us to be able to have Boomi parse the incoming JSON message and use some of its contents to set the new publish topic destination, we need to describe the incoming JSON in a Boomi JSON Profile. To do that, follow the steps below.

1. In Boomi AtomSphere, click Build. 2. Click Profile under Component.

Page 51: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

48

3. In the Create Component dialog box, do the following:

• Enter the Component Name: Market Data JSON • Enter the Folder where the profile will be created • Select JSON as the Profile Format • Click Create

Make sure to copy the JSON text from Appendix A into a .json file and save it somewhere on your workstation. We will use that to import into Boomi.

Page 52: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

49

4. Click Import.

5. Click Next. 6. Click Finish. 7. Review the imported structure.

8. Click Save and Close.

Page 53: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

50

Modify the Listen Process in Boomi To modify the Listen Process in Boomi, follow the steps below:

1. Open your new Listen Process from the copy we made above. Mine is Listen To Solace JMS Topic Content Based Republish.

2. Open the Execute section in the shapes palette and drag a Set Properties shape onto the canvas. 3. Use Set JMS Topic Destination as the Display Name. 4. In the Set Properties Shape dialog box, click the + sign under Properties to Set. 5. In the Choose Property dialog box, do the following:

• Select Document Property as the Property Type • For Connectors, expand JMS and select Destination • Click OK

6. In the Set Properties Shape dialog box, click JMS – Destination under the + sign. 7. Add JNDI/ at the beginning. 8. Click the + sign. 9. In the Parameter Value dialog box, do the following:

• From the Type drop-down list, select Static • In the Static Value field, enter= JNDI/ • Click OK

Page 54: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

51

To add the symbolString level of the topic, do the following:

1. Click the + sign. 2. In the Parameter Value dialog box, do the following:

• From the Type drop-down list, select Profile Element • From the Profile Type drop-down list, select JSON • In the Profile field, navigate to Market Data JSON in your folder • In the Element field, select @symbolstring • Click OK

3. Continue to add Static and JSON Profile elements to build out the rest of the topic. It should look like this:

Page 55: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

52

Note: My JSON Profile in the screenshot above is MarketDataExample, not Market Data JSON. It will make no difference. Continue to use the JSON profile you created. Note that the following elements are added:

• “/” • @datatype • “/” • @delaymin

4. Add a Send To Solace JMS Destination operation like what you did in the previous exercise. 5. In the Connector Shape dialog box, reuse Solace JMS Connection as the Connection and Send to Solace JMS

Destination as the Operation. Note: Remember, Set JMS Destination will override the destination that is hard coded in the Operation Send to Solace JMS Destination.

Page 56: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

53

6. Once you have all the parameters set, connect it, save it, and then deploy your new Process.

Test the New Listen and Send Process in Boomi We will use Postman to send a message to Solace using REST on the topic that our Boomi process is listening on. Boomi will then read that message, parse the appropriate data, and republish this data to our queue using the topic that the queue is subscribed to. This is not a tutorial on how to use Postman, but I will give you the fields that need to be filled.

1. In Postman, click + New and select Request.

Ensure that it is a POST request, has the correct http:// address:port from the Solace Cloud Console, and uses the correct topic name.

Page 57: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

54

2. On the Authorization tab, add your username and password. Your Postman page should look like this now:

Page 58: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

55

Note: Make sure you add your topic string to the URI. In my case, I need to add T/Solace/To/Boomi/JMS to the end of the URI string http://vmr***.messaging.solace.cloud:20042/ as shown in the screenshot above.

3. Click Headers to add the following Headers:

• Content-Type: application/json • Solace-delivery-mode: direct

4. Click the Body tab, copy and paste the JSON from Appendix A there, and select the Raw button.

5. Click Send to send the request to Solace. The status should show 200 OK if the request was received.

Page 59: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

56

Next, let’s take a look at the Boomi Process Reporting.

1. In Boomi AtomSphere, click Manage and select Process Reporting.

2. Drill into the record to confirm it is the message that we sent. 3. Click the Document icon.

4. Click Write Msg Body to Log to confirm the content.

Page 60: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

57

Yes, that is our Msg Body.

5. In Solace PubSub+ Cloud, do the following to confirm that we have a message on the queue:

• Open Solace PubSub+ Manager • Click Queues in the left

We have two messages! One from our previous test and another from then test we just conducted,

Page 61: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

58

Appendix A. JSON Document { "copyright": "Copyright (c) 2010 QuoteMedia, Inc.", "symbolcount": "1", "quote": { "@symbolstring": "ORCL", "@datatype": "equity", "@entitlement": "DL", "@delaymin": "15", "@datetime": "2011-03-17T18:26:13-04:00", "key": { "symbol": "ORCL", "exchange": "NGS" }, "equityinfo": { "longname": "Oracle Corp.", "shortname": "ORCL" }, "pricedata": { "last": "30.55", "change": "0.35", "changepercent": "1.1589", "tick": "0", "open": "30.69", "high": "31.05", "low": "30.34", "prevclose": "30.20", "bid": "30.50", "ask": "30.61", "bidsize": "1000", "asksize": "1000", "rawbidsize": "10", "rawasksize": "10", "tradevolume": "128731", "sharevolume": "31527417", "vwap": "30.7045231", "lasttradedatetime": "2011-03-17T16:00:04-04:00" },

Page 62: Solace PubSub+ Event Broker Integration with Boomi Using JMS · 2020-03-02 · Solace PubSub+ Event Broker Integration with Boomi Using JMS 3 Access Solace PubSub+ Manager Solace

Solace PubSub+ Event Broker

Integration with Boomi Using JMS

59

"fundamental": { "sharesoutstanding": "5052420000", "marketcap": "154351431000", "eps": "1.34", "peratio": "22.50", "pbratio": "4.486", "week52high": { "@date": "2011-02-18", "#text": "33.71" }, "week52low": { "@date": "2010-07-01", "#text": "21.24" }, "dividend": { "date": "2011-01-14", "amount": "0.20", "yield": "0.662", "latestamount": { "@currency": "USD", "#text": "0.05" }, "frequency": "Q", "paydate": "2011-02-09" }, "sharesescrow": "0" } } }