6cf71167d0322f7f612816e41fcbe613.ppt
- Количество слайдов: 22
WS-CDL: the GOOD the BAD the UGLY
Outline • Composition Viewpoints • WS-CDL overview • Specific features • Research activities • Composition • Verification • monitoring
Viewpoints: orchestration • Orchestration focuses on the behavior of a single participant • Controller-based • Process is locally enforced by the process’s logic • BPEL Internal Behavior Observable Behavior Buyer decide PO send PO 2 buy or not 2 buy receive offer send Ack send Reject
Viewpoints: behavioral interfaces • Behavioral interface defines the behavior of a single participant observed from outside • Hide the internal detail • Composition is defined as a set of participants interfaces: bottom-up approach • Abstract BPEL Buyer Seller send PO receive offer send Ack receive Ack send Reject receive Reject
Viewpoints: choreography • Choreography focuses on the global collaboration of a multiple participants • Peer-2 -peer-based collaborations • The business logic is distributed across the peers • Global view on the composition: top-down approach • WS-CDL B request PO S check availabie S provide offer S W B B S P payment cancel B confirm S B S S initiate shipment W
WS-CDL • Pure Choreography language • Stateful model of composition • Definition of both Data Flow and Control Flow • Rich and easy-to-use modeling language • Recursive compositionality – reuse • Formal basis – Global Model Formalism • Declarative coordination, information alignment, compensation, exception handling
WS-CDL: actor view <Participant>s: <Behavior>s: Physical Entities WSDL interfaces Customer Buyer Requesting Payment Addresser Shipment <Role>s: Abstract Entities
WS-CDL: global view Shop Customer Buyer Seller Addresser Warehouse Shipper <Channel>s: <Relationship>s: Binary relations Collaboration points
WS-CDL: channel • Realizes Dynamic point of collaboration • Where and how messages are sent • Role of the target participant, reference to the participant instance • Identity of channel, identity of conversation Channel name action = request | respond | request-respond passing = list of passing channels role = target of the channel reference = variable storing the reference to the participant identity = unique ID descriptors – correlation
WS-CDL: data view • Data types • XML Schema • Variables • Described in the context of the choreography • local to roles • Variable usage • Information exchange capturing • State capturing • Channel capturing • Exception capturing • Availability • Result of interaction • Interaction recording • Locally through assignment • Tokens and token locators Variable name type mutable = true | false free = true | false silent = true | false roles = list of roles
WS-CDL: choreography view • Collaboration unit of work • Combines and orders activities • Scopes variables • Recovery: exceptions, compensations Choreography name complete = boolean expression isolation = true | false root = true | false coordination = true | false relationship+ variable. Definitions? choreography* Activity. Definition exception. Block finalizer. Block - rule for explicit completion visibility of parallel modifications main or subordinate external coordination is used - participating relations local variables local choreographies behavior
WS-CDL: choreography lifecycle exception Unsuccessfully completed initiating interaction inactive enabled handled Finished, complete=true Closed finalized Successfully completed
WS-CDL: behavior • Structured activities • Sequence • Parallel • Choice • Workunit • Interactions • Composition of choreographies • perform • Basic activities • no. Action • silent. Action • finilize • assign
WS-CDL: interaction • Global communication collaboration • Defines information exchanges • Defines possibility for timeout • Declares the requirements for the information alignment interaction name channel operation align = true | false initiate = true | false relationship from to exchange* type action = request | respond send receive timeout time record when = before | after | to source target
WS-CDL: workunit • Activity unit that prescribes reaction rules that specify constraints to be satisfied to made normal/abnormal progress • Combines data-driven and event-driven reaction rules • Refer to data events workunit name guard = boolean expression repetition = boolean expression block = true | false • Blocking patterns Blocking when (guard) { body }until (not repetition) Non-blocking while (guard) { body }until (not repetition)
WS-CDL: expressions • Expressions • XPath 1. 0 • WS-CDL specific • WS-CDL Functions • Current time/date functions, channel references • has. Duration. Passed / has. Deadline. Passed – measure time from the beginning of the condition evaluation • get. Variable / is. Variable. Availeable – get value/check the data event • variables. Aligned – whether the participants of the relationship have common knowledge on the variables information • globalized. Trigger – set of expressions evaluated separately at different roles • has. Exception. Occured / has. Choreography. Completed / get. Choreography. Status
WS-CDL: summary D O O • Expressive and rich language for modeling global view of the composition G • W 3 C standardization • Formal basis • Still work-in-progress AD B • Draft state • No support from MS and IBM • Not fully formalized – parallel formalization effort • A lot of open problems LY UG • How, where, and when the coordination protocols are to be used • How to ensure/check information alignment, choreography coordination • How to analyze choreography correctness and conformance • How to generate correct behavioral interfaces
WS-CDL: composition task • Given • a set of behavioral interfaces • Choreography specification • Set of predefined requirements, like alignment, no message loss, atomicity etc. • Generate • A set of executable processes • with a set of low-level coordination processes • Apply KL techniques • For ensuring information alignment: K(role 1. var = role 2. var) • For management of arbitrary data types
WS-CDL: verification task • Given • Choreography specification • Set of predefined requirements, like alignment, no message loss, atomicity etc. • Verify that the choreography is realizable • It is possible to generate peers that, collaborating in a distributed manner, will conform to the specification • Challenges • Services are loosely-coupled • Message crossing is possible • Message losses are possible • Arbitrary communication mechanism request PO B B cancel PO S S S Provide offer B
WS-CDL: verification task (2) • Given • Choreography specification • Set of predefined requirements, like alignment, no message loss, atomicity etc. • And set of peer implementations (e. g. BPEL processes, coordination protocol) • Verify that the composition of implementations conforms • The requirements are satisfied (e. g. alignment is guaranteed, coordination is guaranteed) • Challenges • Arbitrary communication mechanism • Message crossing and losses are possible • Formalization and verification of coordination and alignment requirements – application of KL techniques
WS-CDL: monitoring task • Given • a set of deployed participants • Choreography specification • Set of predefined requirements, like alignment, no message loss, atomicity etc. • Run-time check • Choreography conformance • …
? Questions
6cf71167d0322f7f612816e41fcbe613.ppt