BPM 11g Samples
<Signal Event Sample>
Last Updated:
9-Feb-16
Version:
1.0
Status:
DRAFT
Copyright  2016 Oracle Corporation
All Rights Reserved
Oracle Confidential. For authorized use only. Do not distribute to third parties
Page 1 of 14
1. Document Control
1.1 Change Record
Date
Author
Version
Change Reference
30-Jan-13
Anirban Dey
1.0
First draft for internal access to the samples
Oracle Confidential. For authorized use only. Do not distribute to third parties
Page 2 of 14
Contents
1.
Document Control ..................................................................................................2
1.1
Change Record ....................................................................................................................... 2
2.
Environment Requirements ..................................................................................5
3.
Installation and Configuration .............................................................................6
3.1
Deploying the BPM and Task Form Projects ......................................................................... 6
4.
Samples Overview ..................................................................................................7
5.
Running the Samples ...........................................................................................14
Oracle Confidential. For authorized use only. Do not distribute to third parties
Page 3 of 14
Introduction
Oracle BPM11g includes Signal Events which allows the user to broadcast a message to all the processes in a BPM project. Only
the processes configured to listen to that signal react. The Oracle BPM 11g uses Oracle Event Delivery Network (EDN) to send
and receive signals. Oracle EDN delivers this event to all SOA components configured to listen to that specific signal. The
process that broadcasts the message has no information about the receivers. The user might add or remove processes that react to
a signal without impacting the process that broadcasts the signal.
In a similar way, the process that reacts to a specific message has no information about the processes that broadcast that message.
If the user add a process that broadcast a message to the BPM project, all the process waiting for that specific message react to it
without the user having to modify them.
The events that are used to broadcast a signal contain a payload that can be used to send information to all the processes
configured to react to this specific signal. To assign values to the payload in the event, the signal throw event data association
must be configured. This data association enables to pass the relevant data stored in the process and project data objects to the
event. When the corresponding processes receive the signal, they must obtain the data in the event using another data association.
This data association defines which data objects store the data in the event received in the signal start event.
This document describes an initial (small) set of samples provided to illustrate use of those Signal Events. The samples can be
deployed and run on an 11.1.1.7 environment.
Oracle Confidential. For authorized use only. Do not distribute to third parties
Page 4 of 14
2. Environment Requirements
The samples require JDeveloper version 11.1.1.7 with the SOA Composite Editor and BPM Studio extensions installed. A
standalone server with BPM Suite 11.1.1.7 and a domain configured with BPM Suite is required for deployment and running the
samples.
There are no external configuration requirements (e.g. database connections).The BPM project is configured with swimlane role
“Order Clerk” mapped to the user “jcooper”, and swim lane role “FulfillmentClerk” mapped to the user “jstein”.
Oracle Confidential. For authorized use only. Do not distribute to third parties
Page 5 of 14
3. Installation and Configuration
The samples are 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:
SignalEventSamples.jws. The application contains 2 projects:

SignalEventSampleProject – BPM project that includes processes and human tasks and
timer events.

SignalEventSampleUI – Task form project for the human task used in the samples.
3.1 Deploying the BPM and Task Form Projects
From the Application Navigator deploy the BPM and the Task Form Projects.
Oracle Confidential. For authorized use only. Do not distribute to third parties
Page 6 of 14
4. Samples Overview
A simple BPM process (SignalEventSampleProcess) along with a re-usable subprocess (CatchOrderCreated) is provided to
illustrate features and usage of the BPM11g Signal Events.
Oracle Confidential. For authorized use only. Do not distribute to third parties
Page 7 of 14

The parent process (signaleventsampleprocess) starts with an initiator task “Create Order”. Upon completion of this task,
the process publishes a signal event “New Order” targeted for the re-usable sub-process “catchordercreated”.

Creating a new Event:
-Navigate to the BPM project navigator-Business CatalogEventsRight click on it to create a new event “New
Order”
-
Define the event type. Browse the element and select the event type.
Oracle Confidential. For authorized use only. Do not distribute to third parties
Page 8 of 14

Configuring the Signal Event :
-From the Component pallet, from the Throw Event section, select “Signal”. Drop the signal event “Publish Order
Created Event” just after the initiator task.
-Right click on the signal event and select properties.
-Select the “Implementation Tab”.
-Click the Browse button next to the event field. The Type dialog appears.
-Select the newly created event “New Order”. Click ok.
Oracle Confidential. For authorized use only. Do not distribute to third parties
Page 9 of 14
-The signal event should contain a payload that are used to broadcast a signal contain a payload that can be used to send
information to all the processes configured to react to this specific signal.
- Click on the data association link to configure the data association for the signal event.
-Assign values to the payload in the signal event, so that it can pass the relevant data stored in the process and project
data objects to the event.

Process of Broadcasting a Signal Event:
- When the BPMN Engine runs a throw or an end signal event, it published an event to Oracle EDN. Oracle EDN
delivers this event to all SOA components configured to listen to that specific signal.

Configuring the re-usable sub-process that reacts to signal event:
-
The re-usable sub-process starts with a catch signal event “Subscribe to Order Created Event”, that listens to the
published event “New Order”.
-
Click on the data association link of the catch signal to configure the data association.
-
Assign values to the payload in the signal event, so that it can pass the relevant data stored in the process and project
data objects to the event.
Oracle Confidential. For authorized use only. Do not distribute to third parties
Page 10 of 14
-
Upon completion of the human task “Fulfill Order”, the re-usable process publishes a new throw event “Publish
Order Fulfill Event” targeted for the main process.
-
Configure a new throw event “Publish Order Fulfill Event” in the same way as the previous signal event i.e.

Navigate to the BPM project navigator- >Business Catalog->EventsRight click on it to create a
new event “Fulfill Order”.

Right click on the signal event and select properties.

Select the “Implementation Tab”.

Click the Browse button next to the event field. The Type dialog appears.

Select the newly created event “Fulfill Order”. Click ok.
Oracle Confidential. For authorized use only. Do not distribute to third parties
Page 11 of 14

The signal event should contain a payload that are used to broadcast a signal contain a payload
that can be used to send information to all the processes configured to react to this specific signal.

Click on the data association link to configure the data association for the signal event.

Assign values to the payload in the signal event, so that it can pass the relevant data stored in the
process and project data objects to the targeted catch event “Receive Fulfill Order Event” in the
main process.
Oracle Confidential. For authorized use only. Do not distribute to third parties
Page 12 of 14

Sending signal to the main process from the re-usable sub-process
-In the main process, drop a catch signal event “Receive Fulfill Order Event” just after the throw event.
-Right click on the catch signal event and select properties.
-Select the “Implementation Tab”.
-Click the Browse button next to the event field. The Type dialog appears.
-Select the newly created event “Fulfill Order”. Click ok.
- Click on the data association link to configure the data association for the catch signal event.
Oracle Confidential. For authorized use only. Do not distribute to third parties
Page 13 of 14
5. Running the Samples

Inside BPM Workspace, log in as swim lane role “Order Clerk, user id “jcooper”.

Click on the task.The system launches a Task UI. Fill the details of the order. Click on
the submit button.

Inside the BPM workspace, login as swim lane role “Fulfillment Clerk”, user id “jstein”.

The user “jstein” should be able to see the order submitted by order clerk (available
through signal subscription) for approval and clearance.

Click on the approve button.

Inside BPM Workspace, log in as swim lane role “Order Clerk, user id “jcooper”. The
order clerk should be able to see the order clearance (available through signal
subscription) and complete the rest of the task.
Oracle Confidential. For authorized use only. Do not distribute to third parties
Page 14 of 14