WS Orchestration

advertisement
WS Orchestration
http://tmitwww.tm.tue.nl/staff/wvdaalst/Publications/p176.pdf
http://www-106.ibm.com/developerworks/webservices/library/ws-bpelcol2/
http://devresource.hp.com/drc/technical_white_papers/WSOrch/WSOrchestration.pdf
Eyal Oren
DERI
2004/04/07
Survey of WS orchestration
• definitions & requirements
• survey of standards
– BPEL4WS
– BPML
– WSCI
• survey of vendors
Eyal Oren
2
Definitions
• orchestration
–
–
–
–
executable process (that interacts with other web services)
control from the perspective of one business partner
for implementation
workflow
• choreography
–
–
–
–
this is the private process, our
orchestration is subset of this
this is like our choreography
sequence of messages
public message exchanges
for collaboration
protocols
Eyal Oren
3
Requirements
• a-synchronicity
we need to have this
– need message correlation: identifying returning calls
• exception management
we need to have this
– services (operations) throw & catch exceptions
• compensating transactions
we need to have this
– resource locking not feasible
• reusable composition:
– separation process logic – used web services
goal – capability separation
– don’t understand, looking for
hierarchy?
web service
– capability separation
Eyal Oren
4
Standards overview
• BPEL4WS
–
–
–
–
describes (control logic for) coordination of web services
Microsoft, IBM, BEA (XLANG & WSFL)
execution environment (BPWS4J)
not considered by W3C : not royalty-free
• BPML
– describes executable business processes
– Intalio, Sun, …, bpmi.org/members.esp
• WSCI
– describes messages between collaborating web services
– Sun, SAP, BEA, Intalio
Eyal Oren
5
Standards relation
Eyal Oren
6
BPEL4WS (1)
• (control logic for) coordination of web services
• abstract processes:
– choreography
– public message exchange
• executable processes:
– orchestration
– private workflow
• on top of WSDL
Eyal Oren
7
BPEL4WS (2)
• primitive activity (input & input-output operations)
–
–
–
–
–
–
–
–
invoke
receive
reply
wait
assign
throw
terminate
empty
(an operation on a web service)
(waiting for invocation)
(responding, in input/output operation)
(for … time)
(copy & compute data to variables)
(exception)
(stop service instance)
• structure activity (control flow)
– combines primitives using: sequence, branch, loop, pick, flow
– need more time to investigate possibilities
Eyal Oren
8
BPEL4WS (3)
(WSDL defines messages, operations, porttypes)
• link
–
–
–
–
describes conversation between two roles
(specifies porttype of service, to receive messages)
multiple messages can be exchanged during conversition
we need this too
partner: web service with role in linktype
(as Axel said on wsmo-d)
• business process: list of activities (with partners)
• actual web service grounding can be dynamic
– unclear yet (WS-Adressing)
– BPWS4J uses hard-wired at deploy
Eyal Oren
9
BPML
• language for describing business processes
• simple activity
– action, assign, call, compensate, delay, fault, synch
• complex activity
– all, choice, foreach, sequence, switch, until, while
• transaction support (compensation, nesting)
• exception handling (throw, timeout)
Eyal Oren
10
WSCI
• language for describing web services collaboration
• message correlation
• sequencing rules
– basic: call, delay, empty, fault, spawn, join
– complex: all, choice, foreach, sequence, switch, until, while
is this really only public
– but cannot specify input/output
message exchange then?
• exception handling
• transactions
Eyal Oren
11
Comparison
•
•
•
•
BPEL4WS – BPML+WSCI
intentions are the same
no comparison in the article, no thorough search
vd Aalst: pattern-based comparison:
– WSCI – BPML
• offer same functionality
• too much overlap to justify separation
• WSCI can be used to model
– BPEL4WS – BPML
• little more expressive
• no semantics
• too many overlapping constructs
Eyal Oren
12
Useful for WSMO
• either: borrow requirements
–
–
–
–
–
asynchronicity
exception management
compensation
message correlation
control flow construct (workflow patterns, vd Aalst)
• or: use a standard
Eyal Oren
13
Download