the business choreography language (bcl) a domain-specific language for global choreographies...
TRANSCRIPT
The Business Choreography The Business Choreography Language (BCL)Language (BCL)
A Domain-Specific Language for Global A Domain-Specific Language for Global ChoreographiesChoreographies
Institute for Software Technology and Interactive Institute for Software Technology and Interactive SystemsSystems
Vienna University of TechnologyVienna University of TechnologyFavoritenstraße 9-11/188-1 . 1040 Vienna . Favoritenstraße 9-11/188-1 . 1040 Vienna .
Austria/EuropeAustria/EuropeTel.: +43 (1) 58801 - 18822, Fax: +43 (1) 58801 - Tel.: +43 (1) 58801 - 18822, Fax: +43 (1) 58801 -
1889618896http://www.http://www.ecec.tuwien.ac.at.tuwien.ac.at
Thomas MotalThomas Motal, Marco Zapletal, Hannes , Marco Zapletal, Hannes WerthnerWerthner
[email protected]@ec.tuwien.ac.at
EElectronic lectronic CCommerce Groupommerce Group
Agenda
The UN/CEFACT‘s Modelling Methodology (UMM)
Global Choreographies by Example
The Business Choreography Language (BCL)
Conclusion and Future Work
2
3
1 The UMM
UN/CEFACT's Modeling Methodology (UMM)
Graphical modeling technique for inter-organizational (B2B) business processes
Concentrates on business semantics – it is implementation neutral
UMM is defined as a UML profile on top of UML 2.1.1
Customizes UML for modeling B2B
UMM is used in order to define global business choreographies
Provides a procedure similar to a software development process from requirements elicitation to process design
4
What Actually is a Global Choreography?
If each organization defines its own choreography with business partners from an observer perspective, interoperability is unlikely
UMM describes collaborative business processes from a global and neutral point of view
5
Buyer Seller
Collaboration
UMM Terminology
Business Process Group of related activities that together create customer value Traditionally intra-organizational, but also inter-organizational
(= business collaboration)
Business Collaboration Performed by two business partners (=binary collaboration) or
more business partners (=multi-party collaboration) Complex, composed of many activities (=business transactions)
between the partners
Business Transaction Always a binary interaction Realized by a request from one side and an optional response
from the other side
6
The UMM 2.0 Architecture
Development process of the UMM Business Requirements View (BRV) Business Choreography View (BCV) Business Information View (BIV)
77
8
2 Global Choreographies
The Business Transaction View
9
act Request For Quote
:QuoteResponde r
«bTPartition»
:QuoteRequestor
«bTPartition»
Initial
«ReqAction»
Obtain Quote
:QuoteRequestEnvelope
:QuoteEnvelope
«ResAction»
Calculate Quote
:QuoteRequestEnvelope :QuoteEnvelope
«bESharedS...:Quote
[refused]
«bESharedS...:Quote
[provided]
BusinessSuccess BusinessFailure
ControlFailure
[else]
[QuoteEnvelope.Quote. Price != null]
Document Exchange
act Request For Quote
:QuoteResponde r
«bTPartition»
:QuoteRequestor
«bTPartition»
Initial
«ReqAction»
Obtain Quote
:QuoteRequestEnvelope
:QuoteEnvelope
«ResAction»
Calculate Quote
:QuoteRequestEnvelope :QuoteEnvelope
«bESharedS...:Quote
[refused]
«bESharedS...:Quote
[provided]
BusinessSuccess BusinessFailure
ControlFailure
[else]
[QuoteEnvelope.Quote. Price != null]
Business Transaction Patterns
act Request For Quote
:QuoteResponde r
«bTPartition»
:QuoteRequestor
«bTPartition»
Initial
«ReqAction»
Obtain Quote
:QuoteRequestEnvelope
:QuoteEnvelope
«ResAction»
Calculate Quote
:QuoteRequestEnvelope :QuoteEnvelope
«bESharedS...:Quote
[refused]
«bESharedS...:Quote
[provided]
BusinessSuccess BusinessFailure
ControlFailure
[else]
[QuoteEnvelope.Quote. Price != null]
act Request For Quote
:QuoteResponde r
«bTPartition»
:QuoteRequestor
«bTPartition»
Initial
«ReqAction»
Obtain Quote
:QuoteRequestEnvelope
:QuoteEnvelope
«ResAction»
Calculate Quote
:QuoteRequestEnvelope :QuoteEnvelope
«bESharedS...:Quote
[refused]
«bESharedS...:Quote
[provided]
BusinessSuccess BusinessFailure
ControlFailure
[else]
[QuoteEnvelope.Quote. Price != null]
Binary Message-Exchange
The Business Collaboration View
10
act Order From Quote
:Selle r
«bCPartition»
:Buyer
«bCPartition»
Initial
«bTransactionAction»
Request For Quote :Request For Quote
«bTransactionAction»
Place Order :Place Orde r
Failure
Success Failure
[Order.rejected][Order.accepted]
[Quote.refused][Quote.provided]
«reFlow» «reFlow»
«initFlow»«initFlow»
«reFlow» «reFlow»
«initFlow»
«initFlow»
act Request For Quote
:QuoteResponde r
«bTPartition»
:QuoteRequestor
«bTPartition»
Initial
«ReqAction»
Obtain Quote
:QuoteRequestEnvelope
:QuoteEnvelope
«ResAction»
Calculate Quote
:QuoteRequestEnvelope :QuoteEnvelope
«bESharedS...:Quote
[refused]
«bESharedS...:Quote
[provided]
BusinessSuccess BusinessFailure
ControlFailure
[else]
[QuoteEnvelope.Quote. Price != null]
Role-Mapping Re-use of Business Transactions
Essential Concepts for Global Choreographies
„MUST HAVE“ concepts based on best practices in business transaction modelling (included in UMM) Business collaboration Business transaction Business transaction patterns Quality of service parameters Business documents Re-use of business transactions Role mapping between transactions and global choreographies
„NICE TO HAVE“ concepts from other business process modelling approaches Timer events, event-based XOR Compensations
11
12
3 The BCL
Challenges
Encompass essential requirements for global inter-organizational business processes MUST HAVE concepts NICE TO HAVE concepts
Overcome shortcomings of the UMM profile ≈ 40 classes defined in the meta-model Significant amount of modeling artefacts UML visualization has a lack in expressiveness and
readability
Find an appropriate graphical notation
13
BCL Business Transactions
14
act Request For Quote
:QuoteResponde r
«bTPartition»
:QuoteRequestor
«bTPartition»
Initial
«ReqAction»
Obtain Quote
:QuoteRequestEnvelope
:QuoteEnvelope
«ResAction»
Calculate Quote
:QuoteRequestEnvelope :QuoteEnvelope
«bESharedS...:Quote
[refused]
«bESharedS...:Quote
[provided]
BusinessSuccess BusinessFailure
ControlFailure
[else]
[QuoteEnvelope.Quote. Price != null]
Document ExchangeCompensation
Event act Request For Quote
:QuoteResponde r
«bTPartition»
:QuoteRequestor
«bTPartition»
Initial
«ReqAction»
Obtain Quote
:QuoteRequestEnvelope
:QuoteEnvelope
«ResAction»
Calculate Quote
:QuoteRequestEnvelope :QuoteEnvelope
«bESharedS...:Quote
[refused]
«bESharedS...:Quote
[provided]
BusinessSuccess BusinessFailure
ControlFailure
[else]
[QuoteEnvelope.Quote. Price != null]
Business Transaction Patterns
act Request For Quote
:QuoteResponde r
«bTPartition»
:QuoteRequestor
«bTPartition»
Initial
«ReqAction»
Obtain Quote
:QuoteRequestEnvelope
:QuoteEnvelope
«ResAction»
Calculate Quote
:QuoteRequestEnvelope :QuoteEnvelope
«bESharedS...:Quote
[refused]
«bESharedS...:Quote
[provided]
BusinessSuccess BusinessFailure
ControlFailure
[else]
[QuoteEnvelope.Quote. Price != null]
act Request For Quote
:QuoteResponde r
«bTPartition»
:QuoteRequestor
«bTPartition»
Initial
«ReqAction»
Obtain Quote
:QuoteRequestEnvelope
:QuoteEnvelope
«ResAction»
Calculate Quote
:QuoteRequestEnvelope :QuoteEnvelope
«bESharedS...:Quote
[refused]
«bESharedS...:Quote
[provided]
BusinessSuccess BusinessFailure
ControlFailure
[else]
[QuoteEnvelope.Quote. Price != null]
Binary Message-Exchange
UML
Profile
BCL
BCL Business Collaborations
15
act Order From Quote
:Selle r
«bCPartition»
:Buyer
«bCPartition»
Initial
«bTransactionAction»
Request For Quote :Request For Quote
«bTransactionAction»
Place Order :Place Orde r
Failure
Success Failure
[Order.rejected][Order.accepted]
[Quote.refused][Quote.provided]
«reFlow» «reFlow»
«initFlow»«initFlow»
«reFlow» «reFlow»
«initFlow»
«initFlow»
UML
Profile
BCL
(cut-o
ut)
Role-Mapping Re-use of Business Transactions
Events
Re-Use and Compensation Transactions
16
BCL Hard Facts
A domain-specific language for modeling global choreographies
Comprises the essential concepts of UMM choreographies
Implementation neutral models
Custom notation for global choreography models
Enriched meta-model by additional concepts Timer event Event-based XOR Compensation
17
18
4 Conclusion
At the End of the Day ....
... we elaborated and listed the essential concepts for modeling global choreographies by using UMM as a starting point
... we developed a domain-specific language for modelling inter-organizational business processes The BCL comprises the essential concepts of the UMM Added events to the BCL
... we overcame the shortcomings of the current UMM profile Alternative notation, raising the grade of abstraction Reduction of modeling elements and modeling artefacts Not restricted to UML
19
What’s Next?
Code generation Model-2-Model transformations (e.g. local choreography
models) Model-2-Code transformations (e.g. BPEL, Windows Workflow)
Run-time validation of global choreographies Implementation of soft-constraints Raises the modeling experience Higher model quality
20
21
5 Questions?
Thomas MotalThomas Motal, Marco Zapletal, Hannes , Marco Zapletal, Hannes WerthnerWerthner
[email protected]@ec.tuwien.ac.at
EElectronic lectronic CCommerce Groupommerce Group
Institute for Software Technology and Interactive Institute for Software Technology and Interactive SystemsSystems
Vienna University of TechnologyVienna University of TechnologyFavoritenstraße 9-11/188-1 . 1040 Vienna . Favoritenstraße 9-11/188-1 . 1040 Vienna .
Austria/EuropeAustria/EuropeTel.: +43 (1) 58801 - 18822, Fax: +43 (1) 58801 - Tel.: +43 (1) 58801 - 18822, Fax: +43 (1) 58801 -
1889618896http://www.ec.tuwien.ac.athttp://www.ec.tuwien.ac.at