Web Services Choreography Description Language (WS-CDL)

Download Report

Transcript Web Services Choreography Description Language (WS-CDL)

Research Topics in Business Process
Management
Marlon Dumas
University of Tartu
Business Process Management (BPM)
Collection of methods and techniques to design,
analyze, execute and monitor business operations
involving humans, software, information and
physical artifacts using process models.
2
OK, so what is a process model?
• Collection of inter-dependent activities whose collective
performance is intended to achieve a goal such as
delivering a product or a service.
• E,g. order-to-cash, procure-to-pay, issue-to-resolution
Obtain
Additional
Information
Check Credit
History
Credit Card
Application
Check
Completeness
Make Credit
Offer
Assess
Application
Check Income
Source(s)
Notify
Rejection
3
Process models serve many purposes…
Process
Documentation
Process
Improvement
Compliance /
Risk Management
Knowledge
Management
Enterprise
Systems
Process Cost
Analysis / Simulation
Workflow
Management
Enterprise
Architecture
Document
Management
Software
Evaluation/
Selection
4
… and have have many faces
Organizational
Analysis
Abstract Models
“AS IS”
Process
Models
EPC, BPMN
Process
Metrics
Process
Enactment &
Monitoring
Process
Implementation
Executable
Process Models
Process
Evaluation
Target Values
Measures for
Improvement
“TO BE”
Process
Process
Models
Analysis & Design
Communication,
simulation, activitybased costing…
Detailed Models
BPEL, State Machines,
YAWL
Data types, conditions, data
mappings, fault handling…
Integration, testing,
deployment…
5
…and come in
many versions…
6
...and in multiple modelling notations...
•
•
•
•
•
Business Process Modelling Notation (BPMN)
Event-driven Process Chains (EPC)
Business Process Execution Language (BPEL)
State machines and variants
Petri nets (and variants, e.g. YAWL)
7
Topic 1: Model transformations
• BPMN-to-BPEL
– Purpose: Transform models produced by analysts into
models for developers (and vice-versa)
– Commonly supported in commercial tool, but in a
limited manner
• BPEL-to-Petri nets, BPMN-to-YAWL
– For analysis & verification
8
Quick BPMN example
Reject order
Check stock
availability
Send invoice
Confirm order
Ship goods
9
BPEL in a Nutshell
• Basic activities: <assign>, <invoke>, <receive>
• Block-structured constructs:
– <sequence>, <while>, <switch>, <flow>
• Graph-oriented flow construct: <link>
– Not “graphically” supported by most BPEL editors
– Considered “less readable” than structured constructs
• Event-action rules: <onEvent>
– Considered even less readable than control links!
• Other constructs not relevant to this talk…
10
Example: Only Structured Components
Sequence-component
Switch-component
Reject order
Sequence-component
Flow-component
Check stock
availability
Send invoice
Confirm order
Ship goods
11
Generated BPEL code
<sequence>
<invoke “check stock availability” …/>
<switch (…) …/>
<case “reject”> <invoke “order rejection” …/> </case>
<otherwise>
<sequence>
<invoke “order acceptance” … />
<flow> <invoke “invoicing” … />
<invoke “ship goods” … />
</flow>
</sequence> </otherwise> </switch> </sequence>
12
BPMN-to-BPEL: Interesting cases…
A
B
C
T1
T3
T2
T4
D
Unstructured loop
Z-Structure (inherently
unstructured)
B
A
D
A
B
C
D
C
Unbounded concurrency (C)
Bounded multiple-instance task (D)
A
D
Livelock (excluded)
13
BPMN-to-BPEL: Questions
•
Can every BPMN model be translated into a
BPEL model (under bisimulation equivalence)?
– Yes, but using event handlers  “unreadable”
•
Are there classes of BPMN models that can be
translated into “readable” BPEL process models?
1. Structured/quasi-structured process models
2. Synchronizing process models
• Which of these transformations can be made
reversible?
14
Empirical evaluation
• Applied BPMN2BPEL to 568 models from SAP’s
Reference Model
• Only 3 models required control links & 3 event handlers
• Dataset might be biased because SAP ref models are
highly structured
Scope
While
Flow with Link
1
Flow without Link
If
Sequence
1
10
100
1000
10000
15
Topic 2: Process Merging
Tape shooting
process model
Film shooting
process model
Configurable
process model
Prepare footage
for edit
Prepare footage
for edit
commonality
Prepare footage
for edit
Offline edit
+
Offline edit
=
Offline edit
variation point
variability
Online edit
Negmatching
Tape
Tape variant
Online edit
Film
Film variant
Negmatching
16
Configurable Process Models
17
Process Merging: Issues
• Representing and managing configurable process
models
• Comparing process models
– Semantic comparison (Wordnet sim, NGram, etc.)
– Behaviour comparison (sets of traces, causality links)
– Structural comparison: graph matching
• Merging process models
– Semantic uniformization
– Behavioural merging
– Structural merging
18
Topic 3: Process-Service Binding
Purchaser’s
System
Process
Instance
Process
Process
Instance
Instance
Create
Order
Service
Endpoint
Send
Order
Receive
Response
Process
Response
Order Response
Change Order
Change Response
Receive
Order
Send
Response
Invoice
Service
Interface(s)
Process
Instance
Record
Order
Check
Stock
Shipment Notice
Process
Instance
Process
Model(s)
Order
Supplier’s
System
Service
Endpoint
Service
Interface(s)
Process
Instance
Process
Process
Instance
Instance
Process
Model(s)
19
Process-Service Binding
Service Interface / Protocol
X
Z
W
Events in
service
interface
related to
events in
business
process
Y
x
x
y
z
Business Process Model
20
BPEL Conformance Checker: Architecture
abstract
BPEL
process
Conformance?
Services
Services
Services
SOAP
Messages
Translation
Monitoring /
Correlation
Petri net
model
Conformance
Checking!
Event Log
21
Process-Service Binding: Issues
• Matching business processes against service
interfaces/protocols
• Guidelines for designing reusable services – i.e.
services that plug into multiple processes
– What is the right “granularity” of services?
22