Title: WS-CDL: the GOOD the BAD the UGLY
1WS-CDL the GOOD the BAD
the UGLY
2Outline
- Composition Viewpoints
- WS-CDL overview
- Specific features
- Research activities
- Composition
- Verification
- monitoring
3Viewpoints orchestration
- Orchestration focuses on the behavior of a single
participant - Controller-based
- Process is locally enforced by the processs
logic - BPEL
Internal Behavior
Observable Behavior
Buyer
decide PO
send PO
receive offer
2 buy or not 2 buy
send Ack
send Reject
4Viewpoints 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
Seller
Buyer
send PO
receive PO
receive offer
send offer
send Ack
receive Ack
send Reject
receive Reject
5Viewpoints 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
B
S
B
S
P
payment
confirm
cancel
initiate shipment
B
B
S
S
S
W
6WS-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
7WS-CDL actor view
ltBehaviorgts WSDL interfaces
ltParticipantgts Physical Entities
Customer
Buyer
Requesting
Payment
Addresser
Shipment
ltRolegts Abstract Entities
8WS-CDL global view
Shop
Customer
Seller
Buyer
Addresser
Warehouse
Shipper
ltChannelgts Collaboration points
ltRelationshipgts Binary relations
9WS-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
10WS-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
11WS-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
12WS-CDL choreography lifecycle
exception
handled
Unsuccessfully completed
initiating interaction
Finished, completetrue
Closed
inactive
enabled
finalized
Successfully completed
13WS-CDL behavior
- Structured activities
- Sequence
- Parallel
- Choice
- Workunit
- Interactions
- Composition of choreographies
- perform
- Basic activities
- noAction
- silentAction
- finilize
- assign
14WS-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
15WS-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
- 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)
16WS-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 knowledge on the
variables information - globalizedTrigger set of expressions evaluated
separately at different roles - hasExceptionOccured / hasChoreographyCompleted /
getChoreographyStatus
17WS-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
18WS-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
19WS-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
S
B
Provide offer
cancel PO
B
S
S
B
20WS-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
21WS-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