Post on 23-Feb-2016
description
1
WS Technologies IIIBPEL4WS
Roberto BruniDipartimento di Informatica Università di Pisa
Models and Languages for Coordination and Orchestration
IMT- Institutions Markets Technologies - Alti Studi Lucca
2
Roberto Bruni @ IMT Lucca 23 March 2005
Models and Languages for Coordination and Orchestration
InstitutionsMarketsTechnologies
IMT
Contents Orchestration and Choreography WSFL Transactions and Compensations BPEL4WS
3
Roberto Bruni @ IMT Lucca 23 March 2005
Models and Languages for Coordination and Orchestration
InstitutionsMarketsTechnologies
IMT
WS Composition and Transactions: Early Work
eCo framework vague notion of orchestration created by CommerceNet to demonstrate the value
of integrating e-commerce services focus on the document exchanges required for B2B
integration WSCL (Web Services Conversation Language)
somewhat analogous to web services choreography outlined a simple conversation language standard, focused on modeling the sequencing of interaction
between web services
4
Roberto Bruni @ IMT Lucca 23 March 2005
Models and Languages for Coordination and Orchestration
InstitutionsMarketsTechnologies
IMT
WS Composition and Transactions: Early Work
WSFL IBM proposal flow model for orchestration, global model for choreography allowed for recursive (de)composition supported handling of exceptions had no direct support for transactions
XLANG developed by Microsoft for the Microsoft BizTalk Server provided block-structured support for sequential, parallel,
and conditional process control flow included a robust exception handling facility had support for long-running transactions through
compensation
5
Roberto Bruni @ IMT Lucca 23 March 2005
Models and Languages for Coordination and Orchestration
InstitutionsMarketsTechnologies
IMT
WS Composition and Transactions: WSCI
Web Services Choreography Interface pronounced “Whiskey” proposed by Sun, SAP, BEA, and Intalio XML-based choreography language for WS collaboration abstract processes, not executable processes supports message correlation, sequencing rules,
dynamic collaboration, exception handling and transactions
only describes the observable behavior between WS each partner needs a single WSCI document
a WSCI choreography includes a set of WSCI documents
6
Roberto Bruni @ IMT Lucca 23 March 2005
Models and Languages for Coordination and Orchestration
InstitutionsMarketsTechnologies
IMT
Business Process Management Language developed by Business Process Management Initiative
(BPMI.org), chartered by Intalio, Sterling Commerce, Sun, CSC, and others
initially designed to support executable business processes (over a BPMS), but the first draft also incorporated the WSCI protocol
basic activities for sending, receiving, and invoking services structured activities that handle conditional choices,
sequential and parallel activities, joins, looping, and scheduling of tasks at specific times
other features include persistence, roles, instance correlation, and recursive decomposition
WS Composition and Transactions: BPML
7
Roberto Bruni @ IMT Lucca 23 March 2005
Models and Languages for Coordination and Orchestration
InstitutionsMarketsTechnologies
IMT
WS Composition and Transactions: BPEL4WS
Business Process Execution Language for Web Services promoted by IBM, Microsoft, and BEA supersedes XLANG and WSFL (but is far more complex) XML-based grammar, leveraging WSDL for describing
the control logic abstract processes (called business protocols) executable processes (over an orchestration engine) includes support for both basic and structured activities mechanism for catching and handling faults (like Java) compensatory activities via compensation handler
8
Roberto Bruni @ IMT Lucca 23 March 2005
Models and Languages for Coordination and Orchestration
InstitutionsMarketsTechnologies
IMT
WS Composition and Transactions
9
Roberto Bruni @ IMT Lucca 23 March 2005
Models and Languages for Coordination and Orchestration
InstitutionsMarketsTechnologies
IMT
BTP (Business Transactions Protocol) emerging proposal by OASIS (Organization for Advance
Structured Information Systems), involving HP, Oracle, BEA aimed to B2B transactions in loosely coupled domains (not
specifically for WS) WS-Coordination by W3C
describes how services can make use of pre-defined coordination contexts to subscribe to a particular role in a collaborative activity
WS-Transaction by W3C provides a framework for incorporating transactional
semantics into coordinated activities.
WS Composition and Transactions
10
Roberto Bruni @ IMT Lucca 23 March 2005
Models and Languages for Coordination and Orchestration
InstitutionsMarketsTechnologies
IMT
Business Process Execution Language for Web Services
BPEL4WS v1.1 (5 May 2003) released along with two others specifications:
WS-Coordination and WS-Transaction block-structured language (like XLANG),
allowing recursive blocks but restricting definitions and declarations to the top level
activities as the basic components structured activities for sequential control include
sequence, switch, and while also nondeterministic choice based on external events
(pick) concurrency and synchronization between
activities is provided by flow (like WSFL)
11
Roberto Bruni @ IMT Lucca 23 March 2005
Models and Languages for Coordination and Orchestration
InstitutionsMarketsTechnologies
IMT
BPEL4WS: Terminology Partners (service providers)
a subset of the partner links of the process Partner links
the services with which a business process interacts each partner link is characterized by a
partnerLinkType Partner link type
characterizes the conversational relationship between two services
by defining the "roles" played by each of the services in the conversation
and specifying the portType provided by each service to receive messages within the context of the conversation
12
Roberto Bruni @ IMT Lucca 23 March 2005
Models and Languages for Coordination and Orchestration
InstitutionsMarketsTechnologies
IMT
BPEL4WS: Terminology Variables
provide the means for holding messages that constitute the state of a business process
variables can also hold data that are needed for holding state related to the process and never exchanged with partners
the type of each variable may be a WSDL message type, an XML Schema simple type or an XML Schema element
13
Roberto Bruni @ IMT Lucca 23 March 2005
Models and Languages for Coordination and Orchestration
InstitutionsMarketsTechnologies
IMT
BPEL4WS: Activities <receive>
blocking wait for a matching message to arrive <reply>
to send a message in reply to a message that was received through a <receive>
the combination of a <receive> and a <reply> forms a request-response operation on the WSDL portType
<invoke> to invoke a one-way or request-response
operation on a portType offered by a partner
14
Roberto Bruni @ IMT Lucca 23 March 2005
Models and Languages for Coordination and Orchestration
InstitutionsMarketsTechnologies
IMT
BPEL4WS: Activities <assign>
to update the values of variables with new data
copying data from one variable to another is a common task within a business process
a single <assign> construct can contain any number of elementary assignments
this activity can also be used to copy endpoint references to and from partner links
15
Roberto Bruni @ IMT Lucca 23 March 2005
Models and Languages for Coordination and Orchestration
InstitutionsMarketsTechnologies
IMT
BPEL4WS: Activities <throw>
to generate a fault from inside the business process
<wait> to wait for a given time period or until a
certain time has passed <empty>
nil activity (useful for synchronization of concurrent activities)
16
Roberto Bruni @ IMT Lucca 23 March 2005
Models and Languages for Coordination and Orchestration
InstitutionsMarketsTechnologies
IMT
BPEL4WS: Activities <sequence>
to define a collection of activities to be performed sequentially in lexical order
<switch> to select exactly one branch from a set of
choices <while>
to indicate that an activity is to be repeated until a certain success criteria has been met
17
Roberto Bruni @ IMT Lucca 23 March 2005
Models and Languages for Coordination and Orchestration
InstitutionsMarketsTechnologies
IMT
BPEL4WS: Activities <pick>
to block and wait for a suitable message to arrive or for a time-out alarm to go off
when one of these triggers occurs, the associated activity is performed and the pick completes
<flow> to specify one or more activities to be performed
concurrently links can be used within concurrent activities to
define arbitrary control structures, but with great care ex. a link MUST NOT cross the boundary of a while activity, a
serializable scope, an event handler or a compensation handler
18
Roberto Bruni @ IMT Lucca 23 March 2005
Models and Languages for Coordination and Orchestration
InstitutionsMarketsTechnologies
IMT
BPEL4WS: Activities <scope>
to define a nested activity with its own associated variables, fault handlers, and compensation handler
<compensate> to invoke compensation on an inner scope
that has already completed normally can be invoked only from within a fault
handler or another compensation handler
19
Roberto Bruni @ IMT Lucca 23 March 2005
Models and Languages for Coordination and Orchestration
InstitutionsMarketsTechnologies
IMT
BPEL4WS: Other Features Message correlation (like WSCI) Transition and join conditions
dead path elimination Fault handlers Compensation handlers Event Handlers Serializable scopes ...
20
Roberto Bruni @ IMT Lucca 23 March 2005
Models and Languages for Coordination and Orchestration
InstitutionsMarketsTechnologies
IMT
It’s Not a Stack, It’s a Web of Dependencies
WS-Coordination WS-Transaction
WS-Addressing
WSDL 1.1
WS-SecureConversation
Xpath 1.0
XML Schema 1.0
XML 1.0XML Infoset XML Namespaces XML EncryptionX.509
WS-TrustWS-Policy
WS-Routing
A Partial View ( Gartner)
BPEL 1.1 WS-ReliableMessaging
WS-Security
XML Signature
SOAP 1.2WS-PolicyAssertions
WS-SecurityAddendum
WS-SecurityPolicy
WS-PolicyAttachments
21
Roberto Bruni @ IMT Lucca 23 March 2005
Models and Languages for Coordination and Orchestration
InstitutionsMarketsTechnologies
IMT
Vendor Landscape BEA WebLogic Workshop
while BEA contributed to both the BPEL4WS and WSCI initiatives, it does not provide native support for either standard
Collaxa Orchestration Server supports BPEL4WS, WS-Coordination, WS-
Transaction IBM BPWS4J
Java runtime platform for BPEL + editor Sun WSCI Editor
supports WSCI (in pat), not BPEL