1 Rainer v. Ammon 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
Mar 26, 2015
1Rainer v. Ammon
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
2Rainer v. Ammon
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
3Rainer v. Ammon
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
4Rainer v. Ammon
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.
5Rainer v. Ammon
monitoring of time-critical bottleneck factors
and transaction control
transparency over integrated represented
processes
representation of the effects of system availabilities and
-disturbances
process and system-linked emergency and
disturbance management
monitoring of SLA-compliance
WorkflowManagement
BusinessActivity
Monitoring
Managing and monitoring of processes and services mean ...
integration of external processes and services integration of external
processes and services
6Rainer v. Ammon
passwdchange
new auto payaccount login
account logindepositactivity history
withdrawal
logout
account login
account balance
transferdeposit new auto pay
enquiry
enquirylogout
passwdchange
new auto payaccount login
account logindeposit
activity history
withdrawal
logout
account login
transferdeposit new auto pay
enquiry
enquiry
logout
event cloud with thousands of events per sec…
…e.g. above a bank
Processes and services communicate viaa global event cloud
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 events4. Detecting patterns in the event cloud5. Abstraction of complex event pattern instances to higher level events
event patterns and complex event processing…
Senso
r 2
Senso
r 1
7Rainer v. Ammon
The Event Cloud and the „Event Tornado“Additional events are needed for modeling an interservices communication, for BAM and for a sufficient Business Insight
Today‘s existing event cloud and the IT-blindness
…
…
BusinessProcess1
BusinessProcessn …
exitService_1startedService_1
startedService_3exitService_3
startedService_2
exitService_2
startedService_4exitService_4
startedService_6
exitService_6
startedService_5
exitService_5
startedService_7
exitService_7
startedService_8exitService_8
Low level events without semantics
Visualization of the processed/correlated events via Business Activity Monitoring
8Rainer v. Ammon
AppServer
Monitor / Analyze / Act
WorkflowModeler
EventModeler
Enterprise cockpit
EventStore
realize scenarioprocess instances
set parameters
analysehistory…
Low Level Event Streams
Adapterse.g. RFID, topics of Pub/Sub, …
Normalized events,build business level events
Workflow Enginebased on BPEL
CEP Engine
„special“ SQLresp. other languages
IF …AND …FOLLOWED BY…WITHIN…ACTION
Model ^=Scenario
e.g. GPS-signale.g. payments show BAM-
view,trigger a BP,change BP-flow…
workflows
The Challenge and the Principle of ED-BPM – Reference Model
Domain specific reference models for event patterns
„unus mundus“
- Internetservices and their events
e.g. Traffic Message Controls
e.g. Weather Forecast
e.g. JMS pub/sub
e.g. RFID …
9Rainer v. Ammon
NEXOF-RA enhanced by ED-BPM
10Rainer v. Ammon
Categorizing of ED-BPM use cases
Process type Process instance
Action type
{list of domain specific processes}
{new, running, all}
{instantiate, stop, continue, terminate, change, new define}
Development of a taxonomy
Example: Use Case „Fraud-Management“ in the Banking-DomainAccording 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 >
11Rainer v. Ammon
A reference model of edBPM-based fraudmanagement – Software solutions, products
event cloud
CEP-engine
input: current and historic discriminant values
event filtering, enriching, correlating
decision tree
discriminant analysis
output evaluation
neural network
feed forward step
preclassification
. . .
. . .
. . .. . .transaction
processes
instance-1
instance-n
e.g. ATM‘s in Tokyo, Rome, Munich
e.g. Internet banking
adapter forevent type-1
adapter forevent type-n
needed to process thousands of events per sec
needed to reduce the amount of suspicious event patterns
needed to filter unkown suspicious event patterns
fraudsuspicious
not fraudsuspicious
suspend transaction process
. . .fraud management processes
alertalertalertsReal-time BAM, statistics…
known suspicious eventpatterns:
. . .
trigger fraudmanagementprocess
12Rainer v. Ammon
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
13Rainer v. Ammon
Pattern 1: Stop one or more running processes upon eventThis pattern solves the cases ? and ? of para. 3.2. This could be achieved by using the fault handling mechanism available in WS-BPEL 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 eventThis 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 periodThis 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 eventThis 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 eventThis 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.
. . .
edBPM-enhancements of standards, e.g. WS-BPEL
Master thesis Alex KofmanTechnion University Haifa
14Rainer v. Ammon
ShipmentCommonData
- @ShipmentType [1]- @Package [1..*]- ShipmentID [1]- +TrackingEvent [1..*]
PackageCommonData
- PackageID [1]- +DeliveryPoint [1]- +PostalAddress [1]
@ ShipmentTypeData- Shipment- Transmittal- Reconsignment- Forewarding- ...
EventCommonData
OrderEventType
- OrderID [1]- +Shipment [0..*]- +Service [0..*]- +Customer [1]- +Regulator [1..*]
OrderEvent
- @MajorVersion [1]- @MinorVersion [0..1]- @FixVersion [0..1]
CustomerCommonData
- @Gender [0..1]- CustomerID [1]- +PostalAdress [1..*]- +TelephoneNumber [1 ..*]- Email [0..*]- +BirthDay [0..1]
@ Gender- Male- Female
ServiceData
- ServiceID [1]- SeviceName [1]- +Partner [0..*]
PostalAddressCommonData
- <choice>- +Name [0..1]- +Organization [0..1]- </choice>- +Address [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]
PostalAddressCommonData
- <choice>- +Name [0..1]- +Organization [0..1]- </choice>- +Address [1]
NameCommonData
- GivenName [1]- SurnamePrefix [0..1]- Surname [1]- NameQualifier [0..1]- Qualification [0..*]- FormOfAddress [0..1]- Function [0..1]
OrganizationalCommonData
- OrganizationUnit [0..1]- OrganizationName [1]- LegalStatus [0..1]- MaileeRoleDescriptor [0..1]
AddressCommonData
- 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]
DeliveryCommonData
- DeliveryServiceQualifier [0..1]- DeliveryServiceIndicator [0..1]- DeliveryServiceType [0..1]- SupplementaryDeliveryPointData [0..1]- DefiningAuthority [0..1]- BuildingConstructionType [0..1]- BuildingConstruction [0..1]- ExtensionIdentifier [0..1]
ThorougfareCommonData
- SecondaryThoroughfareType [0..1]- SecondaryThoroughfareName [0..1]- ThoroughfareType [0..1]- ThoroughfareQualifier [0..1]- ThoroughfareName [0..1]
@TypeCode- CustomIdentifiedEvent
-CustomerAddedEvent
OperatorCommonData
-@OperatorName[0..1]-@WorkerID[0..1]-@OperatorType[0..1]
CustomerEvent
- @MajorVersion [1]- @MinorVersion [0..1]- @FixVersion [0..1]
-@TypeCode[1]
SourceURIType
BusinessUnitCommonData
-@Name[1]-@TypeCode[1]
DateTimeCommonData
-@TypeCode [1]
CustomerEventType
-@TypeCode[1]-+Customer[1]-+Operator[0..1]-+Workstation[0..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]
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]
Customer Event Domain Model of NEARetail
“Common Postal Address” Architecture of NEALogistics
Order Event Architecture
TrackingEventType
- @TrackingType [1]- TrackingID [1]
ShipmentCommonData
- @ShipmentType [1]- @Package [1..*]- ShipmentID [1]- +TrackingEvent [1..*]
PackageCommonData
- PackageID [1]- +DeliveryPoint [1]- +PostalAdress [1]
@TrackingTypeData- PickupEvent- CommitalEvent- DepartureEvent- EntryEvent- DeliveryLineEvent- DeliveryEvent- EscapeEvent
@ ShipmentTypeData- Shipment- Transmittal- Reconsignment- Forewarding
TrackingEvent
- @MajorVersion [1]- @MinorVersion [0..1]- @FixVersion [0..1]
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]
Tracking Event Architecture
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]
CustomerCommonData
- CustomerID [1]- @Gender [1]-+Name [1]-+Address [1..2]-+TelephoneNumber [1..2]- Email [0..1]- Birthday [1]
InternalAccountCommonData
- AccountNo [1]- @AccountType [1]- BankCode [1]- IBAN [1]- BIC [1]
DebitCardCommonData
- CardNo [1]- @CardType [1]- ValidTo [1]
AccountTransactionType
- 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]
ExternalAccountCommonData
+ Name [1]<option><optionNational>- AccountNo [1]- BankCode [1]</optionNational><optionInternational>- IBAN [1]- BIC [1]</optionInternational></option>
CreditCardCommonData
- CardNo [1]- @CardType [1]- Vendor [1]- Limit [1]- ValidFrom [1]- ValidTo [1]- CVC2 [1]
CardCommonData
-+Name [1]
AccountTransactionEvent
- @MajorVersion [1]- @MinorVersion [0..1]- @FixVersion [0..1]
@AccountType- Checking Account- Interest Checking Account- Money Market Account- Savings Account- Certificate of Deposit...
@TransactionType- Incoming Payment- Withdrawal- Withdrawal ATM- Withdrawal Check- Check Payment- Savings Transfer- Debit Interest- Credit Interest- ...
@PostingType- Debit Posting- Credit Posing
@TransactionState- Posted- Declined- Booked
@CardType- American Express - Diners Club - Visa- Mastercard- ...
@CardType- Maestro- Visa- Mastercard- ...
AddressCommonData
<choice>+Name [0..1]+Organization [0..1]</choice>+Address [1]
AccountCommonData
Model of the “AccountTransactionEvent” of NEAFinance
Domain-specific Notification Event Architectures – Existing and future standards
15Rainer v. Ammon
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
16Rainer v. Ammon
Dissemination
17Rainer v. Ammon
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
18Rainer v. Ammon
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.
The business modeller and the event modeller – different qualifications not in personal union
19Rainer v. Ammon 19
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-WorkshopServiceWave 2008, Madrid, December 10 – 13, 2008
8th edBPM Expert MeetingRegensburg, Germany, December 8 – 10, 2008
Rainer v. Ammon, Andreas HehmannMainz, 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 WolffVienna, 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. AmmonNew 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. AmmonIrsee Monastery, Bavaria, Germany, July 9 - 13, 2008
Focus Group for EuroPLoP 2008Domain-specific Complex Event and Rule Patterns
http://hillside.net/europlop/Agenda for the focus group...
20Rainer v. Ammon
Thanks for your attention!