1 / 21

WS Technologies I II BPEL4WS

Models and Languages for Coordination and Orchestration IMT- Institutions Markets Technologies - Alti Studi Lucca . WS Technologies I II BPEL4WS. Roberto Bruni Dipartimento di Informatica Università di Pisa. Contents. Orchestration and Choreography WSFL Transactions and Compensations

nash
Télécharger la présentation

WS Technologies I II BPEL4WS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Contents • Orchestration and Choreography • WSFL • Transactions and Compensations • BPEL4WS Models and Languages for Coordination and Orchestration

  3. 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 Models and Languages for Coordination and Orchestration

  4. 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 Models and Languages for Coordination and Orchestration

  5. 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 Models and Languages for Coordination and Orchestration

  6. WS Composition and Transactions: BPML • 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 Models and Languages for Coordination and Orchestration

  7. 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 Models and Languages for Coordination and Orchestration

  8. WS Composition and Transactions Models and Languages for Coordination and Orchestration

  9. WS Composition and Transactions • 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. Models and Languages for Coordination and Orchestration

  10. 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) Models and Languages for Coordination and Orchestration

  11. BPEL4WS: Terminology • Partners (service providers) • a subset ofthe 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 Models and Languages for Coordination and Orchestration

  12. 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 Models and Languages for Coordination and Orchestration

  13. 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 Models and Languages for Coordination and Orchestration

  14. 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 Models and Languages for Coordination and Orchestration

  15. 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) Models and Languages for Coordination and Orchestration

  16. 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 Models and Languages for Coordination and Orchestration

  17. 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 Models and Languages for Coordination and Orchestration

  18. 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 Models and Languages for Coordination and Orchestration

  19. BPEL4WS: Other Features • Message correlation (like WSCI) • Transition and join conditions • dead path elimination • Fault handlers • Compensation handlers • Event Handlers • Serializable scopes • ... Models and Languages for Coordination and Orchestration

  20. It’s Not a Stack, It’s a Web of Dependencies BPEL 1.1 WS-ReliableMessaging WS-Coordination WS-Transaction WS-Addressing Xpath 1.0 WS-Security WS-Trust WSDL 1.1 WS-Policy WS-SecurityAddendum SOAP 1.2 WS-PolicyAssertions WS-SecurityPolicy WS-PolicyAttachments WS-Routing XML Schema 1.0 A Partial View ( Gartner) WS-SecureConversation XML Signature XML Encryption X.509 XML 1.0 XML Namespaces XML Infoset Models and Languages for Coordination and Orchestration

  21. 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 Models and Languages for Coordination and Orchestration

More Related