Tecnologie per servizi web: WSDL, WSFL - PowerPoint PPT Presentation

About This Presentation
Title:

Tecnologie per servizi web: WSDL, WSFL

Description:

created by CommerceNet to demonstrate the value of integrating e-commerce services ... pronounced 'Whiskey' proposed by Sun, SAP, BEA, and Intalio ... – PowerPoint PPT presentation

Number of Views:36
Avg rating:3.0/5.0
Slides: 22
Provided by: RB2
Category:

less

Transcript and Presenter's Notes

Title: Tecnologie per servizi web: WSDL, WSFL


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

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

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

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

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

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

8
WS Composition and Transactions
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.

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)

11
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
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
BPEL4WS Activities
  • ltreceivegt
  • blocking wait for a matching message to arrive
  • ltreplygt
  • to send a message in reply to a message that was
    received through a ltreceivegt
  • the combination of a ltreceivegt and a ltreplygt
    forms a request-response operation on the WSDL
    portType
  • ltinvokegt
  • to invoke a one-way or request-response operation
    on a portType offered by a partner

14
BPEL4WS Activities
  • ltassigngt
  • 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 ltassigngt construct can contain any
    number of elementary assignments
  • this activity can also be used to copy endpoint
    references to and from partner links

15
BPEL4WS Activities
  • ltthrowgt
  • to generate a fault from inside the business
    process
  • ltwaitgt
  • to wait for a given time period or until a
    certain time has passed
  • ltemptygt
  • nil activity (useful for synchronization of
    concurrent activities)

16
BPEL4WS Activities
  • ltsequencegt
  • to define a collection of activities to be
    performed sequentially in lexical order
  • ltswitchgt
  • to select exactly one branch from a set of
    choices
  • ltwhilegt
  • to indicate that an activity is to be repeated
    until a certain success criteria has been met

17
BPEL4WS Activities
  • ltpickgt
  • 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
  • ltflowgt
  • 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
BPEL4WS Activities
  • ltscopegt
  • to define a nested activity with its own
    associated variables, fault handlers, and
    compensation handler
  • ltcompensategt
  • 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
BPEL4WS Other Features
  • Message correlation (like WSCI)
  • Transition and join conditions
  • dead path elimination
  • Fault handlers
  • Compensation handlers
  • Event Handlers
  • Serializable scopes
  • ...

20
Its Not a Stack, Its 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-Routing
WS-PolicyAttachments
XML Schema 1.0
A Partial View (? Gartner)
WS-SecureConversation
XML Signature
XML Encryption
X.509
XML 1.0
XML Infoset
XML Namespaces
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
Write a Comment
User Comments (0)
About PowerShow.com