BPEL 2.0 Model
Enterprise Architect uses BPMN 2.0 as a graphical front-end to capture BPEL 2.0 Process description (as BPEL 2.0 does not have a standard graphical notation). Enterprise Architect uses the partial mapping specified in the BPMN 2.0 specification to map BPMN 2.0 constructs to BPEL 2.0.
Create a BPEL 2.0 Package Structure.
- Create a Package in the Project Browser.
- Click on the 'New Diagram' option in the Project Browser header drop-down menu.
- Select 'BPMN 2.0' in the 'Select From' field and 'BPEL' in the 'Diagram Types' field.
- Click on the 'BPEL' icon from the BPMN 2.0 - Business Process Toolbox and drag it into the created BPEL diagram.
BPEL 2.0 Package Structure
Project Browser Toolbar
Open the BPEL diagram under the <<BPELProcess>> stereotyped element.
Model the BPEL Process using the constructs in the BPMN 2.0 - Business Process Toolbox. Use these constructs in this toolbox to model BPEL 2.0.
BPMN 2.0 - Business Process page:
- Data Object
- Start Event
- Intermediate Event
BPMN 2.0 - Business Process Connectors page:
- Sequence Flow
- Message Flow
BPMN 2.0 Types page:
Model BPEL 2.0 Process
BPMN 2.0 Business Process Toolbox
Create Web Service Operations for the BPEL Process and other related Pools, if required.
Web Service Operation
Generate BPEL 2.0 code from the BPEL Process.
Generate BPEL 2.0
- Generating BPEL 2.0 from a BPMN 2.0 model is supported in the Business and Software Engineering and the Ultimate editions of Enterprise Architect
- Enable the BPMN 2.0 Technology in the 'MDG Technologies' dialog ('Configure > Technology > Manage')
BPEL 2.0 Example
- The Enterprise Architect Example file (EAExample.EAP) has a sample BPMN 2.0 model from which BPEL 2.0 can be generated
- If you have installed Enterprise Architect at the default location, open this file: C:\Program Files\Sparx Systems\EA\EAExample.EAP
- The BPMN 2.0 model Package is in: Project Models | Analysis and Business Modeling | BPEL Example | BPEL 2.0 Model
- Every BPEL Process and Sub-Process should start with a Start Event and end with an End Event
- Boundary Start and End Events are not supported
- Sequence Flow Looping is not supported in both Normal and Exception Paths
- All Sequence Flows should flow downstream and not upstream
- Sub-Process cannot be a Loop node and have boundary Intermediate Events
- Event Sub-Process cannot act as a Loop Node
- Assignments are not supported on:
- Start Events on Event Sub-Processes
- End Events
- Boundary Intermediate Events
- Tasks and Intermediate Events that immediately follow an XOR Event Gateway
- Exception Path has to merge back into the Normal Path
- An exception to this rule is boundary Compensation Intermediate Event, which should have a BPMN 2.0 Association to a Compensation Activity (that has no incoming or outgoing Sequence Flows)
- Multiple Exception Paths from an Activity must join at the same location in the Normal Path
- An Exception Path should not cross another Exception Path
- Activities in an Exception Path cannot have boundary Intermediate Events
- Pools are treated as black boxes (that is, they do not expose any details) and hence they cannot contain any child elements or have any incoming/outgoing Sequence Flow connectors