Transcript Folie 1

Event-Driven Business Process Management
Reference Model, Reference Architecture,
Business Processes and Internet Services,
Domain Specific Reference Models
for Event Patterns and Use Cases
Development of an edBPM-Platform
Rainer v. Ammon
1
Agenda

The forecast of edBPM for the next decades

edBPM – a combination of two disciplines: Business Process
Management (BPM) and Complex Event Processing (CEP)

A reference model for edBPM – how its components work together

edBPM-enhancements of the NEXOF-Reference Architecture

edBPM-enhancements of modeling and execution standards

Domain-specific standards for Notification Event Architectures

Standardising Event Processing Languages

Domain-specific reference models for use cases and event patterns

edBPM-based software solutions and products
Rainer v. Ammon
2
The forecast of ED-BPM for the next decades
The forecast of Prof. David Luckham…

… we need skilled people at least up to 2050…

… we are only at the end of the period of Simple CEP
Rainer v. Ammon
3
The forecast of ED-BPM for the next decades
The warning of Roy Schulte (VP of Gartner)
since 2006…

…we won‘t have enough skilled people who would be
able to do all the jobs and projects
The statement of Prof. Mani Chandy/California
Techical University at the Gartner Event
Processing Summit 2007…

…The work of IT during the next twenty years will be to
complete the evolution of business processes from
sequences of slow-moving, disjointed applications to more
responsive end-to-end, event-based straight-through flows of
action.
Rainer v. Ammon
4
Managing and monitoring of processes and services mean ...
representation of the
effects of system
availabilities and
-disturbances
monitoring of time-critical
bottleneck factors
and transaction control
Workflow
Management
process and systemlinked emergency and
disturbance management
Business
Activity
Monitoring
transparency over
integrated represented
processes
integration of external
processes and services
monitoring of
SLA-compliance
integration of external
processes and services
Rainer v. Ammon
5
Processes and services communicate via
a global event cloud
event cloud with thousands of events per sec…
passwdchange
new auto pay
deposit
transfer
enquiry
deposit
new auto pay
logout
account login
enquiry
account login
account login
withdrawal
deposit
new auto pay
activity history
logout
passwdchange
event patterns and complex event processing…
account login
withdrawal
account balance
deposit
transfer
enquiry
account login
enquiry
new auto pay
account login
logout
activity history
logout
…e.g. above a bank
The important steps:
1. Redesign the business processes for SOA and BPM
2. Make a SOA, identify services, build WSDL-interfaces…
3. Precise description of patterns of events
4. Detecting patterns in the event cloud
5. Abstraction of complex event pattern instances to higher level events
Rainer v. Ammon
6
The Event Cloud and the „Event Tornado“
Additional events are needed for modeling an interservices communication,
for BAM and for a sufficient Business Insight
startedService_7
startedService_6
Today‘s existing event cloud
and thestartedService_5
IT-blindness
startedService_4
exitService_4
exitService_5
exitService_6
startedService_8
exitService_8
Low level events
without semantics
exitService_7
startedService_1
exitService_1
startedService_2
exitService_2
…
BusinessProcess1
startedService_3
exitService_3
…
Visualization of the
processed/correlated
events via Business
Activity Monitoring
BusinessProcessn
…
Rainer v. Ammon
7
The Challenge and the Principle of ED-BPM – Reference Model
Enterprise cockpit
Workflow
Modeler
Event
Modeler
realize scenario
process instances
Domain specific
reference models
for event patterns
set parameters
Monitor / Analyze / Act
Workflow Engine
workflows
„unus
mundus“
Internet
services
and their
events
Low Level
Event Streams
Model ^=
Scenario
analyse
history…
Event
Store
based on BPEL
CEP Engine
„special“ SQL
resp. other languages
AppServer
Normalized events,
build business level events
Adapters
e.g. RFID, topics of
Pub/Sub, …
e.g. JMS pub/sub
e.g. GPS-signal
e.g. Traffic Message Controls
e.g. Weather Forecast
e.g. RFID …
e.g. payments
IF …
AND …
FOLLOWED BY…
WITHIN…
ACTION
show BAMview,
trigger a BP,
change BP8
Rainer v. Ammonflow…
NEXOF-RA enhanced by ED-BPM
Rainer v. Ammon
9
Categorizing of ED-BPM use cases
Development of a taxonomy
Process type
Process
instance
Action type
{list of domain specific
processes}
{new, running,
all}
{instantiate, stop, continue,
terminate, change, new
define}
Example: Use Case „Fraud-Management“ in the Banking-Domain
According to the reference model of edBPM-based Fraud-Management, we describe a simple example of the process
“Withdraw” in connection with a potential event pattern of fraud and related processes in order to exemplify the
edBPM principle:
1. An instance of a transaction process is started in the case of withdrawing at a certain ATM.
2. A lot of process instances of the same type are instantiated in a more or less short/certain timeframe at different ATM’s.
3. Each process step generates an event, if so of different event types (JMS publish/subscribe, special ATM-banking event
type according to the banking standard “<…> ”
4. The global event cloud is analyzed in real-time by the CEP-system and optionally by some “intelligent” components like
discriminant analysis and neural networks. A suspicious event pattern is detected because the login-data respectively the
card is used more than once and at different locations in a timeframe whereas a service is called in order to check the
probability that the same customer could use the same card at the different locations.
5. …< see BPM09 paper >
Rainer v. Ammon
10
A reference model of edBPM-based fraud
management – Software solutions, products
fraud management processes
Real-time BAM,
statistics…
...
...
alert
alert
alerts
output evaluation
neural
network
needed to filter
unkown suspicious
event patterns
feed forward step
input: current and historic
discriminant values
not fraud
fraud
suspicious
suspicious
preclassification
needed to reduce the
amount of suspicious
event patterns
discriminant analysis
decision tree
needed to process
thousands of
events per sec
trigger fraud
management
process
event filtering, enriching, correlating
...
adapter for
event type-1
CEPengine
known suspicious event
patterns:
adapter for
event type-n
suspend
transaction
process
event
cloud
transaction
processes
instance-1
...
instance-n
...
...
e.g. ATM‘s in Tokyo, Rome, Munich
Rainer v. Ammon
e.g. Internet banking
11
Modelling of the use cases
Typical workpackages before implementing PoC’s:
•
SOA-appropriate BP-modeling of the use cases per domain
•
Event-modeling of the use cases and instrumenting process steps and
services for an appropriate event generating
•
Definition of BAM-views per use case
•
Description of reference models per use case according to the
edBPM/DoReMoPat-pattern framework
Rainer v. Ammon
12
edBPM-enhancements of standards, e.g. WS-BPEL
Pattern 1: Stop one or more running processes upon event
This pattern solves the cases ? and ? of para. 3.2. This could be achieved by using the fault handling mechanism available in WSBPEL In order to activate the corresponding fault handler we can the use event handler that is activated by a complex event
occurrence. The event handler throws a fault that stops all the currently running activities. A strong benefit of using loosely
coupled event-driven solution is the ability to stop any number of running processes upon a single event: all the processes
subscribed to this event will be affected. This is opposed to a ‘conventional’ peer-to-peer approach that would require explicit
sending a request to each one of the processes that should be stopped.
Pattern 2: Start a new process instance upon event
This pattern solves the cases ? and ? of para. 3.2. Standard WS-BPEL allows starting a new process instance upon an incoming
message (via the receive element). We extend the receive element with the ability to specify an event name or an event pattern
instead of a message. In order to activate a new process instance the enhanced receive version could be used. If there are several
possible events or messages that should start the same process the pick element can be used in a similar manner.
Pattern 3: Activate a task or a process in the absence of the expected event
within some time period
This pattern solves the cases ? and ? of para. 3.2. The absence of some event is an event pattern by itself. It can be specified
in an event processing language and detected by an event processing system. Therefore, this pattern is a special case of the
above one (start a new process upon event).
Pattern 4: Suspend a process and resume upon event
This pattern solves the cases ? and ? of para. 3.2. This pattern can be implemented using one of the synchronous BPEL
constructs, i.e. receive or pick. For this specific use case (‘fraud’) pick is preferable because it allows handling time out
situations, that is what happens if the ‘false positive’ decision is never made.
Pattern 5: Start a process modification/adaptation upon event
Master thesis
Alex Kofman
Technion University Haifa
This pattern solves case 10 of para 3.2. The pattern can be implemented using the enhanced version of the event handler mechanism. The
event handler is activated upon an instance of the specified trigger event (e.g. ‘Too Many False Positives’). The enclosed activity can modify
the BPEL variable that participates in ‘fraud detection’ pattern calculation, or submits an update request to the event processing system. If the
case requires modifying the workflow, the workflow adjustment could be considered as a separate process that is started upon this event. As
soon as the new process version is available, it will be activated. The process and possible issues of activating a modified process in presence of
an older version of the process is out the scope of this paper.
...
Rainer v. Ammon
13
Domain-specific Notification Event
Architectures – Existing and future standards
DeliveryCommonData
ThorougfareCommonData
- DeliveryServiceQualifier [0..1]
- DeliveryServiceIndicator [0..1]
- DeliveryServiceType [0..1]
- SupplementaryDeliveryPointData [0..1]
- DefiningAuthority [0..1]
- BuildingConstructionType [0..1]
- BuildingConstruction [0..1]
- ExtensionIdentifier [0..1]
- SecondaryThoroughfareType [0..1]
- SecondaryThoroughfareName [0..1]
- ThoroughfareType [0..1]
- ThoroughfareQualifier [0..1]
- ThoroughfareName [0..1]
DateTimeCommonData
-@TypeCode [1]
EventCommonData
AddressCommonData
NameCommonData
- GivenName [1]
- SurnamePrefix [0..1]
- Surname [1]
- NameQualifier [0..1]
- Qualification [0..*]
- FormOfAddress [0..1]
- Function [0..1]
- SupplementaryDispatchData [0..1]
- AddresseRoleDescriptor [0..1]
- Door [0..1]
- Floor [0..1]
- Wing [0..1]
- +DeliveryData [0..1]
- StreetNumberOrPlot [0..1]
- +Thorougfare [0..1]
- District [0..1]
- Town [0..1]
- ProximateTown [0..1]
- Region [0..1]
- Country [0..1]
- Postcode [1]
CustomerCommonData
-@Gender [0..1]
-<choice>[0..1]
-CustomerID[1]
-+CustomerDemographic[1]
-+IDDemographicDataPair[1]
-</choice>[1]
-+Name[0..1]
-+Address[0..1]
-+TelephoneNumber[0..1]
-+Email[0..1]
-PrivacyOptOut[0..1]
-BirthDayMonth[0..1]
-BirthYear[0..1]
OrganizationalCommonData
- OrganizationUnit [0..1]
- OrganizationName [1]
- LegalStatus [0..1]
- MaileeRoleDescriptor [0..1]
- @Severity [0..1]
- @Priority [0..1]
- @Mode [0..1]
- SequenceNumber [1]
- +EventDateTime [1]
- EventDescription [0..1]
- SourceName [0..1]
- <choice>
- +SourceURI [1]
- SensorID [1]
- </choice>
- Instance [0..1]
- BusinessUnit [0..1]
- +OrganizationalHirarchy [0..1]
BusinessUnitCommonData
-@Name[1]
-@TypeCode[1]
SourceURIType
-@TypeCode[1]
OperatorCommonData
-@OperatorName[0..1]
-@WorkerID[0..1]
-@OperatorType[0..1]
CustomerEventType
-@TypeCode[1]
-+Customer[1]
-+Operator[0..1]
-+Workstation[0..1]
@TypeCode
- CustomIdentifiedEvent
-CustomerAddedEvent
PostalAddressCommonData
- <choice>
- +Name [0..1]
- +Organization [0..1]
- </choice>
- +Address [1]
CustomerEvent
- @MajorVersion [1]
- @MinorVersion [0..1]
- @FixVersion [0..1]
“Common Postal Address” Architecture of NEALogistics
EventCommonData
PostalAddressCommonData
- <choice>
- +Name [0..1]
- +Organization [0..1]
- </choice>
- +Address [1]
@ Gender
- Male
- Female
PackageCommonData
- PackageID [1]
- +DeliveryPoint [1]
- +PostalAddress [1]
CustomerCommonData
- @Severity [0..1]
- @Priority [0..1]
- @Mode [0..1]
- SequenceNumber [1]
- +EventDateTime [1]
- EventDescription [0..1]
- SourceName [0..1]
- <choice>
- +SourceURI [1]
- SensorID [1]
- </choice>
- Instance [0..1]
- BusinessUnit [0..1]
- +OrganizationalHirarchy [0..1]
- @Gender [0..1]
- CustomerID [1]
- +PostalAdress [1..*]
- +TelephoneNumber [1 ..*]
- Email [0..*]
- +BirthDay [0..1]
Customer Event Domain Model of NEARetail
EventCommonData
- @Severity [0..1]
- @Priority [0..1]
- @Mode [0..1]
- SequenceNumber [1]
- +EventDateTime [1]
- EventDescription [0..1]
- SourceName [0..1]
- <choice>
- +SourceURI [1]
- SensorID [1]
- </choice>
- Instance [0..1]
- BusinessUnit [0..1]
- +OrganizationalHirarchy [0..1]
PostalAddressCommonData
- <choice>
- +Name [0..1]
- +Organization [0..1]
- </choice>
- +Address [1]
PackageCommonData
- PackageID [1]
- +DeliveryPoint [1]
- +PostalAdress [1]
InternalAccount
CommonData
- AccountNo [1]
@AccountType
- @AccountType [1]
- Checking Account
- Interest Checking Account - BankCode [1]
- IBAN [1]
- Money Market Account
- BIC [1]
- Savings Account
- Certificate of Deposit
...
ExternalAccount
CommonData
+ Name [1]
<option>
<optionNational>
- AccountNo [1]
- BankCode [1]
</optionNational>
<optionInternational>
- IBAN [1]
- BIC [1]
</optionInternational>
</option>
EventCommonData
- @Severity [0..1]
- @Priority [0..1]
- @Mode [0..1]
- SequenceNumber [1]
-+EventDateTime [1]
- EventDescription [0..1]
- SourceName [0..1]
- <choice>
-+SourceURI [1]
- SensorID [1]
-</choice>
- Instance [0..1]
- BusinessUnit [0..1]
-+OrganizationalHirarchy[0..1]
AccountCommonData
ShipmentCommonData
- @ShipmentType [1]
- @Package [1..*]
- ShipmentID [1]
- +TrackingEvent [1..*]
@ ShipmentTypeData
- Shipment
- Transmittal
- Reconsignment
- Forewarding
- ...
OrderEventType
- OrderID [1]
- +Shipment [0..*]
- +Service [0..*]
- +Customer [1]
- +Regulator [1..*]
ServiceData
- ServiceID [1]
- SeviceName [1]
- +Partner [0..*]
@ ShipmentTypeData
@TrackingTypeData
- Shipment
- PickupEvent
- Transmittal
- CommitalEvent
- Reconsignment
- DepartureEvent
- Forewarding
- EntryEvent
- DeliveryLineEvent
- DeliveryEvent
TrackingEventType
- EscapeEvent
- @TrackingType [1]
- TrackingID [1]
- @ShipmentType [1]
- @Package [1..*]
- ShipmentID [1]
- +TrackingEvent [1..*]
@TransactionType
- Incoming Payment
- Withdrawal
- Withdrawal ATM
- Withdrawal Check
- Check Payment
- Savings Transfer
- Debit Interest
- Credit Interest
- ...
- TransactionID [1]
- @TransactionType [1]
-+Name [1]
- Description [1..4]
- Amount [1]
- @PostingType [1]
- PostingDate [1]
- ValutaDate [0..1]
- @TransactionState[1]
-+AccountSource [1]
-+AccountDestination [1]
-+Customer [1]
- AccountBalance[0..1]
-+Card [0..1]
@PostingType
- Debit Posting
- Credit Posing
TrackingEvent
- @MajorVersion [1]
- @MinorVersion [0..1]
- @FixVersion [0..1]
CreditCard
CommonData
- CardNo [1]
- @CardType [1]
- Vendor [1]
- Limit [1]
- ValidFrom [1]
- ValidTo [1]
- CVC2 [1]
@CardType
- Maestro
- Visa
- Mastercard
- ...
@CardType
- American Express
- Diners Club
- Visa
- Mastercard
- ...
CardCommonData
-+Name [1]
AddressCommonData
AccountTransactionType
ShipmentCommonData
DebitCardCommonData
- CardNo [1]
- @CardType [1]
- ValidTo [1]
<choice>
+Name [0..1]
+Organization [0..1]
</choice>
+Address [1]
CustomerCommonData
- CustomerID [1]
- @Gender [1]
-+Name [1]
-+Address [1..2]
-+TelephoneNumber [1..2]
- Email [0..1]
- Birthday [1]
AccountTransactionEvent
@TransactionState
- Posted
- Declined
- Booked
- @MajorVersion [1]
- @MinorVersion [0..1]
- @FixVersion [0..1]
OrderEvent
- @MajorVersion [1]
- @MinorVersion [0..1]
- @FixVersion [0..1]
Order Event Architecture
Tracking Event Architecture
Model of the “AccountTransactionEvent”
of NEAFinance
Rainer v. Ammon
14
Proposal for contributing to NESSI
Software+Services Platform
NESSI platform consists of nine working groups:
 Open Source
 Services Sciences
 Security, Trust and Dependability
 Software Engineering
 User Services Interactions
 Business Process Management
 Semantic Technologies
 Service Engineering
 Service Oriented Infrastructure
NESSI also founded a SME-working group.
NESSI has 3 "Committees" for the main foci "Future Internet",
"Standardisation" und "Strategic Research Agenda (SRA)".
We already contribute
Rainer v. Ammon
15
Dissemination
Rainer v. Ammon
16
The business modeler and the event modeler –
different qualifications not in personal union
A proposal for a curriculum of a new
international Master course of study
“Event-Driven Business Process Management”
1.
Description: Curriculum together with required credits
and examinations
Certificate: Master of Science
Programme Duration: Four Semesters (120 credits/cr)
Mastercourse-EDBPM-v02.doc
Rainer v. Ammon
17
The business modeller and the event modeller –
different qualifications not in personal union
Concept:
The course consists of the fields of study Business
Process Management, Complex Event Processing,
Business Activity Montoring included Business
Intelligence and Data Warehousing, Computer
Networks, Messaging as well as several application
disciplines like Algorithmic Trading, Supply Chain
Management in the retail domain, fraud detection in
the banking and insurance domain etc. All courses
are completed with course-related tests and Credits
(cr) according to European Credit Transfer System
(ECTS) are awarded. All courses are given in
English and are designed as distance
learning/eLearning courses.
Rainer v. Ammon
18
Dissemination and Previous Work
Examples of last contributions to conferences
edBPM/DoReMoPat
at FP7-ICT Proposers' Day 2009, January 22, Budapest
http://ec.europa.eu/information_society/events/cf/stream-items.cfm?id=20
edBPM exhibition SSOKU 2009
1st European Conference on Software Services and SOKU technologies, Brussels, January 13 – 14, 2009
edBPM-Workshop
ServiceWave 2008, Madrid, December 10 – 13, 2008
8th edBPM Expert Meeting
Regensburg, Germany, December 8 – 10, 2008
Rainer v. Ammon, Andreas Hehmann
Mainz, Germany, October 7 - 9, 2008
http://www.bpm-event.com/
"Event-Driven Business Process Management Taking the Example of Hamburger Sparkasse"
EDBPM-Haspa.ppt
Rainer v. Ammon, Christoph Emmersberger, Florian Springer, Christian Wolff
Vienna, September 28 - 30, 2008
FIS 2008 / 1st International Workshop on Complex Event Processing for Future Internet - Realizing Reactive Future
Internet "Event-Driven Business Process Management and its Practical Application Taking the Example of DHL"
FIS08_AmmonSpringer.pps
Rainer v. Ammon
New York/Stamford, September 17 - 19, 2008
4th EPTS symposium
"Proposal for a new Master course of study Event-Driven Business Process Management"
EDBPM-mastercourse.ppt
Adrian Paschke, Rainer v. Ammon
Irsee Monastery, Bavaria, Germany, July 9 - 13, 2008
Focus Group for EuroPLoP 2008
Domain-specific Complex Event and Rule Patterns
http://hillside.net/europlop/
Agenda for the focus group...
Rainer v. Ammon
19
19
Thanks for your attention!
Rainer v. Ammon
20