Presentation is loading. Please wait.

Presentation is loading. Please wait.

The GOOD the BAD the UGLY WS-CDL: the GOOD the BAD the UGLY.

Similar presentations


Presentation on theme: "The GOOD the BAD the UGLY WS-CDL: the GOOD the BAD the UGLY."— Presentation transcript:

1 the GOOD the BAD the UGLY WS-CDL: the GOOD the BAD the UGLY

2 Outline Composition Viewpoints WS-CDL overview Specific features Research activities Composition Verification monitoring

3 Viewpoints: orchestration Orchestrationsingle participantOrchestration focuses on the behavior of a single participant Controller-based Process is locally enforced by the process’s logic BPEL Buyer decide PO send PO receive offer 2 buy or not 2 buy send Ack send Reject Internal BehaviorObservable Behavior

4 Seller Viewpoints: behavioral interfaces Behavioral interfacesingle participantBehavioral interface defines the behavior of a single participant observed from outside Hide the internal detail bottom-up approachComposition is defined as a set of participants interfaces: bottom-up approach Abstract BPEL Buyer send PO receive offer send Ack send Reject receive PO send offer receive Ack receive Reject

5 Viewpoints: choreography Choreographymultiple participantsChoreography focuses on the global collaboration of a multiple participants Peer-2-peer-based collaborations The business logic is distributed across the peers top-down approachGlobal view on the composition: top-down approach WS-CDL request PO check availabie provide offer confirmcancel payment initiate shipment BS B B BB S S S SS S W W P

6 WS-CDL ChoreographyPure 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

7 Customer WS-CDL: actor view Buyer Requesting Payment Addresser s: WSDL interfaces s: Abstract Entities Shipment s: Physical Entities

8 WS-CDL: global view Customer Buyer Addresser Warehouse Shipper Shop Seller s: Binary relations s: Collaboration points

9 WS-CDL: channel DynamicRealizes 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

10 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

11 WS-CDL: choreography view Collaboration unit of work Combines and orders activities Scopes variables Recovery: exceptions, compensations Choreography name complete = boolean expression- rule for explicit completion isolation = true | false- visibility of parallel modifications root = true | false- main or subordinate coordination = true | false- external coordination is used relationship+- participating relations variableDefinitions?- local variables choreography*- local choreographies ActivityDefinition- behavior exceptionBlock finalizerBlock

12 WS-CDL: choreography lifecycle initiating interaction inactiveenabled Unsuccessfully completed exception Finished, complete=true Successfully completed Closed finalized handled

13 WS-CDL: behavior Structured activities Sequence Parallel Choice Workunit Interactions Composition of choreographies perform Basic activities noAction silentAction finilize assign

14 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

15 WS-CDL: workunit reactionrulesActivity 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 Blocking patterns workunit name guard = boolean expression repetition = boolean expression block = true | false Blocking when (guard) { body }until (not repetition) Non-blocking while (guard) { body }until (not repetition)

16 WS-CDL: expressions Expressions XPath 1.0 WS-CDL specific WS-CDL Functions Current time/date functions, channel references hasDurationPassed / hasDeadlinePassed – measure time from the beginning of the condition evaluation getVariable / isVariableAvaileable – get value/check the data event common knowledgevariablesAligned – whether the participants of the relationship have common knowledge on the variables information globalizedTrigger – set of expressions evaluated separately at different roles hasExceptionOccured / hasChoreographyCompleted / getChoreographyStatus

17 WS-CDL: summary Expressive and rich language for modeling global view of the composition W3C standardization Formal basis Still work-in-progress Draft state No support from MS and IBM Not fully formalized – parallel formalization effort A lot of open problems How, where, and when the coordination protocols are to be used information alignment, choreography coordinationHow to ensure/check information alignment, choreography coordination correctnessconformanceHow to analyze choreography correctness and conformance generate correct behavioral interfacesHow to generate correct behavioral interfaces GOOD BAD UGLY

18 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(role1.var = role2.var) For management of arbitrary data types

19 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 Provide offer cancel PO S BS B SB

20 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 coordination and alignmentFormalization and verification of coordination and alignment requirements – application of KL techniques

21 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 … … …

22 Questions ?


Download ppt "The GOOD the BAD the UGLY WS-CDL: the GOOD the BAD the UGLY."

Similar presentations


Ads by Google