Database Reference
In-Depth Information
Direct integration of BAM and BPEL
The direct integration of BAM and BPEL is the most common use case and also the most
frequently demonstrated one in any SOA/OFM cookbook. It is also the most ineffective
rule-breaking implementation as it directly violates the Loose Coupling SOA principle.
where we discussed the SCA Service Broker and were particular about declaring a compre-
hensive process name at the beginning of the BPEL flow. The next step should be to assign
the runtime variables, including the process name. If we need to monitor SCA BPEL in-
stances in BAM, it would be best to inject BPEL Sensor (
http://docs.oracle.com/cd/
E28280_01/dev.1111/e10224/bp_sensors.htm
)
. To complete this part, we need to perform
the following steps:
1. Check our connection with the BAM server. If we do not have any, it is time to
create one:
File
|
New
|
Connections
|
BAM Connections
.
2. Go to the BAM Architect and declare the data object that we need to populate for
bam_data_objects.htm
). Different types of data objects are explained at
ht-
3. Back in SCA, in the BPEL structure console, locate the node for sensor variables
and create a BAM sensor, give it an appropriate name, and set the target variable.
After this, we are ready to configure the sensor's actions. In the
Structure
window, select
the sensor's actions and create a new one for BAM when the
Sensor Action
window ap-
pears. Then, set the action name and select
BAM DO
created in the BAM architect, and also
provide the operations (
Insert
) and keys. XSLT mapping is available at this stage for ad-
justing BPEL action data sources to
BAM DO
.
Technically speaking, this is it; we are done with the integration. In the next few steps, you
will deploy the application, test it, and verify that instances of data objects are pumping in-
to BAM. Finally, in the BAM active studio, you can assemble a beautiful report with a pie
chart and everything. The main point here is that we have a direct connection between
BPEL and BAM, and although it is perfectly operational, it is not exactly what we want in
production, especially for events monitoring.
BAM gives us several other options for data feed, and you can spot some of them right
away in the BAM Architect. Before you create a new data object, please look at the drop-
Search WWH ::
Custom Search