modeling service orchestrations with a rule-enhanced business process language
DESCRIPTION
Presentation of a CASCON 2009 paper: Business process modeling has been a promising direction in developing service compositions, including both service orchestrations and choreographies. This paper fully focuses on the problem of modeling service orchestrations. Despite many promising aspects of using business process modeling (BPM) languages for modeling service orchestrations, this paper aims to demonstrate that: i) best practices (workflow patters) for control flows (primary concern of service orchestrations) are not fully covered in present languages; ii) complete service compositions cannot be completely generated from business process models; and iii) BPM languages have limited support for representing logical expressions, business vocabularies, and business rules, which severely limits their flexibility and expressiveness. To address these challenges, we have integrated business rule mod-eling constructs of the REWERSE Rule Markup Language (R2ML) with the Business Process Modeling Notation (BPMN), resulting in our rBPMN proposal.TRANSCRIPT
Modeling Service Orchestrations with a Rule-enhanced
Business Process LanguageMilan Milanović1, Dragan Gašević2,
Gerd Wagner3, and Vladan Devedžić1
1University of Belgrade, Serbia2Athabasca University, Canada
3Brandenburg University of Technology, Germany
Problem Domain
Process modeling and service composition Orchestrations
Business processes from one participant’s side Choreographies – MODELS 2009
Business processes from a global perspective
Orchestration Modeling
Available languages (e.g., BPMN) Challenges
to support business vocabularies to define message typing to formalize a language for defining conditions to support dynamic changes of business processes
MODELS 2009
Extension of BPMN building on the previous related work
AORML [Taveter, 2004] adding support for vocabularies and rules rules and business processes
everything to be modeled by rules hybrid approaches
definition by metamodeling
MODELS 2009
Approach
Rule-enhanced BPMN - rBPMN support for modeling orchestrations evaluation mechanism – expressiveness
workflow patterns
MODELS 2009
Result
MODELS 2009
BPMN Language
Submission by BEA, IBM, SAP, and Oracle http://www.omg.org/cgi-bin/doc?bmi/08-02-06
REWERSE I1 Rule Markup Language with a UML-based graphical concrete syntax
MODELS 2009
Rule Modeling
REWERSE I1 Rule Markup Language
MODELS 2009
Extension for Rule Models
MODELS 2009
Workflow Patterns
Exclusive choice pattern
Workflow Patterns
Milestone pattern
EDOC 2009
On a customer book request, if the requested book is available and its quantity is > 0, send the book available message with book price.
Otherwise, send a book not avilable message.
Book request scenario
Expressiveness comparison Workflow Patterns
Pattern group Pattern Business process
modeling language UML BPEL BPMN AORML rBPMN
Bas
ic c
ontr
ol-
flow
Sequence + + + + +
Parallel Split + + + + +
Synchronization + + + + +
Exclusive Choice + + + + +
Simple Merge + + + + +
Adv
ance
d br
anch
ing
and
sync
hron
izat
ion
Multi Choice - + - + +
Multi Merge - - +/- + +
Discriminator - - - +/- +
Synchronizing Merge - + + - +
Str
uct
ural
Arbitrary Cycles + - + + +
Implicit Termination + + + + +
Mul
tiple
In
stan
ces
MI without synchronization + + + + +
MI with a Priori Design Time Knowledge + + + + +
MI with a Priori Runtime Knowledge + - - + + MI without a Priori Runtime Knowledge - - - + +
Sta
te-
base
d Deferred Choice + + + + +
Interleaved Parallel Routing - +/- +/- - +/-
Milestone - - - - +
Can
cella
tion
Cancel Activity + + + + +
Cancel Case + + + + +
Integration of rules and processes - rBPMN Externalizing business logic in rules Not a language for business analysts
Intermediary betweeninformal (PPT and visio) and technical (SoaML)
Increases the level of agility service interaction and message exchange patterns
MODELS 2009
Conclusion
Future Work
Support for new class of agility of patterns Additional scenarios for other types of rules Verbalization of rules (SBVR) Usability vs. expressivity Transformations into extended BPEL rBPMN model checking (e.g., mCRL2/mCRL)
Thank you!
Questions?