21
The Business Choreography The Business Choreography Language (BCL) Language (BCL) A Domain-Specific Language for Global A Domain-Specific Language for Global Choreographies Choreographies Institute for Software Technology and Institute for Software Technology and Interactive Systems Interactive Systems Vienna University of Technology Vienna University of Technology Favoritenstraße 9-11/188-1 . 1040 Vienna . Favoritenstraße 9-11/188-1 . 1040 Vienna . Austria/Europe Austria/Europe Tel.: +43 (1) 58801 - 18822, Fax: +43 (1) Tel.: +43 (1) 58801 - 18822, Fax: +43 (1) Thomas Motal Thomas Motal , Marco Zapletal, Hannes , Marco Zapletal, Hannes Werthner Werthner [email protected] [email protected] E lectronic lectronic C ommerce Group ommerce Group

The Business Choreography Language (BCL) A Domain-Specific Language for Global Choreographies Institute for Software Technology and Interactive Systems

Embed Size (px)

Citation preview

Page 1: The Business Choreography Language (BCL) A Domain-Specific Language for Global Choreographies Institute for Software Technology and Interactive Systems

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

18

4 Conclusion

Page 19: The Business Choreography Language (BCL) A Domain-Specific Language for Global Choreographies Institute for Software Technology and Interactive Systems

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

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

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