The Business Choreography Language (BCL) A Domain-Specific Language for Global Choreographies...
-
Upload
philip-evan-fowler -
Category
Documents
-
view
224 -
download
5
Transcript of The Business Choreography Language (BCL) A Domain-Specific Language for Global Choreographies...
![Page 1: The Business Choreography Language (BCL) A Domain-Specific Language for Global Choreographies Institute for Software Technology and Interactive Systems.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649f515503460f94c74836/html5/thumbnails/1.jpg)
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
![Page 2: The Business Choreography Language (BCL) A Domain-Specific Language for Global Choreographies Institute for Software Technology and Interactive Systems.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649f515503460f94c74836/html5/thumbnails/2.jpg)
Agenda
The UN/CEFACT‘s Modelling Methodology (UMM)
Global Choreographies by Example
The Business Choreography Language (BCL)
Conclusion and Future Work
2
![Page 3: The Business Choreography Language (BCL) A Domain-Specific Language for Global Choreographies Institute for Software Technology and Interactive Systems.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649f515503460f94c74836/html5/thumbnails/3.jpg)
3
1 The UMM
![Page 4: The Business Choreography Language (BCL) A Domain-Specific Language for Global Choreographies Institute for Software Technology and Interactive Systems.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649f515503460f94c74836/html5/thumbnails/4.jpg)
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
![Page 5: The Business Choreography Language (BCL) A Domain-Specific Language for Global Choreographies Institute for Software Technology and Interactive Systems.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649f515503460f94c74836/html5/thumbnails/5.jpg)
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
![Page 6: The Business Choreography Language (BCL) A Domain-Specific Language for Global Choreographies Institute for Software Technology and Interactive Systems.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649f515503460f94c74836/html5/thumbnails/6.jpg)
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
![Page 7: The Business Choreography Language (BCL) A Domain-Specific Language for Global Choreographies Institute for Software Technology and Interactive Systems.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649f515503460f94c74836/html5/thumbnails/7.jpg)
The UMM 2.0 Architecture
Development process of the UMM Business Requirements View (BRV) Business Choreography View (BCV) Business Information View (BIV)
77
![Page 8: The Business Choreography Language (BCL) A Domain-Specific Language for Global Choreographies Institute for Software Technology and Interactive Systems.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649f515503460f94c74836/html5/thumbnails/8.jpg)
8
2 Global Choreographies
![Page 9: The Business Choreography Language (BCL) A Domain-Specific Language for Global Choreographies Institute for Software Technology and Interactive Systems.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649f515503460f94c74836/html5/thumbnails/9.jpg)
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
![Page 10: The Business Choreography Language (BCL) A Domain-Specific Language for Global Choreographies Institute for Software Technology and Interactive Systems.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649f515503460f94c74836/html5/thumbnails/10.jpg)
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
![Page 11: The Business Choreography Language (BCL) A Domain-Specific Language for Global Choreographies Institute for Software Technology and Interactive Systems.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649f515503460f94c74836/html5/thumbnails/11.jpg)
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
![Page 12: The Business Choreography Language (BCL) A Domain-Specific Language for Global Choreographies Institute for Software Technology and Interactive Systems.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649f515503460f94c74836/html5/thumbnails/12.jpg)
12
3 The BCL
![Page 13: The Business Choreography Language (BCL) A Domain-Specific Language for Global Choreographies Institute for Software Technology and Interactive Systems.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649f515503460f94c74836/html5/thumbnails/13.jpg)
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
![Page 14: The Business Choreography Language (BCL) A Domain-Specific Language for Global Choreographies Institute for Software Technology and Interactive Systems.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649f515503460f94c74836/html5/thumbnails/14.jpg)
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
![Page 15: The Business Choreography Language (BCL) A Domain-Specific Language for Global Choreographies Institute for Software Technology and Interactive Systems.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649f515503460f94c74836/html5/thumbnails/15.jpg)
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
![Page 16: The Business Choreography Language (BCL) A Domain-Specific Language for Global Choreographies Institute for Software Technology and Interactive Systems.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649f515503460f94c74836/html5/thumbnails/16.jpg)
Re-Use and Compensation Transactions
16
![Page 17: The Business Choreography Language (BCL) A Domain-Specific Language for Global Choreographies Institute for Software Technology and Interactive Systems.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649f515503460f94c74836/html5/thumbnails/17.jpg)
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
![Page 18: The Business Choreography Language (BCL) A Domain-Specific Language for Global Choreographies Institute for Software Technology and Interactive Systems.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649f515503460f94c74836/html5/thumbnails/18.jpg)
18
4 Conclusion
![Page 19: The Business Choreography Language (BCL) A Domain-Specific Language for Global Choreographies Institute for Software Technology and Interactive Systems.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649f515503460f94c74836/html5/thumbnails/19.jpg)
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
![Page 20: The Business Choreography Language (BCL) A Domain-Specific Language for Global Choreographies Institute for Software Technology and Interactive Systems.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649f515503460f94c74836/html5/thumbnails/20.jpg)
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
![Page 21: The Business Choreography Language (BCL) A Domain-Specific Language for Global Choreographies Institute for Software Technology and Interactive Systems.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649f515503460f94c74836/html5/thumbnails/21.jpg)
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