operation either sends a message (one-way), receives and
sends a message (request-response), sends and receives a
message (solicit-response), or receives a message (notifica-
tion). WSDL services and the corresponding operations are
glued together to provide composed services. To glue such
services together a process model is needed to specify the
order in which the operations are executed. A web service
composition language provides the means to specify such
a process model. An important difference between WSDL
and a language like BPEL4WS has to do with state man-
agement. WSDL is in essence stateless because the lan-
guage is not aware of states in-between operations. The
only state notion supported is the state in-between sending
and receiving a message in a request-response or solicit-
response operation. Any technology supporting a web ser-
vice composition language will have to record states for
processes that are more complex than a simple request-
response. Only by recording the state it is possible to de-
termine what should/can be done, thus enabling long-lived
business transactions.
The BPEL4WS specification builds on IBM’s WSFL
(Web Services Flow Language) and Microsoft’s XLANG
(Web Services for Business Process Design). XLANG is a
block-structured language with basic control flow structures
such as sequence, switch (for conditional routing), while
(for looping), all (for parallel routing), and pick (for race
conditions based on timing or external triggers). In contrast,
WSFL is graph-oriented, and relies mainly on the concept
of control links. Graphs defined using control-links can be
nested but need to be acyclic. Iteration is only supported
through exit conditions, i.e., an activity/subprocess is iter-
ated until its exit condition is met. The control flow part of
WSFL is almost identical to the workflow language used by
IBM’s MQSeries Workflow. This may be surprising given
the fact that this workflow language is very different from
most others. For example, the semantics of control links
in MQSeries Workflow is defined in terms of the so-called
“dead-path elimination” principle. The idea of dead-path
elimination is that both positive and negative values can be
propagated through control links, determining whether the
activities in a path should be executed or not. Using this
idea, it is possible to capture not only the basic “merging”
patterns, namely Synchronization (WP3) and Simple Merge
(WP5), but also the more advanced Synchronizing Merge
(WP7), which is not supported by many mainstream work-
flow products. Although dead-path elimination is a nice fea-
ture, it is quite exotic and not supported by most systems.
The correspondence between WSFL and MQSeries
Workflow can easily be explained by the fact that both lan-
guages are defined by the same people. Similar comments
can be made for XLANG and Microsoft’s BizTalk Orches-
trator. XLANG is based on the current middleware solution
of Microsoft and therefore hardly qualifies as a “standard”.
Moreover, the merger of these two languages (WSFL and
XLANG) which are based on different paradigms, leads to
a language (BPEL4WS) with clearly overlapping constructs
(i.e. lacking orthogonality). For example, the simple pat-
terns (WP1–WP5) can be specified using either structured
activities (switch, sequence, etc.), or control links, or even
combinations of both as discussed in [23]. Hence, pro-
cess designers using BPEL4WS require guidance regarding
when to use which style (XLANG-style or WSFL-style).
BPEL4WS is not the only standard in the area of web
service composition that has been proposed in recent years.
Sun, BEA, SAP, and Intalio have introduced another can-
didate for web services composition: WSCI (Web Ser-
vice Choreography Interface), which has been taken as one
of its inputs by the recently created W3C Web Services
Choreography Group (www.w3.org/2002/ws/chor). Intalio
has also initiated the Business Process Management Ini-
tiative (BPMI.org) which developed the BPML (Business
Process Markup Language). OASIS and UN/CEFACT sup-
port ebXML (Electronic Business using eXtensible Markup
Language). Part of ebXML is BPSS (Business Process
Schema Specification), yet another standard having a sim-
ilar scope as BPEL4WS, WSFL XLANG, WSCI, and
BPML, but with subtle differences that deserve further in-
vestigation. The abundance of overlapping standards for
web services composition is overwhelming. In fact, the col-
lection of competing web services standards without clear
added value has been termed the Web Services Acronym
Hell (WSAH) [1].
Outside the web services domain there have been other
initiatives to standardize the specification of executable
business processes. Most notable is the initiative of the
Workflow Management Coalition (WfMC). Since 1993, the
WfMC has been active to standardize both a workflow pro-
cess definition language and the interfaces between vari-
ous workflow components. In August 2002 the WfMC re-
leased XPDL (XML Process Definition Language, Version
1.0 Beta) to support the exchange of workflow specifica-
tions between different workflow products. According to
Jon Pyke, WfMC Chair and CTO Staffware, XPDL is con-
sistent with BPEL4WS, but goes far beyond the standards
for web service composition. Clearly, many people work-
ing on standards for web service composition have not ben-
efit enough from the experiences in the workflow domain.
However, it is also clear that the standards of the WfMC
have not been adopted by the workflow vendors. Some of
the systems can export to XPDL, but none of them can im-
port XPDL from another system and still produce mean-
ingful results. One of the reasons is that after working on
workflow standards for more than a decade, there is still no
consensus on the workflow constructs that need to be sup-
ported and their semantics. It is remarkable how many dif-
ferent interpretations of a join construct exist in contempo-