Title: Business Events
1Business Events
- By Dheeraj Bhushan
- Getrinate Inc.
- Example from ACCO Brands
2What are Business Events
- What Oracle manual says A business event is an
occurrence in an internet or intranet application
or program that might be significant to other
objects in a system or to external agents. - Example For instance, the creation of a purchase
order is an example of a business event in a
purchasing application.
3Examples
- Business
- Supply Chain
- Received an Order
- Prepare Order
- Schedule Shipper
- Ship an Order
- Healthcare
- New Patient
- Appointment request
- Charitable
- Received a Pledge
- Application
- Order Management
- Order is Entered
- Order is Booked
- Order is Reserved
- Shipping Execution
- Deliveries Created
- Trip is Assigned
4History
- SNMP protocol released in 1988
- Message Queues in Operating System
- Advent of MOMs (Message Oriented Middleware)
- Messaging standardization via JMS release with
JDK 1.3.1 in 2000 - SNMP v3 released in 2004
5Oracle Business Events
- The Oracle Workflow Business Event System is an
application service that leverages the Oracle
Advanced Queuing (AQ) infrastructure to
communicate business events between systems. - The Business Event System consists of the Event
Manager and workflow process event activities.
6Subscriptions for Business Events
- Events that trigger custom code
- Events that send information to Workflow
- Events that send information to other queues or
systems
7Uses of Business Events
- System integration messaging hubs
- Distributed applications messaging
- Message-based system integration
- Business-event based workflow processes
- Non-invasive customization of packaged
applications
8How to?
- Design your Business Event/s
- Define your event
- Example of Invoking and Consuming a Business
Event
9Use Case Analysis
- Define the issue in problem domain
(Business/Technical) - Identify the technical transition point before
and after the problem identification - Solution the problem
- Identify data requirements
- Identify solution path
- Validate solution
- Register a business event for the problem
- Associate the business event with the solution
10Design Considerations for Business Events
- Do you see a problem that spans two or more
systems, - Usually interfaces across two applications?
- Do you see a problem that you need to resolve in
a more generic fashion, i.e. reusable components? - How to approach such problems?
11Design Events
- Define your event hierarchy
- Company Top level Company.Sub Company/
Business/ SBU - Company.Application.Module.Event Group.Event
- Example event following the above convention
- ACCO.OracleEBS.ONT.ShipSetLinesWorkflow.Invoke
12Defining a Business Event
- User Interface Use this for Initial creation
- Workflow Administrator Responsibility
- Developer Studio ? Business Events tab page
- Developer Studio ? Subscriptions link
- API based Use this to automate.
- WF_EVENTS_PKG
- GENERATE and RECEIVE
- WF_EVENT_SUBSCRIPTIONS_PKG
- GENERATE and RECEIVE
13Invoke and Consume Business Events
- The steps for this example are presented as
- Problem description
- Register the Business Event (1 2 )
- Register Event Subscription (1,2 3)
- Solution discussion of the New Workflow
14Example Problem Description
- We had created a customization on Order Line
workflow to update Ship Method and Request Dates
prior to Scheduling. - However this workflow failed after the 11.5.10
CU2 upgrade. The error indicated that lines part
of a ship set can not have two different ship
methods. - As our update to lines is done for each line the
existing solution would not be able to work
around this restriction.
15Old Order Line Workflow Process
16Register Business Event 1
1. Login Role
2. Navigate to Developer Studio then switch to tab
3. Select Create Event Button
17Register Business Event 2
Finish
4. Specify Event Name and Display name
5. Specify Custom App name And Custom Schema Owner
18Register Event Subscription 1
Start
19Register Event Subscription 2
1. Add System Name
2. Add Event Name
3. Select Key
Next
4. Launch Workflow
20Register Event Subscription 3
Apply
5. Choose Workflow 6. Choose process
7. Specify Owner Name 8. Specify Custom Schema
21Solution Overview
- Order Lines workflow Queue data for a Ship Set
Line Workflows consumer queue - Last Line for the Ship Set on that Order invokes
the Business Event - Ship Set Line Workflow listens for this Event to
start processing the queue - After Ship Set Lines Workflow Completes. It sends
continue activity signal to all Ship Set Lines
22New Order Line WorkflowProcess Invoke Event
23Ship Set Lines WorkflowConsume Event
24Whats Next..
- BPEL and BPMN are two pervasive standards that
will change the future of currents events based
processing. - Events will be critical for internal routing and
integration of applications. - Although external integrations will depend mostly
on SOA suite technologies.
25Business Events to BPEL
- Complete Business processes
- BPEL process are event with source, action
destination, action response and error handling
definition - BPEL domains
- Process triggering event
- Events are state transition indicators
- Event Actions are based on subscription
- Event Groups
26References
- Oracle Workflow Developers Guide 2.6.3.5 (Part
B12161-02) - Message Oriented Middleware on Wikipedia at
http//en.wikipedia.org/wiki/Message_Oriented_Midd
leware - Java Messaging Service API overview at
http//java.sun.com/products/jms/overview.html - JMS Tutorial on java.sun.com
- OASIS web site at www.oasis-open.org
- Wikipedia at http//en.wikipedia.org/wiki/BPEL