use case tutorial - bpm/bam (6/7)

16
epts event processing technical society 1 http://www.padres.msrg.utoronto.c Business Process Management & Business Activity Monitoring Hans-Arno Jacobsen Bell University Laboratory Chair Middleware Systems Research Group, University of Toronto

Upload: pedro-bizarro

Post on 01-Nov-2014

3.754 views

Category:

Technology


0 download

DESCRIPTION

Part 6 of 7 of the Use Case Tutorial presented at DEBS'2009 in Nashville, TN

TRANSCRIPT

Page 1: Use Case Tutorial - BPM/BAM (6/7)

eptsevent processing technical society

1http://www.padres.msrg.utoronto.ca

Business Process Management & Business Activity MonitoringHans-Arno JacobsenBell University Laboratory Chair

Middleware Systems Research Group, University of Toronto

Page 2: Use Case Tutorial - BPM/BAM (6/7)

epts event processing technical society

MIDDLEWARE SYSTEMSRESEARCH GROUP

Business Process Example

> 0.7

elseelse

< 0.5

Checkscore

Creditcheck

Creditcheck 2

Checkscore 2

Reject

Approve

Send toofficer

< 0.3

Store inDB

Loan Application Processing

2

Page 3: Use Case Tutorial - BPM/BAM (6/7)

epts event processing technical society

MIDDLEWARE SYSTEMSRESEARCH GROUP

Large-scale Business ProcessesVendorVendor

SaleSale

ManufactoryManufactory

FinanceFinance

Dispatch B

Out-stock B

Pick-up goods

Packaging

MarketingMarketing

Design

Out-stock B

Target price

Prototype

Out Take

Control

Assign

Confirm

Determinateplan

Check stock

Rawmaterials

Audit

Raw

Determinateplan

Executeplan

Processcontrol

Monitor

Process

Pay

Check

Signature

Print receipt

WarehouseWarehouse

Delivery

FedEx

Pick up

Monitoring

Statistic

Chart

StrategyStrategy DesignDesign MarketingMarketing OrderOrderManufactoryManufactory PaymentPayment

Requirementcollection

Feature selection

Goods selection

Confirmfeatures

Material

Make plan

Feedback

Check order

Fill order

Check dealer Check credit

Approval Approval

Validate

Affirm order

Sale prediction

SignContract

CCCadministrate

Goods delivery

Fill dispatch bill

Fill out-stock bill

Credit card

3

Page 4: Use Case Tutorial - BPM/BAM (6/7)

epts event processing technical society

MIDDLEWARE SYSTEMSRESEARCH GROUP

What is the Common Denominator?

• BPM applications, such as business processes, are driven by asynchronous state transitions.

– Something happens, … an appropriate reaction is expected and required.

• Asynchronous state transitions represent events.

– A process is triggered, a request submitted, …

• BPM applications require event management and processing capabilities to run effectively.

4

Page 5: Use Case Tutorial - BPM/BAM (6/7)

epts event processing technical society

MIDDLEWARE SYSTEMSRESEARCH GROUP

The Events

• Loan application process

– A loan application submission, loan approval or denial

– An exception in the process execution

– A failure in the execution of the process

– A re-try of an operation, a tiime-out

• Large-scale business process

– Essentially the same as above

The execution of a business process comesclose to a firework of events.

5

Page 6: Use Case Tutorial - BPM/BAM (6/7)

epts event processing technical society

MIDDLEWARE SYSTEMSRESEARCH GROUP

Business Activities

• Loan application process

– Loans processed per unit of time

– Loans approved or denied

– Loans with volume > X approved

– Average credit check service time

• Large-scale business process

– Process and application KPIs

– Service level agreements

6

Page 7: Use Case Tutorial - BPM/BAM (6/7)

epts event processing technical society

MIDDLEWARE SYSTEMSRESEARCH GROUP

In Numbers

• Large processes

– Millions of invocations per day

– Tens of thousands of processes concurrently executing

– Processes are often long-running (years)

7

Page 8: Use Case Tutorial - BPM/BAM (6/7)

epts event processing technical society

MIDDLEWARE SYSTEMSRESEARCH GROUP

Business Processes & Events

• Dependency in processes and more complex process patterns requires event correlation

• Event correlation enabled by the detection of composite events

• Composite events are expressed via composite subscriptions

• Composite subscription consists of atomic subscriptions

• Subscription language features:– Operators (AND, OR) and variables ($x)

– Example: D executes, if B and C have

completed (D depends on B and C)

B C

D8

Page 9: Use Case Tutorial - BPM/BAM (6/7)

epts event processing technical society

MIDDLEWARE SYSTEMSRESEARCH GROUP

What Abstractions Enable Effective Event Processing?

• It is our opinion that the afore-mentioned requirements can best be addressed by

– The content-based publish/subscribe paradigm

– Realized by content-based message routing

• Events represent state transitions in the environment.

– Conveyed as publications to the pub/sub system

• Event filtering and correlation is based on

– Subscriptions managed by the pub/sub system

9

Page 10: Use Case Tutorial - BPM/BAM (6/7)

epts event processing technical society

MIDDLEWARE SYSTEMSRESEARCH GROUP

The Content-based Pub/Sub Model

• Language and data model– Boolean functions over predicates

– Subscriptions are conjunctions of predicates

– Publications are sets of attribute-value pairs

• Matching semantic– A subscription matches if all its predicates match

Example Tree-structured data

Graph-structured data

Un-structured data

Regular languages

Relational model

Subscription XPath RDF Query Keywords Regular expressions

SQL

Publication XML RSS feeds Text, documents Sentences over some alphabet

DBs, i.e., tables

Page 11: Use Case Tutorial - BPM/BAM (6/7)

epts event processing technical society

MIDDLEWARE SYSTEMSRESEARCH GROUP

Content-based Message Routing

Publisher

Subscriber

1. Advertise

2. Subscribe

3. Publish

Event-BasedEvent-Based

DecoupledDecoupled

FlexibleFlexible

ResponsiveResponsive

Content RoutingContent Routing

DeclarativeDeclarative

Page 12: Use Case Tutorial - BPM/BAM (6/7)

epts event processing technical society

MIDDLEWARE SYSTEMSRESEARCH GROUP

Benefits of Content-based Publish/Subscribe for BPM

• Naturally enables centralized and distributed business process coordination

• Coordination can span administrative domains and physically distributed resources

• Supports process orchestration and choreography

• Monitoring & control is integral part of paradigm

• Agile on the fly process adaptation and versioning

• Correlation of application events with low-level infrastructure events

12

Page 13: Use Case Tutorial - BPM/BAM (6/7)

epts event processing technical society

MIDDLEWARE SYSTEMSRESEARCH GROUP

Business Process Management

• Transformation of process into pub/sub language and data model

• Deployment of the transformed process

• Triggering and executing the process instances

• Monitoring the process execution

A

B C

D

trigger

E

F

trigger multiple instances concurrently

Exception & compensation

13

Page 14: Use Case Tutorial - BPM/BAM (6/7)

epts event processing technical society

MIDDLEWARE SYSTEMSRESEARCH GROUP

PADRES ESB Architecture & Vision

Server Farm

Computers

ComputersDatabase

Laptops

Computers

Workstation

Laptops

DatabaseServer

ServerSwitch

Server

Switch

Computing, Storage, and Networking Resources

Content-based Routing (Publish/Subscribe)

Content-based RouterClients (publisher/subscriber)

PADRES ESB

Business Process Execution

Deploy Control UpdateVisualize

Monitor ...

6

43

7start halt

Business Process Management and Business Activity Monitoring

Redirectresume

addremove

Event Management Framework

Application Events

Business Events

Complex Events

Network and System Events

14

Page 15: Use Case Tutorial - BPM/BAM (6/7)

epts event processing technical society

MIDDLEWARE SYSTEMSRESEARCH GROUP

Questions?

A D R E SP

15

For more details see our

report entitled:

“PADRES & NINOS…”

PADRES is

open source(forthcoming release)

Page 16: Use Case Tutorial - BPM/BAM (6/7)

epts event processing technical society

MIDDLEWARE SYSTEMSRESEARCH GROUP

References

• The PADRES ESB project home– http://padres.msrg.utoronto.ca

• An eQoSystem for declarative distributed applications with SLAs– http://research.msrg.utoronto.ca/Eqosystem/

• The Micro-ToPSS event processing middleware for sensor networks– http://microToPSS.msrg.utoronto.ca/

• Mobile-ToPSS – publish/subscribe for mobile and location-based applications– http://research.msrg.utoronto.ca/Mobile/

• ToPSS - the Toronto Publish/Subscribe System Family– http://www.ToPSS.biz (coming soon)

• Quantifying events in software to increase modularity & customization in C-based systems and software-based product lines– http://www.AspeCtC.net (ACC - the AspeCt-oriented C compiler)

• The Middleware Systems Research Group– http://www.msrg.utoronto.ca

• My web site– http://www.eecg.toronto.edu/~jacobsen

@ the University of Toronto

16