1
Business Process Execution Language
for Web Services
Version 1.1
5 May 2003
Authors (alphabetically):
Tony Andrews
, Microsoft
Francisco Curbera
, IBM
Hitesh Dholakia
, Siebel Systems
Yaron Goland, BEA
Johannes Klein
, Microsoft
Frank Leymann
, IBM
Kevin Liu
, SAP
Dieter Roller
, IBM
Doug Smith
, Siebel Systems
Satish Thatte, Microsoft (Editor)
Ivana Trickovic
, SAP
Sanjiva Weerawarana
, IBM
Copyright© 2002, 2003 BEA Systems
, International Business Machines Corporation,
Microsoft Corporation, SAP AG, Siebel Systems.
All rights reserved.
Permission to copy and display the "Business Process Execution Language for Web Services
Specification, version 1.1 dated May 5, 2003" (hereafter "the BPEL4WS Specification"), in
any medium without fee or royalty is hereby granted, provided that you include the
following on ALL copies of the BPEL4WS Specification, or portions thereof, that you make:
1. A link to the BPEL4WS Specification at these locations:
http://dev2dev.bea.com/technologies/webservices/BPEL4WS.jsp
http://www-106.ibm.com/developerworks/webservices/library/ws-bpel/
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbiz2k2/html/bpel1-
1.asp
http://ifr.sap.com/bpel4ws/
http://www.siebel.com/bpel
2
2. The copyright notice as shown in the BPEL4WS Specification:
BEA, IBM, Microsoft, SAP AG and Siebel Systems (collectively, the “Authors”) agree to grant
you a royalty-free license, under reasonable, non-discriminatory terms and conditions, to
patents that they deem necessary to implement the Business Process Execution Language
for Web Services Specification.
THE Business Process Execution Language for Web Services SPECIFICATION IS PROVIDED
"AS IS," AND THE AUTHORS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE
CONTENTS OF THE BPEL4WS SPECIFICATION ARE SUITABLE FOR ANY PURPOSE; NOR THAT
THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY
PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION
OF THE BPEL4WS SPECIFICATION.
The name and trademarks of the Authors may NOT be used in any manner, including
advertising or publicity pertaining to the BPEL4WS Specification or its contents without
specific, written prior permission. Title to copyright in the BPEL4WS Specification will at all
times remain with the Authors.
No other rights are granted by implication, estoppel or otherwise.
Abstract
This document defines a notation for specifying business process behavior based on Web
Services. This notation is called Business Process Execution Language for Web Services
(abbreviated to BPEL4WS in the rest of this document). Processes in BPEL4WS export and
import functionality by using Web Service interfaces exclusively.
Business processes can be described in two ways. Executable business processes model
actual behavior of a participant in a business interaction. Business protocols, in contrast,
use process descriptions that specify the mutually visible message exchange behavior of
each of the parties involved in the protocol, without revealing their internal behavior. The
process descriptions for business protocols are called abstract processes. BPEL4WS is meant
to be used to model the behavior of both executable and abstract processes.
BPEL4WS provides a language for the formal specification of business processes and
business interaction protocols. By doing so, it extends the Web Services interaction model
and enables it to support business transactions. BPEL4WS defines an interoperable
integration model that should facilitate the expansion of automated process integration in
both the intra-corporate and the business-to-business spaces.
3
Status
This is a second public draft release of the BPEL4WS specification. BPEL4WS represents a
convergence of the ideas in the XLANG
and WSFL specifications. Both XLANG and WSFL are
superseded by the BPEL4WS specification.
4
Contents
1 INTRODUCTION.................................................................................................................................... 8
2 NOTATIONAL CONVENTIONS........................................................................................................10
3 RELATIONSHIP WITH WSDL.......................................................................................................... 11
4 WHAT CHANGED FROM BPEL4WS 1.0......................................................................................... 12
4.1.1 Core Concepts Clarification ........................................................................ 12
4.1.2 Terminology Changes................................................................................ 12
4.1.3 Feature Changes ...................................................................................... 12
5 CORE CONCEPTS AND USAGE PATTERNS................................................................................. 13
6 DEFINING A BUSINESS PROCESS ..................................................................................................14
6.1 Initial Example .............................................................................................. 14
6.2 The Structure of a Business Process ................................................................. 24
6.3 Language Extensibility .................................................................................... 31
6.4 The Lifecycle of a Business Process................................................................... 31
7 PARTNER LINK TYPES, PARTNER LINKS, AND ENDPOINT REFERENCES ...................... 32
7.1 Partner Link Types ......................................................................................... 33
7.2 Partner Links................................................................................................. 34
7.3 Business Partners .......................................................................................... 35
7.4 Endpoint References....................................................................................... 36
8 MESSAGE PROPERTIES ................................................................................................................... 36
8.1 Motivation .................................................................................................... 36
8.2 Defining Properties......................................................................................... 36
9 DATA HANDLING ............................................................................................................................... 38
9.1 Expressions .................................................................................................. 39
9.1.1 Boolean Expressions ................................................................................. 40
5
9.1.2 Deadline-Valued Expressions...................................................................... 40
9.1.3 Duration-Valued Expressions...................................................................... 40
9.1.4 General Expressions ................................................................................. 40
9.2 Variables ...................................................................................................... 41
9.3 Assignment................................................................................................... 42
9.3.1 Type Compatibility in Assignment ............................................................... 43
9.3.2 Assignment Example................................................................................. 44
10 CORRELATION .................................................................................................................................45
10.1 Message Correlation ..................................................................................... 46
10.2 Defining and Using Correlation Sets ................................................................ 47
11 BASIC ACTIVITIES...........................................................................................................................53
11.1 Standard Attributes for Each Activity............................................................... 53
11.2 Standard Elements for Each Activity ............................................................... 53
11.3 Invoking Web Service Operations ................................................................... 53
11.4 Providing Web Service Operations .................................................................. 55
11.5 Updating Variable Contents ........................................................................... 57
11.6 Signaling Faults ........................................................................................... 57
11.7 Waiting....................................................................................................... 57
11.8 Doing Nothing ............................................................................................. 58
12 STRUCTURED ACTIVITIES............................................................................................................ 58
12.1 Sequence.................................................................................................... 58
12.2 Switch........................................................................................................ 59
12.3 While ......................................................................................................... 60
12.4 Pick ........................................................................................................... 61
12.5 Flow........................................................................................................... 62
12.5.1 Link Semantics....................................................................................... 64
12.5.2 Dead-Path-Elimination (DPE).................................................................... 65
12.5.3 Flow Graph Example ............................................................................... 66
12.5.4 Links and Structured Activities.................................................................. 67
13 SCOPES................................................................................................................................................ 69