Title: Dont go with the flow : Web services composition standards exposed
1Dont go with the flow Web services
composition standards exposed
- W.M.P. van der Aalst
- Presented By Prachi Jain
2The Problem
- Many web services composition languages
- Remarkable how much attention these different
standards receive - Fundamental issues semantics, expressiveness
and adequacy not addressed - Having standards is good, but too many and most
of them die before becoming mature - These languages have no clear semantics
- PDL, XPDL, BPSS, EDOC, BPML, ebXML, BPEL4WS
3The Goal
- Overcome the problems
- Critically evaluate the so-called standards for
web services composition i.e. Dont go with the
flow
4The Trends
- 2 trends in the world of E-business
- Technology push technologies taking XML-based
standards and Internet as starting point - Need to improve efficiency of processes from a
business perspective - Need to utilize potential of Internet Technology
by automating business processes across
enterprise boundaries
5Goal of Web Services
- Goal of web services
- Exploit XML technology and Internet
- Integrate applications that can be published,
located and invoked on the web
6The Need for Web Services Composition Languages
- Integrate business processes across enterprise
boundaries - Simple interactions using standard messages and
protocols not enough - Require long running interactions driven by
explicit process model - Hence the need for Web Services Composition
Language
7Web Services Composition Languages
- BPEL4WS, WSFL, XLANG, WSCI and BPML
- Also known as
- Web Services Flow Languages
- Web Services Execution Languages
- Web Services Orchestration Languages
- Web Enabled Workflow Languages
8Overview of Web Services Technology
9SOAP
- Simple Object Access Protocol
- Protocol for exchange of information
- In decentralized, distributed environment
- Using typed message exchange and remote
invocation - XML-based Protocol. 3 parts
- Envelope that defines framework for describing
what is a message and how to process it - Set of encoding rules for expressing instances of
application defined datatypes - Convention for representing Remote Procedure
calls and responses
10WSDL
- Web Services Description Language
- XML format for describing network services based
on standard messaging layer like SOAP - Defines services as a collection of network
endpoints or ports - Abstract definition of endpoints and messages
- Separated from concrete network deployment or
data format bindings
11WSDL
- Allows reuse of abstract definitions
- Messages abstract descriptions of data being
exchanged - Port types abstract collection of operations
- Concrete Protocol and data format specifications
for a particular port type constitute reusable
binding - Port Network Address Reusable Binding
- Service Collection of Ports
12UDDI
- Universal Description Discovery Integration
- Set of services supporting description and
discovery of - Businesses, Organizations and other web service
providers - The web services they make available
- Technical interfaces which may be used to access
those services - Can be used to build yellow pages for web
services
13Web Services Composition Languages
- Build directly on top of WSDL
- Provides and/or uses one or more WSDL services
- WSDL service ports that provide operations
- Each operation
- One-way receives a message
- Request-Response receives and sends a message
- Solicit-Response sends and receives a message
- Notification Sends a message
14Web Services Composition Languages
- WSDL services and corresponding operations glued
together to provide composed services - Process model needed to glue such services
- Process model specifies order of execution of
operations - Web services composition language provides the
means to specify such a process model - Example BPEL4WS Business Process Execution
Language for Web Services
15Difference between WSDL and Composition Language
- WSDL is stateless language not aware of states
in-between operations - WSDL only state notion supported is state in
between sending and receiving a message in
request-response or solicit-response operation - Technology supporting web service composition
language will have to record states more complex
than simple request-response - Triggered development of languages like BPEL4WS,
WSFL, XLANG, etc
16Overview of so-called standards
- BPEL4WS builds on
- IBMs WSFL ( Web Services Flow Language)
- Microsofts XLANG ( Web Services for Business
Process Design) - XLANG
- Block-structured language
- Basic control flow structures
- Sequence, switch Conditional Routing
- While Looping
- All Parallel Routing
- Pick Race Conditions based on timing or
external triggers
17Overview of so-called standards
- WSFL
- Not limited to block structure
- Allows directed graphs
- Graphs can be nested but need to be acyclic
- Iteration only supported through exit conditions
- Activity/subprocess iterated until exit condition
is met - Control flow part identical to workflow language
used by IBMs MQ Series Workflow - Workflow language very different from most
languages - Correspondence between WSFL and MQ series
workflow defined by same set of people - Similarly, XLANG completely based on current
Microsoft middleware solution - Therefore hardly qualifies as a standard
18Other so-called standards
- Sun, BEA, SAP and Intalio introduced WSCI (Web
Service Choreography Interface) - Intalio initiated Business Process Management
Initiative (BPMI.org) which developed BPML - ( Business Process Markup Language)
- OASIS and UN/CEFACT support ebXML
- ( Electronic Business using eXtensible Markup
Language) - Abundance of overlapping standards for web
services composition - These competing standards without clear added
value referred as Web Services Acronym Hell (WSAH)
19Other so-called standards
- Workflow Management Coalition (WfMC) released
XPDL (XML Process Definition Language) - Support exchange of workflow specifications
between different workflow products - Standards of WfMC not adopted by workflow vendors
- Some systems can export to XPDL
- None of the systems can import XPDL from another
system and still produce meaningful results - Still no consensus on the workflow constructs
that need to be supported and their semantics
20Comparing BPEL4WS, XLANG, WSFL, XPDL and WFM
products
- Development of web services composition language
driven by software vendors IBM, Microsoft, Sun,
BEA, SAP and Intalio - Standards often based on existing products
- WSFL copy of IBMs FlowMark/MQ Series Workflow
Language - Standards involving multiple software vendors,
often a compromise between competing viewpoints - Tend to be imprecise or unnecessarily complex
- XPDL imprecise standard therefore allowing
vendors to have their own interpretation
21Comparing BPEL4WS, XLANG, WSFL, XPDL and WFM
products
- Look for objective methods for comparing
- Use set of workflow patterns for comparing
- Patterns correspond to a routing construct often
required when designing a workflow - Patterns have been used for comparing about 20
workflow management systems - Author shows comparison for BPEL4WS, XLANG, WSFL,
XPDL and four concrete workflow management
systems.
22t
23Comparing BPEL4WS, XLANG, WSFL, XPDL and WFM
products
- First 5 patterns basic routing constructs e.g.
sequence, one can find in any language - Other patterns refer to more advanced constructs
not supported by most standards - refers to direct support
- Construct in the language that directly supports
the pattern - - refers to no direct support
- Does not mean that it is not possible to realize
the pattern through some workaround - /- represents feature that only partially
supports a pattern
24Observations
- BPEL4WS indeed combination of XLANG and WSFL
- WSFL and MQ Series Workflow are identical
- XPDL is less expensive than BPEL4WS
- XPDL can be seen as Greatest Common Denominator
of exisiting workflow languages rather than Least
Common Multiple - Relevant differences between Web Services
Composition Languages and Workflow Management
Systems for routing constructs - FLOWer is block structured like XLANG
- Other 3 are graph based like WSFL and XPDL
25Lessons Learned
- Well established process modeling techniques
combining expressiveness, simplicity and formal
semantics exist - Software industry has chosen to ignore these
- Hence, too many standards
- Driven by concrete products and/or commercial
interests - Users need to ignore standardization proposals
that are not using well established process
modeling techniques - Force vendors to address real problems
26What has been done since then ?
- BPEL4WS has been renamed by the OASIS WS-BPEL
technical committee to WS-BPEL - Truly, Web Services Acronym Hell (WSAH)
27Questions