Upload
colman
View
27
Download
0
Embed Size (px)
DESCRIPTION
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 - PowerPoint PPT Presentation
Citation preview
WS-CDL: the GOOD the GOOD the BAD the BAD the UGLY the UGLY
Outline
• Composition Viewpoints
• WS-CDL overview
• Specific features
• Research activities• Composition
• Verification
• monitoring
Viewpoints: orchestration
• OrchestrationOrchestration focuses on the behavior of a single participantsingle participant• Controller-based
• Process is locally enforced by the process’s logic
• BPEL
BuyerBuyer
decide PO
send PO
receive offer
2 buy or not 2 buy
send Ack
sendReject
Internal Behavior Observable Behavior
SellerSeller
Viewpoints: behavioral interfaces
• Behavioral interfaceBehavioral interface defines the behavior of a single participant single participant observed from outside
• Hide the internal detail
• Composition is defined as a set of participants interfaces: bottom-up approachbottom-up approach
• Abstract BPEL
BuyerBuyer
send PO
receive offer
send Ack
sendReject
receive PO
send offer
receive Ack
receiveReject
Viewpoints: choreography
• ChoreographyChoreography focuses on the global collaboration of a multiple multiple participantsparticipants• Peer-2-peer-based collaborations
• The business logic is distributed across the peers
• Global view on the composition: top-down approachtop-down approach
• WS-CDL
request PO
check availabie
provide offer
confirmcancel
payment
initiateshipment
B S
B
B
B B
S
S
S
S SS
W
W
P
WS-CDL
• Pure Choreography 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
CustomerCustomer
WS-CDL: actor view
BuyerBuyer
RequestingRequesting
PaymentPayment
AddresserAddresser
<Behavior>s:
WSDL interfaces
<Role>s:
Abstract Entities
ShipmentShipment
<Participant>s:
Physical Entities
WS-CDL: global view
CustomerCustomer
BuyerBuyer
AddresserAddresser
WarehouseWarehouseShipperShipper
ShopShop
SellerSeller
<Relationship>s:
Binary relations
<Channel>s:
Collaboration points
WS-CDL: channel
• Realizes Dynamic 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 - 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
WS-CDL: choreography lifecycle
initiating interaction
inactive enabled
Unsuccessfullycompleted
exception
Finished,complete=true
Successfullycompleted
Closed
finalized
handled
WS-CDL: behavior
• Structured activities• Sequence
• Parallel
• Choice
• Workunit
• Interactions
• Composition of choreographies• perform
• Basic activities• noAction
• silentAction
• 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 reactionreaction rules 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)
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 common knowledgeknowledge on the variables information
• globalizedTrigger – set of expressions evaluated separately at different roles
• hasExceptionOccured / hasChoreographyCompleted / getChoreographyStatus
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
• How to ensure/check information alignment, choreography coordinationinformation alignment, choreography coordination
• How to analyze choreography correctnesscorrectness and conformanceconformance
• How to generate correct behavioral interfacesgenerate correct behavioral interfaces
GOOD
BAD
UGLY
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
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
Provideoffer
cancel PO
S
B S
B
S 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 alignmentcoordination 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
• …
• …
• …
QuestionsQuestions??