This document provides an overview and instructions for a sample that demonstrates integrating Oracle BPM processes with the SOA Event Delivery Network (EDN). The sample includes two BPM processes: one that publishes an EDN event and another that subscribes to an EDN event to start a new process instance. It also shows how a process can use a correlated EDN event within an event subprocess. The sample is provided as a JDeveloper application and requires deploying to a BPM Suite server. Running the sample illustrates publishing an EDN event, starting a process by subscribing to an event, and receiving a correlated event within a process.
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
BPM 11g Sample Shows How to Integrate EDN Events
1. Samples are provided as-is with no warranty Page 1 of 7
BPM 11g Samples
BPM-102-EDN-Integration
Copyright 2012 Oracle Corporation
All Rights Reserved
2. Samples are provided as-is with no warranty Page 2 of 7
Contents
1. History.....................................................................................................................3
2. Introduction............................................................................................................4
3. Environment Requirements..................................................................................5
4. Installation and Configuration .............................................................................5
4.1 Deploy the Composite Project ...............................................................................................5
5. Sample Overview ...................................................................................................6
6. Running the Sample...............................................................................................7
3. Samples are provided as-is with no warranty Page 3 of 7
1. History
Date Version Change Reference
Jun-10-2012 1.0 First release of sample
4. Samples are provided as-is with no warranty Page 4 of 7
2. Introduction
A frequently asked question is whether BPM processes can make use of SOA Event Delivery
Network (EDN) Events. EDN allows publish and subscribe interactions between SOA
components without exposing the details of the transport. Events are typed based on XML
Schema and named via an EDL file. Additional details about EDN can be found in:
SOA Developers Guide:
http://docs.oracle.com/cd/E23943_01/dev.1111/e10224/obe_intro.htm#CHDIBHBE
BPM Modeling and Implementation Guide:
http://docs.oracle.com/cd/E23943_01/doc.1111/e15176/ipc_bpmpd.htm#BHBFADAC
Within BPM processes, EDN integration is supported and is surfaced through BPMN signal throw
and catch events. The following diagram illustrates that the “implementation” of a signal is
selecting the associated EDN event, providing the output data association, and (optionally)
specifying the correlation:
The mapping of BPNM signals to EDN events enables the following integration scenarios:
1. Starting a BPM process instance based on subscription to an EDN event via a BPMN signal
start event.
2. Throwing (publishing) an EDN event via a BPMN signal throw or end event.
3. Receiving a correlated EDN event via a BPMN signal catch event.
Note: in this release there are two limitations to be aware of:
1. Currently you cannot use BPMN signal events to communicate within the same process.
2. You cannot subscribe to uncorrelated EDN events using a BPMN signal catch event. You can
only use uncorrelated EDN events to start a process instance (i.e. any subscription within an event
subprocess must be correlated).
5. Samples are provided as-is with no warranty Page 5 of 7
3. Environment Requirements
This sample requires JDeveloper version 11.1.1.6 or higher with the SOA Composite Editor and
BPM Studio extensions installed. A standalone server with BPM Suite 11.1.1.6 (or higher) and a
domain configured with BPM Suite is required for deploying and running the sample.
4. Installation and Configuration
The sample is provided as a zipped JDeveloper application. The application can be unzipped into
any location where the path name does not include spaces. To open the application, use the
“Application Open” menu and locate the file: bpm-102-EDN-integration.jws. The application
contains 2 projects:
BpmEdnIntegrationSample – A BPM project that includes two BPM processes used to
illustrate EDN integration.
Resources – A generic project that contains documentation and ANT build targets to
package this sample.
4.1 Deploy the Composite Project
Use JDeveloper to deploy the composite. EDN is preconfigured in SOA domains. So no
additional configuration of EDN is required.
After deployment, you should be able to see auto-registered EDN subscriptions for the sample
processes in Enterprise Manager (EM):
6. Samples are provided as-is with no warranty Page 6 of 7
5. Sample Overview
The goal of this sample is to illustrate the 3 EDN integration scenarios described in the
introduction. The following reflects the order used within the sample.
1. Throwing (publishing) an EDN event. The OrderProcess is started with a message receive
event and the process immediately publishes an OrderCreatedEvent via a BPMN signal throw.
This results in a publish of then associated EDN event.
2. Starting a process on receipt (subscription) of an EDN event. The CreateOrderEventListener
process includes a BPMN start signal event which is mapped to an OrderCreatedEvent
subscription. This causes an instance of the CreateOrderEventListener to be created. Note
that this is pub/sub so the OrderProcess is decoupled from the CreateOrderEventListener
process and other components could also have subscribed to the same event.
3. The OrderProcess has a correlated BPMN signal catch event within the event subprocess. In
this case the correlation key is the orderId. This results in the OrderUpdatedEvent being
received only by the originating OrderProcess. Note that other components could also
subscribe to this event (i.e. EDN is not aware of the correlation). However only the BPM
instance with the matching correlation key will receive the event.
1
2
3
7. Samples are provided as-is with no warranty Page 7 of 7
6. Running the Sample
To run the sample, log into Enterprise Manager (EM) and navigate to the Test Page for the
BpmEdnIntegrationSample project. Enter an orderId and then select “Test Web Service”.
In the audit trail you will see:
1. The publishing of the OrderCreatedEvent, which causes an instance of the
CreateOrderEventListener process to be created.
2. The OrderUpdateEvent being published and received by the original OrderProcess, which
then results in the human task being withdrawn (from within the event subprocess).