1 ws technologies iii bpel4ws roberto bruni dipartimento di informatica università di pisa models...

21
1 WS Technologies III BPEL4WS Roberto Bruni Dipartimento di Informatica Università di Pisa Models and Languages for Coordination and Orchestration IMT- Institutions Markets Technologies - Alti Studi Lucca

Post on 21-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

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 NamespacesXML Encryption

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