1 / 22

WS-CDL: the GOOD the BAD the UGLY

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

colman
Download Presentation

WS-CDL: the GOOD the BAD the UGLY

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 • 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

  4. 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 PO receive offer send offer send Ack receive Ack send Reject receive Reject

  5. 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 request PO check availabie B S S W provide offer S B B S P payment cancel confirm initiate shipment B S B S S W

  6. 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

  7. WS-CDL: actor view <Participant>s: Physical Entities <Behavior>s: WSDL interfaces Customer Buyer Requesting Payment Addresser Shipment <Role>s: Abstract Entities

  8. WS-CDL: global view Shop Customer Seller Buyer Addresser Warehouse Shipper <Channel>s: Collaboration points <Relationship>s: Binary relations

  9. 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

  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 exception handled Unsuccessfully completed initiating interaction Finished, complete=true Closed inactive enabled finalized Successfully completed

  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 relationshipfromto exchange* type action = request | respond send receive timeout time record when = before | after | to sourcetarget

  15. WS-CDL: workunit • Activity unit that prescribes reactionrules 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 • variablesAligned – whether the participants of the relationship have common knowledgeon the variables information • globalizedTrigger – set of expressions evaluated separately at different roles • hasExceptionOccured / hasChoreographyCompleted / getChoreographyStatus

  17. WS-CDL: summary GOOD • 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 • How to ensure/check information alignment, choreography coordination • How to analyze choreography correctness and conformance • How to generate correct behavioral interfaces 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 B S cancel PO Provide offer B S S B

  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 • Formalization 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

More Related