You are on page 1of 10

BAM (Business Activity Monitoring)

Business Activity Monitoring is a tool that is useful in monitoring business services and
processes. It actively collects data, applies rules and reports information to users. When
something goes wrong in business processes, BAM can be configured to take
corrective measures such as emailing administrators/support team.
How does BAM interface with other SOA APPLICATIONS?
BAM uses Data Objects to capture and store information from other sources. It uses Real Time Data
Streaming to stream data through Oracle BAM Adapter, JMS connector, ODI or web service API.
We are going to explore the features of BAM through a simple use-case as shown below :

Description: Employee information is sent to BAM Example Process (BPEL). BPEL sensors sends
this information through BAM Adapter to populate Employee Data Object in BAM. Employee Dashboard
report will capture this information and show in the form of a 3D Bar chart.
Steps to implement use-case:
1. Create Employee Data Object
2. Create BAM Report
3. Configure BAM Adapter
4. Create BPEL Sensor Activity and Sensor Action

1. Create Employee Data Object

Open BAM console using http://<yourhost>:9001/OracleBAM

Open BAM Architect

Click on "Create Data Object" and enter "Employee" in the name field.

Click on "Add Field" and add following fields: id (Auto-incrementing Integer), name (String),
department (String).

Click on "Create Data Object" to finish creation. You can optionally create a sub-folder to hold
Employee object.

Make sure Employee object is visible under Data Objects section.

2. Create BAM Report

Open Active Studio

Click on "Create a New Report".

Click on first option: Single tiled Report.

Enter "Employee Dashboard" for Report title and select "3D Bar Chart" as report type.

Select "Employee" object from Data Objects section at the bottom and click on Next button.

Select Department in Group By section, id in Chart Values and Count in Summary


Function(s). Click on Next and then Finish button.

Save this report and it will be visible through "Recent Reports" in Home tab. This report now
shows Employee count grouped by Department.

3. Configure BAM Adapter

Open Weblogic Server Administration Console.

From left side Domain Structure section, select Deployments.

Search and select "OracleBamAdapter".

Click on "Configuration" and "Outbound Connection Pools" from OracleBamAdapter settings


page.

We can see predefined connection pools for RMI and SOAP connections. Expand both
connection factory links. We need to configure these connection pools to use BAM server.

Important: Repeat following steps for both "eis/bam/rmi" and "eis/bam/soap".

Open eis/bam/rmi link and enter outbound connection properties as follows. Replace connection
parameters as per your installation. Hit Enter key after entering each property value. Click on
Save once youve finished.

Open eis/bam/soap and enter connection parameters as follows. Hit Enter key after entering
each property value. Click on Save once youve finished.

Note: The Username field should contain an Oracle BAM user who is a member of application-level role
Administrator or Report Architect. Weblogic user by default is an Administrator.

Click on OracleBamAdapter from Deployments page. Go to Control tab. Select


OracleBamAdapter, click on Stop and then Start buttons. Now, Oracle BAM Adapter is ready for
use.

4. Create BPEL Sensor Activity and Sensor Action

Create an empty Generic Project and name is BAM Example.

Import following employee.xsd file into BAM Example project.

Create one-way BPEL process and name it BAMExampleProcess. Select Employee element
from Project Schema Files for Input message for the service.

Double click on BAMExampleProcess in composite.xml to open the BPEL process.

Click on Monitor button at the top right corner of the process window to change to Monitor view.

Right click on receiveInput activity and create sensor.

Change Evaluation Time to Completion. This will activate sensor after the completion of
receiveInput activity. Select Employee element for input Variable as shown below.

From BAM Example Process Structure window, right click on Sensor Actions and Creatte > BAM
Sensor Action

Select ActivitySensor_1 for Sensor property. Choose Employee Data Object from BAM Data
Object Chooser.

Select Insert as Operation type. One other interesting operation is Upset that stands for
Update/Insert. This operation creates an object if one does not exist or updates an existing one.

Ensure BAM Connection Factory JNDI value is eis/bam/rmi. We can specify eis/bam/soap in
case BAM and BPEL servers are separated by a Firewall.

Create a new mapping between BAM data object and BPEL input variable as shown below.

Establish XPATH mapping.

Click on OK to close Sensor Action creation Dialog.

Right click on BAM Example bpel process and deploy to SOA Server.

Test BAM Example process

Go to BAM Example in Enterprise Manager and Test the process.

Enter Oracle1 and ORACLE for name and department respectively. Click on Test Web Service.

Open BAM Active Viewer. Click on Select Report and choose Employee Dashboard report we
saved earlier. We can see the updated graph. Experiment with different values.

You might also like