150 likes | 260 Views
Events and workflow – BPM Systems . Event Application symposium Parallel Session on Event processing in Workflows 13-15 th March 2006 Francis N Parr – IBM Research Hawthorne . ESB. ESB. Making business processes responsive to disengaged EVENT data . Transaction Choreography.
E N D
Events and workflow – BPM Systems Event Application symposium Parallel Session on Event processing in Workflows 13-15th March 2006 Francis N Parr – IBM Research Hawthorne
ESB ESB Making business processes responsive to disengaged EVENT data Transaction Choreography Process Choreography Internet with application and process servers 1995 - 2005 Events: Process & Data Choreography central transaction and database server 70’s - 80’s – early 90’s PDA data • Information gather- ing and automation • asynchronous • disengaged data • staged data filtering • pruning Sensors, RFID readers… Information and business process management - transactional - request / rsp Control nets,actuators … to be augmented with events Application history, data warehouse
Business Process Servers extended with Events coupled to ESB • Application and process servers harden business states into database and advance business process by updating this state in place • Events are disengaged, non updatable data, organized in streams, from many sources , not updatable ( reference data ), asynchronous • In Event Driven Architecture, application intelligence is organized into • Sense ( and emit ) of events and event patterns - from event middleware • Processing / business response – the middle steps of MAPE loop – supported by existing transactional, web, application servers • Event interfaces: • Event selection – by event consuming endpoint applications – specifying patterns of events to be detected by event middleware • Event mediations – Event Processing Networks – enrich events • Event emit • Role and value of Enterprise Systems Bus enhanced with events • Unifies reference data fetching with messaging, correlation, aggregation
Application integration triggers Event integration Sense state Event driven choreography SOA – includes EDA as a special case • SOA enables solution construction from loosely coupled components • Including application assembly from service and distributed object components • EDA for consumer directed assembly of useful information from lower level event messages from autonomous sources • Both using a common messaging substrate
EDA – levels of Event capability • Pure Publish Subscribe ( as in JMS today) • Events are persisted in the middleware for historical retrieval • push sources • alert and retrieve consumers • On demand event retrieval with multiple QOS,QOI • Two-way event propagation with Push-Pull sources and consumers • Event information processing - event brokers • Includes CEP, correlation, aggregation • Targeted at both business and IT events • Integration/programming Model for EDA • event consumer model/lifecycle complementing,SOA programming model • Distributed deployment of event selection • Event driven business application choreography • Source lifecycle model for metadata and semantics • Each level requires additional metadata, management and tooling
Concept: two way propagation within an Event Bus Event applications Event applications Event Metadata On demand Event History Notify Event Consumer X Event History publish Event Producer A subscribe retrieve Event topics Provide metadata Notify Event Producer B Event Consumer Y retrieve Event Metadata Event mediations / Event ProcessingServices SCA SDO
ET ET ET ET ET EE EE EE EE EM EE Event endpoint ET Event topic EM event mediation Event Processing network Event mediations derive higher level event information EM
Two application scenarios • Coupling Event driven business operations • Energy –control optimization – associated business process interactions
business process -> events -> business process ( invocation, request, emit ) EDA as coupling between deployed processes e.g. stock trading / compliance ESB Business process server Retained event history • Trade event emit • Placed • executed A TRADES event topic Trading process • Select based trigger • >$1M buy + >$1Msell • same stock, 24 hrs • Select based retrieve • similar pattern • historical pull Compliance process • A: Trading process handles execution of trades • -- i.e. Broker – client – exchange interaction • – emits TRADE events ( placed, executed ) • B: Compliance process on trade anomalies as before B
A business process -> events -> dynamic modify of business process EDA for dynamic business process interactions eg stock trading / compliance Business Process server ESB Trading process • Trade event emit • Placed • executed Retained event history AUDITS event topic • Select threshhold • process modify TRADES event topic C Emit Audit event Select trigger • Select based retrieve • similar pattern • historical pull B Compliance process • C cancellation of trading privileges on too many • anomalies or bad compliance audit • may affect new process instances, or call, or cancel etc
Specific motivating examples • Trading – compliance audit and response • Processing of Multiple RFQ in online marketplace • Modification of insurance claims processing in response to initial assessor reports
A A business process -> events -> dynamic modify of business process Local and distributed scopes for event interactions ESB Business Process server 1 Business Process server 2 Retained event history Event specif- ication Event specif- ication AUDITS event topic TRADES event topic Event specif- ication Other event sources and event consuming environments • May be helpful to have event scopes • local event interactions between processes of a single environment • enterprise wide interaction involving other sources and sinks • public internet wide ? • Interaction between workflow based and other event sources and consumers may drive multi level • event system design
Multilevel event coupled systems from workflow to sensors and actuators Enterprise business processes and workflows Business process server End-to-end Multi layer Event based Workflow design Dispersed (on premise) application servers and controllers with event capabilities Sensor and actuator components
Summary – a point of view • Events – disengaged data-on-the move will be used to enrich workflow and application server environments • Allowing services to interact via events makes this a natural extension of the SOA paradigm • Declarative event emit and consume specifications on workflows with implementations pushed down into middleware will minimize loss of control through dispersed business process logic • Dynamic process interactions can be provided with workflow interfaces for exceptional and unexpected events • Scoping of events, and eventually multilevel end-to-end event based workflows can allow line of business workflows to reach down to sensor and actuator endpoints. • => Event technology can benefit both the process–to-process interactions in workflow systems AND the design of data flows feeding / responding to them