28
BP-Mon: Monitoring Business Processes with Queries Catriel Beeri, Anat Eyal , Tova Milo, Alon Pilberg Tel-Aviv University Hebrew University

Monitoring Business Processes with Queries · 2008. 5. 1. · 6 Monitoring Business Processes with Queries Introduction and Background and Challenges Motivation BPM systems send process

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Monitoring Business Processes with Queries · 2008. 5. 1. · 6 Monitoring Business Processes with Queries Introduction and Background and Challenges Motivation BPM systems send process

BP-Mon:Monitoring Business Processes

with Queries

Catriel Beeri, Anat Eyal, Tova Milo, Alon Pilberg

Tel-Aviv UniversityHebrew University

Page 2: Monitoring Business Processes with Queries · 2008. 5. 1. · 6 Monitoring Business Processes with Queries Introduction and Background and Challenges Motivation BPM systems send process

Monitoring Business Processes with Queries2

Outline

� Introduction to Business Processes

� Overview of BP-Mon by example

� Formal model

� Implementation & experiments

� Summary

Page 3: Monitoring Business Processes with Queries · 2008. 5. 1. · 6 Monitoring Business Processes with Queries Introduction and Background and Challenges Motivation BPM systems send process

Monitoring Business Processes with Queries3

ERPERP

HR HR

SystemSystem

eCommeCommCRMCRM

LogisticsLogistics

CustomerCustomer

BankBank

SupplierSupplier

Business ProcessesIntroduction and Motivation

Page 4: Monitoring Business Processes with Queries · 2008. 5. 1. · 6 Monitoring Business Processes with Queries Introduction and Background and Challenges Motivation BPM systems send process

Monitoring Business Processes with Queries4

Business Processes Execution Language (BPEL)

Process spec. represented in XML

• operations (atomic/ compound activities)

• flow and data

Designed using visual tools

• graphs of nodes and edges

Compiled into executable code &

run on any BPEL application server

BPEL in a NutshellIntroduction and Motivation

Visual BPEL editor

BPEL Application Server

process invocation

deploy

Process instance

Business process

high-level & portable

Page 5: Monitoring Business Processes with Queries · 2008. 5. 1. · 6 Monitoring Business Processes with Queries Introduction and Background and Challenges Motivation BPM systems send process

Monitoring Business Processes with Queries5

The Need for Monitoring

Imagine you run an auction service…

� Guarantee fair play: notify on too many cancels

� Maintain SLA: monitor response time

� Promotions: prizes for the x10,000 transaction

� Illegal access: notify on buyers attempt to

confirm bids without registering first

Introduction and Motivation

Monitoring is crucial for enforcing business policies and

meeting efficiency & reliability goals

Page 6: Monitoring Business Processes with Queries · 2008. 5. 1. · 6 Monitoring Business Processes with Queries Introduction and Background and Challenges Motivation BPM systems send process

Monitoring Business Processes with Queries6

Background and ChallengesIntroduction and Motivation

BPM systems send process traces as events

Very large field: active database, publish-subscribe,

composite events, temporal logic,…

Shortcoming of current approaches BPEL challenges

Abstraction level •Two levels: events vs. spec

Efficiency

Implementation &

Deployment

•Generic optimizations

•Propriety language•Not portable

Write queries the same way as the spec

Exploit knowledge of the spec

Declarative languageRun everywhere

Page 7: Monitoring Business Processes with Queries · 2008. 5. 1. · 6 Monitoring Business Processes with Queries Introduction and Background and Challenges Motivation BPM systems send process

Monitoring Business Processes with Queries7

Abstraction level•High level graphical query language

•Tight analogy to the spec

Efficiency

ContributionsIntroduction and Motivation

Implementation

& deployment

•Dedicated efficient automata based Algorithm

•Novel optimizations based on analysis of spec

•Pruning of redundant monitoring

•Compiles a BP-Mon query into a BPEL process

•Easy deployment, portability

•Minimal overhead

Page 8: Monitoring Business Processes with Queries · 2008. 5. 1. · 6 Monitoring Business Processes with Queries Introduction and Background and Challenges Motivation BPM systems send process

Monitoring Business Processes with Queries8

Running ExampleIntroduction and Motivation

Page 9: Monitoring Business Processes with Queries · 2008. 5. 1. · 6 Monitoring Business Processes with Queries Introduction and Background and Challenges Motivation BPM systems send process

Monitoring Business Processes with Queries9

EventsIntroduction and Motivation

<actionData>

<header>

<processName> auctionHouse </processName>

<instanceId> 517 </instanceId>

<sensorTarget> notify_winner </sensorTarget>

<timestamp> 2006-05-31T11:32:46.510+00:00 </>

</header>…

<activityData>

<activityType>invoke </activityType>

<evalPoint> completion </evalPoint> …

Page 10: Monitoring Business Processes with Queries · 2008. 5. 1. · 6 Monitoring Business Processes with Queries Introduction and Background and Challenges Motivation BPM systems send process

Monitoring Business Processes with Queries10

Nested set of DAGs:

• Nodes� Activation

� Completion

• Timestamps

• Edges� Flow

� Zoom-in, Zoom-out

a

c

BP Execution Traces as DAGsIntroduction &Motivation

Page 11: Monitoring Business Processes with Queries · 2008. 5. 1. · 6 Monitoring Business Processes with Queries Introduction and Background and Challenges Motivation BPM systems send process

Monitoring Business Processes with Queries11

Query Example (1)BP-Mon by Example

Too many Cancels Use execution patterns

� Transitive nodes

� Report/ Report*

� Regular expressions

or rep

� Transitive edges

Page 12: Monitoring Business Processes with Queries · 2008. 5. 1. · 6 Monitoring Business Processes with Queries Introduction and Background and Challenges Motivation BPM systems send process

Monitoring Business Processes with Queries12

Monitor response time (and notify the process to change the db)

Sliding window

� Time based

Report* Every 1 hrs Range 2 hrs

� Instance based

Every 100 entries Range 200 …

Output format

� XQuery like

� Group by having

Query Example (2)BP-Mon by Example

Report

� Local/Global

� Multiple reports

Page 13: Monitoring Business Processes with Queries · 2008. 5. 1. · 6 Monitoring Business Processes with Queries Introduction and Background and Challenges Motivation BPM systems send process

Monitoring Business Processes with Queries13

X10,000 win

Query Example (3)BP-Mon by Example

Page 14: Monitoring Business Processes with Queries · 2008. 5. 1. · 6 Monitoring Business Processes with Queries Introduction and Background and Challenges Motivation BPM systems send process

Monitoring Business Processes with Queries14

Static and dynamic analysis

Query Example (4)BP-Mon by Example

Page 15: Monitoring Business Processes with Queries · 2008. 5. 1. · 6 Monitoring Business Processes with Queries Introduction and Background and Challenges Motivation BPM systems send process

Monitoring Business Processes with Queries15

• EX-trace: nested DAGs

• EX-pattern: EX- trace without timestamps

transitive edges & nodes

‘any’, ‘or’, ‘rep’

A query defines a set of concrete

Ex-patterns obtained by:

�Rep– replacing with arbitrary number of copies

� Or – choosing an internal trace & replacing

Queries: Execution PatternsFormalModel

Page 16: Monitoring Business Processes with Queries · 2008. 5. 1. · 6 Monitoring Business Processes with Queries Introduction and Background and Challenges Motivation BPM systems send process

Monitoring Business Processes with Queries16

p concrete EX-pattern, e EX-trace.

Definition: An embedding of p into e is a

An EmbeddingFormalModel

homomorphism from the nodes/edges in p to nodes/edges/paths in e s.t.

� node labels match

� edge (transitive)�edge(path), of the same type

� direct edge of transitive nodes � any type

Page 17: Monitoring Business Processes with Queries · 2008. 5. 1. · 6 Monitoring Business Processes with Queries Introduction and Background and Challenges Motivation BPM systems send process

Monitoring Business Processes with Queries17

p EX-pattern, e EX-trace, S a set of embeddings of

patterns in concrete(p) into e

Definition(semi-formal): ψ S is greedy (in S) if:

There is no other embedding ψ’ that

agrees with ψ on the prefix of n p but matches n

with an earlier timestamp

A Greedy EmbeddingFormalModel

ψ(n) ψ’(n)

Page 18: Monitoring Business Processes with Queries · 2008. 5. 1. · 6 Monitoring Business Processes with Queries Introduction and Background and Challenges Motivation BPM systems send process

Monitoring Business Processes with Queries18

• Incrementally extends a greedy embeddingto one of a larger prefix

• Automaton with Ex-pattern nodes as states– Tries to match (concurrently) the concrete

patterns of the given EX-pattern

– Attempts to match events as early as possible

– On failure: backtracks & retries

The AlgorithmFormalModel

Complexity: polynomial in the size of the trace

(with the exponent determined by the size of the pattern)

Page 19: Monitoring Business Processes with Queries · 2008. 5. 1. · 6 Monitoring Business Processes with Queries Introduction and Background and Challenges Motivation BPM systems send process

Monitoring Business Processes with Queries19

The Algorithm (cont)

• Manage simultaneously a large

number of active states

• Potential exponential growth in the size of the automaton

FormalModel

⇒ We provide a hybrid solution

• Lazy DFA• Small automaton, same size as the pattern

• Relatively few states are simultaneously active

Issues:• Backtracking

• Retaining of events

Non-deterministic automaton Deterministic automaton

Page 20: Monitoring Business Processes with Queries · 2008. 5. 1. · 6 Monitoring Business Processes with Queries Introduction and Background and Challenges Motivation BPM systems send process

Monitoring Business Processes with Queries20

Let S be a BP specification, o an activity in S

Definitions (semi-formal):

� Activity o is irrelevant to query node n

• if there is no EX-trace of S where it participates in an

embedding.

� Activity o is inconsistent with EX-pattern p

• if p cannot be embedded into any EX-trace of S that

contains an activation event of o.

Algo uses BP-QL [VLDB06] for spec analysis

Optimization: Irrelevance & InconsistencyFormalModel

Page 21: Monitoring Business Processes with Queries · 2008. 5. 1. · 6 Monitoring Business Processes with Queries Introduction and Background and Challenges Motivation BPM systems send process

Monitoring Business Processes with Queries21

Optimization (example)FormalModel

BP-QL query (on spec)

Page 22: Monitoring Business Processes with Queries · 2008. 5. 1. · 6 Monitoring Business Processes with Queries Introduction and Background and Challenges Motivation BPM systems send process

Monitoring Business Processes with Queries22

Visual query editor

Query process

events

invoke newinstance

Query instanceevents

deploy

query

subscriptionrequests

Process instance …

output streams

Report

generator

ArchitectureImplementation

A monitoring query is compiled into a BPEL process

BPEL Application Server

process invocation

Optimizer

(BP-QL)

Dispatcher

Business process

Query translator

Page 23: Monitoring Business Processes with Queries · 2008. 5. 1. · 6 Monitoring Business Processes with Queries Introduction and Background and Challenges Motivation BPM systems send process

Monitoring Business Processes with Queries23

Visual InterfaceImplementation

Page 24: Monitoring Business Processes with Queries · 2008. 5. 1. · 6 Monitoring Business Processes with Queries Introduction and Background and Challenges Motivation BPM systems send process

Monitoring Business Processes with Queries24

Queries overhead

Impact of optimization

Effect of % of queried activities

Effect of queries per process

Experiments ResultsImplementation

Page 25: Monitoring Business Processes with Queries · 2008. 5. 1. · 6 Monitoring Business Processes with Queries Introduction and Background and Challenges Motivation BPM systems send process

Monitoring Business Processes with Queries25

Each process: 200 activities, 40% queried

Query: report*, 3 reports

Experiments Results: Queries OverheadImplementation

Page 26: Monitoring Business Processes with Queries · 2008. 5. 1. · 6 Monitoring Business Processes with Queries Introduction and Background and Challenges Motivation BPM systems send process

Monitoring Business Processes with Queries26

� User friendly query language for monitoring BPs:

• Graphical and intuitive (wizard)

� Semantics:

• Early match (greedy), all matches

� Algorithm

• Lazy DFA

• Irrelevancy & inconsistency

� Implementation

• Compiles into BPEL=>

Easy deployment, portability, and minimal overhead

ConclusionSummary

Page 27: Monitoring Business Processes with Queries · 2008. 5. 1. · 6 Monitoring Business Processes with Queries Introduction and Background and Challenges Motivation BPM systems send process

Monitoring Business Processes with Queries27

� Querying/mining logs

� Incomplete information

� Application to software monitoring and verification

� More optimization

Ongoing and Future WorkSummary

Page 28: Monitoring Business Processes with Queries · 2008. 5. 1. · 6 Monitoring Business Processes with Queries Introduction and Background and Challenges Motivation BPM systems send process

Thank you !