This is the second part of my introduction to Oracle Business Activity Monitoring (BAM). The first part focused on getting the information into a state that could be consumed by BAM (For this example we decided to employ a JMS queue). Now that we have data in the queue, let’s see how it can be consumed. Part 3 will then focus on how the data can be displayed in a Dashboard.
Step 1: Start the BAM Server
- If you’re following along using the Pre-built Virtual Machine for SOA Suite, open the BAM and SX folder on the virtual machine desktop and click Start Business Activity Monitoring.
- Monitor the log until you see <Server State Changed to Running>.
Step 2: Create an Outbound Connection Pool
We will reference this connection later on in BAM Composer when we define our Enterprise Message Source.
- Launch the WebLogic Admin Console. Log in using weblogic / welcome1.
- Select Deployments.
- Expand the BamServer node and select BeamAdapter.rar.
- Select the Configuration > Outbound Connection Pools tab:
- Create a New outbound connection pool configuration and select the oracle.tip.adapter.jms.IJmsConnectionFactory:
- Set the JNDI Name to eis/bam/PaymentQueue:
- Click OK to save the deployment plan:
- Opent the eis/bam/PaymentQueue connection factory and set the ConnectionFactoryLocation to jms/PaymentConnectionFactory.
- Set the FactoryProperties to:
java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory; java.naming.provider.url=t3://localhost:8001; java.naming.security.principal=weblogic; java.naming.security.credentials=welcome1;
For a deeper explanation of these settings, see: Creating an Outbound Connection JNDI.
- Return to Deployments and Update the BamServer.
Step 3: Create a Data Object
The Data Object will hold the data displayed in our dashboards. It will be populated by the Enterprise Message Source that we will create after the data object is created.
- Launch BAM Composer. Log in using weblogic / welcome1.
- Switch to the Administrator tab.
- Create a new Data Object named Payment.
- Set the Display Name to e2e_1201_composite/Payment. By prefixing the data object name with a folder name, the e2e_1201_composite sub-folder will be created.
- Set the Type to Simple Data Object.
- This data object will map to the PaymentForBAM.xsd that was created in Part 1 of this exercise. It will have 6 String columns and 2 Float columns.
- Set a Description. This is important as the business analysts that will be creating dashboards from these data objects need to understand what these data objects provide (so my example Description is too generic):
- Add columns to match the PaymentForBAM schema:
Step 4: Create the Enterprise Message Source
The Enterprise Message Source will retrieve messages from the PaymentQueue and populate the message contents into the Payment Data Object.
- Click the Enterprise Message Sources folder on the left, which will open the dialog to create a new EMS. Set the Name to PaymentEMS and the Display Name to e2e_1201_composite/PaymentEMS. Like with the data object, this will create a e23_1201_composite sub-folder:
- Select eis/bam/PaymentQueue as the Outbound Connection JNDI name. This was the outbound connection JNDI we defined when we created the Connection Pool above.
- Set Auto-Start to Yes.
- Set the Topic/Queue Name to jms/PaymentQueue:
XML Message Formatting
- Set the Message Element Name to PaymentAutorization (note the incorrect spelling) and set the Message Element Namespace to http://www.oracle.com/bampayment. This is the element and namespace defined in our PaymentForBAM.xsd:
Source To Data-Object Field Mapping
- Copy the Data Object Field names and paste them into the Tag/Attr Name field:
- Save and Start the PaymentEMS.
Step 5: Test
- Send a test message using Enterprise Manager Fusion Middleware Control and verify the message data made it to the PaymentValidation data object:
Excellent. Now we can start having some fun. Step 3 of this tutorial will cover the steps required to create a dashboard.