14.1 General
NOTE: The contents of this clause is REQUIRED for BPMN BPEL Process Execution Conformance or for BPMN Complete Conformance. However, this clause is NOT REQUIRED for BPMN Process Modeling Conformance, BPMN Process Choreography Conformance, or BPMN Process Execution Conformance. For more information about BPMN conformance types, see page 1.
This clause covers a mapping of a BPMN model to WS-BPEL that is derived by analyzing the BPMN objects and the relationships between these objects.
A Business Process Diagram can be made up of a set of (semi-) independent components, which are shown as separate Pools, each of which represents an orchestration Process. There is not a specific mapping of the diagram itself, but rather, each of these orchestration Processes maps to an individual WS-BPEL process.
Not all BPMN orchestration Processes can be mapped to WS-BPEL in a straight-forward way. That is because BPMN allows the modeler to draw almost arbitrary graphs to model control flow, whereas in WS-BPEL, there are certain restrictions such as control-flow being either block-structured or not containing cycles. For example, an unstructured loop cannot directly be represented in WS-BPEL.
To map a BPMN orchestration Process to WS-BPEL it MUST be sound, that is it MUST contain neither a deadlock nor a lack of synchronization. A deadlock is a reachable state of the Process that contains a token on some Sequence Flow that cannot be removed in any possible future. A lack of synchronization is a reachable state of the Process where there is more than one token on some Sequence Flow. For further explanation of these terms, we refer to the literature. To define the structure of BPMN Processes, we introduce the following concepts and terminology. The Gateways and the Sequence Flows of the BPMN orchestration Process form a directed graph. A block of the diagram is a connected sub-graph that is connected to the rest of the graph only through exactly two Sequence Flows: exactly one Sequence Flow entering the block and exactly one Sequence Flow leaving the block. A block hierarchy for a Process model is a set of blocks of the Process model in which each pair of blocks is either nested or disjoint and which contains the maximal block (i.e., the whole Process model) A block that is nested in another block B is also called a subblock of B (cf. Figure 14.1). Each block of the block hierarchy of a given BPMN orchestration Process has a certain structure (or pattern) that provides the basis for defining the BPEL mapping.
- 2.2Process Modeling Conformance
- 2.2.1BPMN Process Types
- 2.2.2BPMN Process Elements
- Common Executable Conformance Sub-Class
- 2.2.3Visual Appearance
- 2.2.4Structural Conformance
- 2.3Process Execution Conformance
- 2.3.1Execution Semantics
- 2.3.2Import of Process Diagrams
- 2.4BPEL Process Execution Conformance
- 2.5Choreography Modeling Conformance
- 2.5.1BPMN Choreography Types
- 2.6Summary of BPMN Conformance Types
- 3 Normative References
- 3.1General
- 3.2Normative
- 3.3Non-Normative
- Activity Service
- BPEL4People
- Business Process Definition Metamodel
- Business Process Modeling
- Business Transaction Protocol
- XPDL
- 4 Terms and Definitions
- 5 Symbols
- 6 Additional Information
- 6.1Conventions
- 6.1.1Typographical and Linguistic Conventions and Style
- 6.1.2Abbreviations
- 6.2Structure of this Document
- 6.3Acknowledgments
- Submitting Organizations
- 7.2BPMN Scope
- Understanding the Behavior of Diagrams
- 7.3BPMN Elements
- 8.3.4External Relationships
- Context-based Correlation
- 8.4.7Flow Element
- 8.4.14 Common Package XML Schemas
- 8.5Services
- 9 Collaboration
- 9.1General
- 9.2Basic Collaboration Concepts
- 9.2.1Use of BPMN Common Elements
- ParticipantAssociation
- 9.6Process within Collaboration
- 9.7Choreography within Collaboration
- 10.2 Basic Process Concepts
- 10.2.1 Types of BPMN Processes
- 10.3.7 Global Task
- Complex Behavior Definition
- 10.3.9 XML Schema for Activities
- 10.4 Items and Data
- 10.4.1 Data Modeling
- Item-Aware Elements
- Data Inputs and Outputs
- Data Output
- Assignment
- Execution Semantics for DataAssociation
- 10.4.3 Usage of Data in XPath Expressions
- Access to BPMN Data Objects
- 10.4.4 XML Schema for Data
- 10.5 Events
- Implicit Throw Event
- 10.5.2 Start Event
- Activity Boundary Connections
- Interrupting Event Handlers (Error, Escalation, Message, Signal, Timer, Conditional, Multiple, and Parallel Multiple)
- Non-interrupting Event Handlers (Escalation, Message, Signal, Timer, Conditional, Multiple, and Parallel Multiple)
- Handling End Events
- 10.5.7 Scopes
- 10.6.7 Gateway Package XML Schemas
- 10.7 Compensation
- 10.7.3 Relationship between Error Handling and Compensation
- 10.8 Lanes
- 10.9 Process Instances, Unmodeled Activities, and Public Processes
- 11 Choreography
- 11.1 General
- 11.4.2 Artifacts
- 11.5 Choreography Activities
- 11.6.3 End Events
- 11.7 Gateways
- 11.7.1 Exclusive Gateway
- 12 BPMN Notation and Diagrams
- 12.1 BPMN Diagram Interchange (BPMN DI)
- 12.1.1 Scope
- 12.1.2 Diagram Definition and Interchange
- 12.1.3 How to Read this Clause
- 12.2 BPMN Diagram Interchange (DI) Meta-model
- 12.2.1 Overview
- 12.2.2 Abstract Syntax
- 12.2.4 Complete BPMN DI XML Schema
- 12.3 Notational Depiction Library and Abstract Element Resolutions
- 12.4.5 Choreography
- 13.2 Process Instantiation and Termination
- 13.3 Activities
- 13.3.3 Task
- 13.3.4 Sub-Process/Call Activity
- 13.3.5 Ad-Hoc Sub-Process
- Operational semantics
- 13.3.6 Loop Activity
- 13.3.7 Multiple Instances Activity
- 13.5 Events
- 13.5.1 Start Events
- 13.5.2 Intermediate Events
- 13.5.3 Intermediate Boundary Events
- 13.5.4 Event Sub-Processes
- Operational semantics
- 13.5.5 Compensation
- Compensation Handler
- 13.5.6 End Events
- Process level end events
- 14 Mapping BPMN Models to WS-BPEL
- 14.1 General
- 15 Exchange Formats
- 15.1 Interchanging Incomplete Models
- 15.2 Machine Readable Files
- 15.3.1 Document Structure
- 15.5 XSLT Transformation between XSD and XMI
- B.1 Scope
- B.2 Architecture
- B.4 Diagram Interchange
- B.4.1 Overview