0% found this document useful (0 votes)
61 views69 pages

Business Process Model and Notation

The document provides an overview of Business Process Model and Notation (BPMN) modeling capabilities in Enterprise Architect. It discusses how to access BPMN tools in Enterprise Architect, including BPMN diagram types and toolbox pages. It also provides steps for creating a basic BPMN diagram, such as adding flow objects, pools and lanes, and describes how to simulate and validate the model.

Uploaded by

Sai Venkat
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
61 views69 pages

Business Process Model and Notation

The document provides an overview of Business Process Model and Notation (BPMN) modeling capabilities in Enterprise Architect. It discusses how to access BPMN tools in Enterprise Architect, including BPMN diagram types and toolbox pages. It also provides steps for creating a basic BPMN diagram, such as adding flow objects, pools and lanes, and describes how to simulate and validate the model.

Uploaded by

Sai Venkat
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 69

ENTERPRISE ARCHITECT

User Guide Series

Business Process Model and


Notation (BPMN)

Author: Sparx Systems


Date: 10/11/2023
Version: 16.1

CREATED WITH
Table of Contents

Business Process Model and Notation (BPMN) 3


Getting Started 5
Example Diagram 8
Diagram Types 9
Business Process Diagrams 10
Choreography Diagrams 13
Collaboration Diagrams 15
Conversation Diagrams 18
Common Types 21
Model Structure and Reuse 23
Process Simulation 25
BPMN Simulation 27
Create a BPMN Simulation Model 28
Initialize Variables and Conditions 30
BPSim Business Simulations 32
Model Validation 35
Exchanging BPMN Models 36
Business Process Execution Language (BPEL) 38
BPEL 2.0 Model 39
Create BPEL 2.0 Model Structure 41
Model a BPEL 2.0 Process 43
Start Event 44
Intermediate Event 46
Activity 48
Gateway 50
End Event 51
Data Object 53
Property 54
Sequence Flow 56
Pool 57
Assignment 59
Create BPEL 2.0 Web Service Operation 61
Generate BPEL 2.0 64
BPEL Model Validation 65
Migrating from Previous Versions 66
More Information 68
Business Process Model and Notation (BPMN) 10 November, 2023

Business Process Model and Notation (BPMN)


Model Business Processes and Interactions Using a Standard Language

Business Process Model and Notation (BPMN) is a standard for business process modeling that provides graphical
notation for specifying business processes in a Business Process diagram (BPD), based on traditional flowcharting
techniques. The Object Management Group (OMG) develops and maintains the BPMN specification.
BPMN represents the amalgamation of best practices within the business modeling community to define the notation and
semantics of Collaboration diagrams, Process diagrams, and Choreography diagrams. It is intended to be used directly
by the stakeholders who design, manage and realize business processes, but at the same time be precise enough to allow
BPMN diagrams to be translated into software process components.
Business Process Model and Notation has become the de-facto standard for business process diagrams. It has an
easy-to-use flowchart-like notation that is independent of any particular implementation environment.

BPMN in Enterprise Architect

Key Features and Benefits


· Verification of the model through simulation
· Generation of documentation from the model
· Re-use of common components in other models, such as re-using a sub-process from the 'current' system when
modeling the 'future' system
· Serialization to XML for exchanging model information
· The BPMN Profile can be used to model BPEL process descriptions
· A technology-specific Glossary is provided for BPMN

How to Access the BPMN Facilities

BPMN facilities are provided in the form of:


· A BPMN diagram type, accessed through the 'New Diagram' dialog
· BPMN pages in the Toolbox
· BPMN element and relationship entries in the 'Toolbox Shortcut' menu and Quick Linker
Specifications of BPMN elements and relationships are defined by Tagged Values; for example, to define the Message
and Timer symbols in this diagram:

(c) Sparx Systems 2023 Page 3 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

BPMN Toolbox Pages

You can access the BPMN Toolbox pages through the 'Design > Diagram > Toolbox : 'Hamburger'' ribbon option, then
select BPMN 2.0.
You can also set BPMN as the active default technology to access the Diagram Toolbox pages directly.
Please note: Toolboxes for BPMN 1.0 and 1.1 can be accessed by selecting the perspective 'Business Modeling > All
Business Modeling".

(c) Sparx Systems 2023 Page 4 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Getting Started
The Business Process Model and Notation is well supported in Enterprise Architect and you can create any of the four
diagrams that describe both the internal workings of an entity or the interaction of one entity with other entities. You can
describe business, technology or engineering work flows and interactions. Business Process diagrams are an important
technique in the Business Analyst's toolbox and are often used as part of a processes re-engineering effort.
You and your team might want to prescribe the interactions between entities using a Collaboration, Choreography or
Conversation diagrams or just define or describe the Business Processes within a single entity such as an organization,
division or department.

Choreography diagram describing the interaction between a doctor and a patient.


The basic Steps to create a Business Process Diagrams are:
1. Create a Business Process diagram within the Business Process (recommended)
2. Add Flow Objects such as Initial and Final Nodes, Activities, Tasks and Gateways.
3. Add Pools and Lanes to segment the diagram.
4. Validate the diagram
5. SImulate the diagram
Within Enterprise Architect, modeling with BPMN 2.0 is well supported, quick and simple. Use these notes to guide you
as you create your business models.

Selecting the Perspective

Enterprise Architect partitions the tool's extensive features into Perspectives, which ensures that you can focus on a
specific task and work with the tools you need without the distraction of other features. To work with the Business
Process Model and Notation (BPMN) features you first need to select this Perspective:

<perspective name> > Business Modeling > BPMN


Setting the Perspective ensures that the Business Process Model and Notation diagrams, their tool boxes and other
features of the Perspective will be available by default.
Please note: If you select the 'BPMN' perspective, you will be using BPMN 2.0. If you want to use BPMN 1.0 or 1.1,
select the perspective 'All Business Modeling' or create your own custom perspective.

Creating a Business Process Diagram

(c) Sparx Systems 2023 Page 5 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

With the BPMN perspective selected you can add a new diagram by selecting the location in the Browser window and
choosing the Add Diagram option from the Context menu or from the Browser tool bar. You will be prompted to create
the diagram within a Business Process which you should select as this is compliant with the BPMN grammar and ensures
the diagram objects are located in a container.
You can also use some of the built-in patterns available for BPMN from the Model Patterns window to create a diagram
of any type from the wizard. Spend some time reading the description of the pattern to understand the diagram and
objects that will be inserted as part of the pattern.

Model Patterns window showing a basic Business Process diagram.

Adding Flow Objects to the Diagram

If you created the diagram from a pattern a number BPMN Flow Objects will be inserted in the diagram including an
Initial Node a number of Activities connected by Sequence Flows and a Final Node. You can add any number of other
Flow objects to the diagram dragging them from the appropriate toolbox or if you have elements for reuse you can drag
them from the Browser window. Notes can be added to each of the diagram elements which can be useful when
documenting the process.

(c) Sparx Systems 2023 Page 6 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

BPMN Toolbox pages showing elements and connectors.

Adding Pools and Lanes

Analysts will have different opinions but it is often easier to create the Pools and Lanes after a Business Process diagram
has been laid out. You might have to move some diagram objects around to ensure they fall into the appropriate lane but
some forward planning can assist with this. You can set the height and width of the Pools and Lanes and then make them
non-selectable by using the option from the Behavior item on the diagram element context menu.

Diagram Object menu showing the choice to make an object selectable or non selectable.
This ensures you are able to move diagram objects around freely without inadvertently selecting and moving the Pools or
their Lanes. You can make them selectable again at any time if required.

(c) Sparx Systems 2023 Page 7 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Example Diagram
While there are four diagrams that make up the standard, Business Process Diagrams are the most ubiquitous and
resemble traditional flowcharts. You use them to describe or specify business, technology or engineering work flows and
their simple but expressive graphical elements are for the most part universally understood by most stakeholders. You
can keep diagrams simple and when combined with Decision Model and Notation models straight through processes can
be achieved, ensuring the diagrams are free of visual clutter. You use Business Process diagrams to describe sequences
of Activities and Tasks controlled by Gateways that act like traffic cops, controlling the flow. You can add Pools and
Lanes, commonly called swimlanes, to represent the participants who carry out the Activities or Tasks.

Business Process diagram for a parts fulfillment process.

(c) Sparx Systems 2023 Page 8 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Diagram Types
The Business Process Model and Notation standard comprises four types of diagrams that you use to describe the
interactions between two or more business entities or to describe the Activities and Tasks that make up a discrete
processes within an entity such as an organization or one of its divisions or departments. The Business Process diagram
is the most ubiquitous of these and resembles a traditional flowchart but with richer semantics and the ability to generate
Business Process Execution Language directly from a well-formed diagram. You use these other diagrams to describe or
specify the way two or more entities (Participants) interact by exchanging messages. These diagram are instrumental in
visualizing business to business interactions and allow an organization to describe its internal processes ensuring they are
compliant with the message flows required for communication with other entities.

You can create BPMN elements and relationships on diagrams in BPMN 2.0 and BPEL formats using the BPMN 2.0
pages of the Diagram Toolbox.

Access

Use any of the methods outlined here to display the Diagram Toolbox, then click on to display the 'Find Toolbox
Item' dialog and specify 'BPMN 2.0'.

Ribbon Design > Diagram > Toolbox

Keyboard Shortcuts Ctrl+Shift+3

Other Click the icon on the Diagram caption bar to display the Diagram Toolbox

Diagram Type Toolboxes

Enterprise Architect provides a set of pages for each of these BPMN 2.0 diagram types:

Diagram Type

Business Process - contains the constructs needed to build Business Process models.

Choreography - contains the constructs needed to build Choreography models.

Collaboration - contains the constructs required to build Collaboration models.

Conversation - contains the constructs needed to build Conversation models.

Types - contains the constructs common to all BPMN 2.0 diagrams.

(c) Sparx Systems 2023 Page 9 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Business Process Diagrams


Business Process Diagrams are one of the most commonly used diagrams to describe the way a business works; they can
also be used to describe technology and engineering processes. You can draw the diagrams using the basic elements of
the language or alternatively you can create more detailed diagrams using many of the advanced elements. The level of
details you choose will not only be determined by the complexity of the processes you are describing but also by the
audiences' ability to interpret and understand the diagram. At their simplest they will comprise of a sequence of activities
with intervening gateways that act as decision points. You can add Pools and Lanes to a diagram to indicate the
participants in the process or who is responsible for each of the Activities and Tasks.

Business Process Diagram with two gateways and a single Pool that contains three Lanes indicating three participants.

To create BPMN elements and relationships on Business Process diagrams in either BPMN 2.0 or BPEL formats, you
can use the 'BPMN 2.0 Business Process' pages of the Diagram Toolbox.

BPMN 2.0 Diagram Orientation

On a BPMN 2.0 diagram, you can set the flow orientation to horizontal or vertical, or none (the default).
To set or clear the orientation, right-click on the diagram background and click on 'Set Diagram Flow Direction'. Then
click on either:
· None (the default, no specific orientation set)
· Horizontal (diagram flows across the page, Pool and Lane elements occupy the full width of the diagram), or
· Vertical (diagram flows down the page, Pool and Lane elements occupy the full height of the diagram)

Access

Use any of the methods outlined here to display the Diagram Toolbox, then click on to display the 'Find Toolbox
Item' dialog and specify 'BPMN 2.0 Business Process'.

Ribbon
Design > Diagram > Toolbox : to display the 'Find Toolbox Item' dialog and
specify 'BPMN 2.0 Business Process'

Keyboard Shortcuts
Ctrl+Shift+3 : | BPMN 2.0 | BPMN 2.0 Business Process

(c) Sparx Systems 2023 Page 10 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Other Click the icon on the Diagram caption bar to display the Diagram Toolbox, then

| BPMN 2.0 | BPMN 2.0 Business Process

BPMN 2.0 Business Process Elements

Item Use to

Business Process Extend a composite Activity that defines a business process.

BPEL Define the behavior of an executable or abstract business process.

Activity Represent work that is performed within a Business Process. An Activity can be
modeled as a:
· Sub-Process - a compound Activity that is defined as a flow of other BPMN
2.0 elements or
· Task - an atomic Activity that cannot be broken down into a smaller unit
As a sub-process, the Activity can be made a composite element that links to a child
diagram containing the flow of other BPMN elements.
A BPMN Activity is initially created on a diagram with the name centered at the
top. If you drag elements onto the Activity the name can be obscured, so the system
automatically moves the name into the top-left corner out of the way. You can also
control this movement manually, by right-clicking on the element and selecting the
'Is Expanded' option to toggle the setting.

Global Task Define a task or activity performed in the top-level process, at a higher level of
execution.

Data Object Provide or store the information for an Activity.

Data Store Represent a mechanism for an Activity to retrieve or update stored information.

Start Event Define the initiating event in a process.


Elements of this type cannot be edge-mounted on other elements.

Intermediate Event Define an intermediate event in a process.


Elements of this type can only be edge-mounted on Activity elements.

End Event Define the terminating event in a process.


Elements of this type cannot be edge-mounted on other elements.

Gateway Define a decision point in a business process.


If a condition is true then processing continues one way; if false, then another.

Pool Extend a Partition element to logically organize an Activity.

Lane Extend a Partition element to subdivide a Pool.

(c) Sparx Systems 2023 Page 11 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Message Represent the contents of a communication between two elements.

Group Extend a Boundary element to group other elements.

Text Annotation Create a comment.

BPMN 2.0 Business Sequence Flow


Process Connectors Use to: Extend a Control Flow relationship to define the flow of activity.

Association Link the information and Artifacts with BPMN graphic elements.

Message Flow Extend a Control Flow relationship to define the flow of communications in the
process.

Data Association Move data between Data Objects, Data Store, Properties and Activities, Processes.

Conversation Link Connect a Conversation Node with a Pool, in either direction.

BPMN 2.0 Business Process Connectors

Item Use to

Sequence Flow Sequence Flow


Use to: Extend a Control Flow relationship to define the flow of activity.

Association Link the information and Artifacts with BPMN graphic elements.

Message Flow Extend a Control Flow relationship to define the flow of communications in the
process.

Data Association Move data between Data Objects, Data Store, Properties and Activities, Processes.

Conversation Link Connect a Conversation Node with a Pool, in either direction.

Notes

· The appearance and specification of many elements and connectors are defined by Tagged Values

(c) Sparx Systems 2023 Page 12 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Choreography Diagrams
You can visualize the way two or more Participants coordinate their interactions using a Choreography diagram. The
focus in this type of diagram is not on orchestrations of the work performed within these Participants, but rather on the
exchange of information (Messages) between these Participants. The standard leverages the familiarity of Business
Process Diagrams that resemble simple flowcharts but where each activity reference two or more participants. Thus
Choreographies, like Business Process Diagrams, also have ordered sequences of “activities” connected by Sequence
Flows but these activities represent one or more interactions between Participants. These interactions are sometimes
called message exchange patterns (MEPs) which are the atomic units (“Activity”) of a Choreography. Message
exchanges between Participants can be more complex than simple request-response interactions into multi-cast,
contingent requests, competing receives, streaming, and other service interaction patterns. As a partner you can visualize
and plan your Business Processes for inter-operation with other business entities without introducing conflicts or having
to wait for definitions of how another participant's would respond to a message.

A Choreography diagram with three Activities (Choreographies) involving the interaction between two participants

To create BPMN elements and relationships on Choreography diagrams in either BPMN 2.0 or BPEL formats, you can
use the BPMN 2.0 Choreography pages of the Diagram Toolbox.

Access

Use any of the methods outlined here to display the Diagram Toolbox, then click on to display the 'Find Toolbox
Item' dialog and specify 'BPMN 2.0 Choreography'.

Ribbon
Design > Diagram > Toolbox : to display the 'Find Toolbox Item' dialog and
specify 'BPMN 2.0 Choreography'

Keyboard Shortcuts
Ctrl+Shift+3 : > Specify 'BPMN 2.0 Choreography' in the 'Find Toolbox Item'
dialog

Other Click the icon on the Diagram caption bar to display the Diagram Toolbox, then

> Specify 'BPMN 2.0 Choreography' in the 'Find Toolbox Item' dialog.

BPMN 2.0 Chorography Elements

(c) Sparx Systems 2023 Page 13 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Item Use to

Choreography Model Extend a composite Activity that defines a Choreography process.

Choreography Extend an Activity element to represent a process unit of information exchange


between elements.

Start Event Define the initiating event in a process.


Elements of this type cannot be edge-mounted on other elements.

Intermediate Event Define an intermediate event in a process.


Elements of this type can only be edge-mounted on Activity elements.

End Event Define the terminating event in a process.


Elements of this type cannot be edge-mounted on other elements.

Gateway Define a decision point in a business process.


If a condition is true then processing continues one way; if false, then another.

Message Represent the contents of a communication between two elements.

Pool Extend a Partition element to logically organize an Activity.

Text Annotation Create a comment.

BPMN 2.0 Chorography Connectors

Item Use to

Sequence Flow Define the order of activity in a Choreography.

Association Link the information and Artifacts with BPMN graphic elements.

Message Flow Extend a Control Flow relationship to define the flow of communications in the
process.

Notes

· The appearance and specification of some elements and connectors are defined by Tagged Values

(c) Sparx Systems 2023 Page 14 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Collaboration Diagrams
You can describe the messages that flow between two or more participants using Pools, where each pool in a
Collaboration diagram represents a participant . Messages that are exchanged as part of the interaction are visualized as
Message Flows between the pools. In a White Box collaboration the messages flows start with flow objects in one pool
and target flow objects in another pool. In Black Box collaborations the message flows target the edge of the pool and
the flow objects in the second pool are not represented.

Black Box Collaboration diagram, showing Message Flows that originate from flow objects and target the boundary of
the other participant's Pool.
The goal is to describe the interactions between the participants (organizations or people) showing the detailed flow
objects in one participant and the messages that flow between them. In black box collaborations the diagram does not
describe the details of how the other participant processes the messages, whereas in White Box the details of the other
participants' processes are described and the messages cross the pool boundary.

(c) Sparx Systems 2023 Page 15 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

White Box Collaboration diagram, showing Message Flows that originate from flow objects and target objects in the
other participant's Pool.

To create BPMN elements and relationships on Collaboration diagrams in either BPMN 2.0 or BPEL formats, you can
use the 'BPMN 2.0 Collaboration' pages of the Diagram Toolbox.

Access

Use any of the methods outlined here to display the Diagram Toolbox, then click on to display the 'Find Toolbox
Item' dialog and specify 'BPMN 2.0 Collaboration'.

Ribbon
Design > Diagram > Toolbox : > Specify 'BPMN 2.0 Collaboration' in the
'Find Toolbox Item' dialog

Keyboard Shortcuts
Ctrl+Shift+3 : > Specify 'BPMN 2.0 Collaboration' in the 'Find Toolbox Item'
dialog

Other Click the icon on the diagram caption bar to display the Diagram Toolbox, then

> Specify 'BPMN 2.0 Collaboration' in the 'Find Toolbox Item' dialog

BPMN 2.0 Collaboration Elements

Item Use to

Collaboration Model Extend a composite Activity that defines a Collaboration process.

Pool Extend a Partition element to logically organize an Activity.

Lane Extend a Partition element to subdivide a Pool.

Conversation Extend a Class element to group a set of Message Flows based on a certain concept.

Start Event Define the initiating event in a process.


Elements of this type cannot be edge-mounted on other elements.

Intermediate Event Define an intermediate event in a process.


Elements of this type can only be edge-mounted on Activity elements.

End Event Define the terminating event in a process.


Elements of this type cannot be edge-mounted on other elements.

Gateway Define a decision point in a business process.


If a condition is true then processing continues one way; if false, then another.

(c) Sparx Systems 2023 Page 16 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Activity Represents work that is performed within a Business Process. An Activity can be
modeled as a:
· Sub-Process - a compound Activity that is defined as a flow of other BPMN
2.0 elements or
· Task - an atomic Activity that cannot be broken down into a smaller unit

As a sub-process, the Activity can be made a composite element that links to a child
diagram containing the flow of other BPMN elements.

Data Object Provide or store the information for an Activity.

Data Store Represent a mechanism for an Activity to retrieve or update stored information.

Choreography Extend an Activity element to represent a process unit of information exchange


between elements.

Group Extend a Boundary element to group other elements.

Text Annotation Create a comment.

BPMN 2.0 Collaboration Connectors

Item Use to

Message Flow Extend a Control Flow relationship to define the flow of communications in the
process.

Conversation Link Connect a Conversation Node to or from an element.

Sequence Flow Extend a Control Flow relationship to define the flow of activity.

Association Link the information and artifacts with BPMN graphic elements.

Notes

· The appearance and specification of some elements and connectors are defined by Tagged Values

(c) Sparx Systems 2023 Page 17 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Conversation Diagrams
You can visualize a high level representation of groups of messages (conversations) transmitted between two or more
participants in a domain using a Conversation diagram. The goal is to present a summary of the messages that flow
between a group of participants in a domain. You group sets of messages into conversations thus hiding the complexity
of the choreography of the underlying messages. The conversations (hexagonal elements) are connected to the
participants that engage in the conversation. This creates an overview of how the participants interact together. Just as in
human speech it is possible simply to say that two (or more) parties engaged in a conversation about a topic without
going into the detail of what was said.

Conversation diagram with four Participants showing an overview of their interactions (conversations).

To create BPMN elements and relationships on Conversation diagrams in either BPMN 2.0 or BPEL formats, you can
use the BPMN 2.0 Conversation pages of the Diagram Toolbox.

Access

Use any of the methods outlined here to display the Diagram Toolbox, then click on to display the 'Find Toolbox
Item' dialog and specify 'BPMN 2.0 Business Process'.

Ribbon
Design > Diagram > Toolbox : > Specify 'BPMN 2.0 Conversation' in the
'Find Toolbox Item' dialog

Keyboard Shortcuts
Ctrl+Shift+3 : > Specify 'BPMN 2.0 Conversation' in the 'Find Toolbox Item'
dialog

Other Click the icon on the Diagram caption bar to display the Diagram Toolbox, then

> Specify 'BPMN 2.0 Conversation' in the 'Find Toolbox Item' dialog

(c) Sparx Systems 2023 Page 18 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

BPMN 2.0 Conversation Elements

Item Use to

Conversation Model Extend a composite Activity that defines the logical relationship of Message
exchanges between two or more business entities.

Conversation Extend a Class element to group a set of Message Flows together based on a certain
concept.

Pool Extend a Partition element to logically organize an Activity.

Activity Represents work that is performed within a Business Process. An Activity can be
modeled as a:
· Sub-Process - a compound Activity that is defined as a flow of other BPMN
2.0 elements or
· Task - an atomic Activity that cannot be broken down into a smaller unit

As a sub-process, the Activity can be made a composite element that links to a child
diagram containing the flow of other BPMN elements.

Start Event Define the initiating event in a process.


Elements of this type cannot be edge-mounted on other elements.

Intermediate Event Define an intermediate event in a process.


Elements of this type can only be edge-mounted on Activity elements.

End Event Define the terminating event in a process.


Elements of this type cannot be edge-mounted on other elements.

Gateway Define a decision point in a business process.


If a condition is true then processing continues one way; if false, then another.

Text Annotation Create a comment.

BPMN 2.0 Conversation Connectors

Item Use to

Conversation Link Connect a Conversation Node to a Pool element, in either direction.


Either the source or target element for a Conversation Link must be a Conversation
Node element.

Extend a Control Flow relationship to define the flow of communications in the

(c) Sparx Systems 2023 Page 19 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Message Flow process.

Sequence Flow Extend a Control Flow relationship to define the flow of activity.

Association Link the information and artifacts with BPMN graphic elements.

Notes

· The appearance and specification of some elements and connectors are defined by Tagged Values

(c) Sparx Systems 2023 Page 20 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Common Types
When you are working on a BPMN 2.0 diagram, you can also create a range of elements and connectors that are common
to all of the BPMN 2.0 diagram types, by dragging them from the BPMN 2.0 Types page of the Diagram Toolbox. The
'BPMN 2.0 Types' Toolbox page is common to all of the BPMN 2.0 Toolboxes.

Access

Use any of the methods outlined here to display the Diagram Toolbox, then click on to display the 'Find Toolbox
Item' dialog and specify 'BPMN 2.0 <diagram type>'.

Ribbon
Design > Diagram > Toolbox : to display the 'Find Toolbox Item' dialog and
specify 'BPMN 2.0 <any diagram type>'

Keyboard Shortcuts
Ctrl+Shift+3 : | BPMN 2.0 | BPMN 2.0 <any diagram type>

Other Click the icon on the Diagram caption bar to display the Diagram Toolbox, then

> BPMN 2.0 > BPMN 2.0 <any diagram type>

BPMN 2.0 Types

These items define the non-graphic elements or properties (Tagged Values) of the Core BPMN 2.0 graphic elements.
· Assignment
· CorrelationKey
· CorrelationProperty
· CorrelationPropertyBinding
· CorrelationPropertyRetrievalExpression
· CorrelationSubscription
· Category
· CategoryValue
· ComplexBehaviorDefinition
· ItemDefinition
· Error
· Escalation
· Signal
· IOSpecification
· InputSet
· OutputSet
· InputOutputBinding
· Interface
· Endpoint

(c) Sparx Systems 2023 Page 21 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

· Operation
· Participant (use Pool element)
· Resource
· ResourceRole
· ResourceParameter
· Property
· ConversationAssociation
· PartnerEntity
· PartnerRole

(c) Sparx Systems 2023 Page 22 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Model Structure and Reuse


A Business Process can be re-used by encapsulating the Pool (see Notes at the end of this topic). Once the Pool is
encapsulated, a Business Process is created that is referenced by the Pool's Tagged Value processRef. At this point,
elements that appeared in the Pool on the diagram will be nested in the referenced Business Process.
In Enterprise Architect, a BPMN Participant is represented by the Pool element. When you export your BPMN model to
another tool, in order to comply with the BPMN 2.0 specification the Pool is interpreted as a Participant in the XML. On
import to Enterprise Architect, a Participant is interpreted as a Pool.
You can also use a Call Activity to reference another Business Process. As an illustration:
1. Drop an Activity element onto a diagram.
2. Open the element's 'Properties' dialog.
3. On the 'BPMN2.0' tab, click on the drop-down arrow in the Type field and select 'callProcessActivity'.

4. In the Activity Tagged Value list, click on the button at the right of the calledActivityRef Tagged Value, and
browse for the appropriate Business Process.
5. Click on the browser OK button and on the 'Properties' dialog OK button.
Now, whenever you move an element onto this Call Activity, it will be nested in the referencing Business Process.

BPMN 2.0 Sequence Flow and Message Flow Rules

Rules concerning the use of Sequence Flows and Message Flows, as defined in the BPMN 2.0 Specification and
described here, are implemented by the BPMN 2.0 UML profile.
These rules apply to Sequence Flows in relation to Events (Start, Intermediate and End), Activities (Task and
Sub-Process, for Processes), Choreography Activities (Choreography Task and Sub-Choreography, for Choreographies)
and Gateways:
· A Sequence Flow cannot cross a Pool boundary
· An End Event cannot be the source element for a Sequence Flow
· A Start Event cannot be the target element for a Sequence Flow
· An Intermediate Event, if edge mounted on an Activity element, cannot be the source element for a Sequence Flow;
it cannot have incoming Sequence Flows
· An Intermediate Event - if edge mounted on an Activity element and having the Tagged Value
eventDefinition=Compensation, cannot be either the source or target element for a Sequence Flow
· Objects within a Sub-Process cannot have a Sequence Flow relationship with objects outside the Sub-Process
· A Sequence Flow cannot connect directly to a Pool
These rules apply to Message Flows in relation to Events (Start, Intermediate and End), Activities (Task and
Sub-Process, for Processes), Choreography Activities (Choreography Task and Sub-Choreography, for Choreographies)
and Pools:
· Message Flows can be created from objects in one Pool to objects in another Pool; Message Flows can connect
directly to another Pool
· A Message Flow can connect to Events (Start, Intermediate and End) only if they have the Tagged Value
eventDefinition=Message or eventDefinition=Multiple
· A Start Event cannot be the source element for a Message Flow
· An End Event cannot be the target element for a Message Flow

Generate Call Activities

(c) Sparx Systems 2023 Page 23 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

If you drag a BPMN 2.0 Global Task or Business Process element from the Browser window onto a diagram, the system
creates a Call Activity element containing Tagged Values appropriate to the type of element from which the Call Activity
was generated.

Grammar of Pools and Lanes

· If a Pool element has the partnerEntity and partnerRole Tagged Values assigned, and an empty 'Name' field, the
element will display the Tagged Values
· If a Lane element has the partitionElementRef Tagged Value assigned, and an empty 'Name' field, the element will
display the Tagged Value
· When you create Lanes in a Pool, the first Lane will fill half the Pool and subsequent Lanes will fill the remaining
space
· In the Browser window, you can right-click on the diagram, Pool or Collaboration model and select 'Encapsulate
Process', which will move all the object's nested elements to a Business Process; elements placed inside the
encapsulated element (during diagramming) will be moved to the Business Process
· Encapsulating the diagram and the Collaboration/Choreography model give the same result; the action:
- Creates a 'main Pool' that the Collaboration Model will reference via the mainPool Tagged Value
- Creates a Business Process that the 'main Pool' will reference via the processRef Tagged Value
- Moves everything nested in or added to the Collaboration (minus pools and diagrams) to the
new Business Process
· When you create a BPMN 2.0 diagram, the system prompts you to select whether or not to create an encapsulating
element for the diagram; that is, a:
- Business Process for a Business Process diagram
- Choreography Model for a Choreography diagram
- Collaboration Model for a Collaboration or BPEL diagram
- Conversation Model for a Conversation diagram
· When a Pool is dropped onto a BPMN diagram that is directly under a Package (and only in this circumstance), the
system prompts you to select whether or not to create a Collaboration Model for the Pool (rather than always
creating the Collaboration Model)
· The two prompts each have the checkbox 'Do not show this message again' that, if checked, blocks the prompt from
displaying and retains the current setting as the automatic action; you can reset the checkbox to unselected using the
Reset BPMN Prompts button on the 'Diagram > Behavior' page of the 'Preferences' dialog
· Encapsulating supports the re-use of processes, in that you can create links to Pools in other Collaboration models
for diagramming, and elements moved into them will be placed in the same Business Process (since the Pool
represents a Process)

(c) Sparx Systems 2023 Page 24 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Process Simulation
Business Process Simulations provide a way of bringing your Business Process diagrams to life. Viewing Business
Process diagrams is a convenient way to visualize how a Business Process works, and by manually following the
Sequence flows between Activities and Tasks and the intervening Gateways, the flow can be understood in the context of
different scenarios. Simulations, however, can bring your diagrams to life and allow detailed analysis and what-if
analysis to determine through-puts, bottle-necks, processing time and much more. You can create walk-throughs with
multi-disciplinary teams and analyze and visualize process outcomes. There are two mechanism for Simulation
available in the tool:
· BPMN Standard Process Simulation
· BPSIM Process Simulation

BPMN Standard Process Simulation

This type of Simulation requires no set up and can be run for any well-formed Business Process diagram, including when
sub-Activities have been defined. The Simulation will do a depth-first traversal, following the Sequence Flows through
the depth of the process hierarchy. It is useful as a presentation tool in workshops and can be used for process
walk-throughs.

(c) Sparx Systems 2023 Page 25 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

BPSIM Process Simulation

Using this Simulation tool you can create full Simulation of your models and perform sophisticated analysis of how the
processes will perform in practice. The tool does require set-up by a technician before it can be run, but this is a straight
forward task and within a short time you can be performing what-if analysis, measuring through-puts and doing Monte
Carlo analysis.

(c) Sparx Systems 2023 Page 26 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

BPMN Simulation
BPMN simulation is a method for visualizing and validating the behavior of your BPMN Business Process diagrams.
With visual indications of all currently executing activities and the possible activities that can be executed next, you will
easily be able to identify and resolve potential issues with the process you have modeled.
Simulating BPMN models is similar to simulating standard UML Behavioral models, except that BPMN:
· Uses some different element types (such as Gateway instead of Decision) and
· Operates on scripting placed, generally, in the appropriate 'Tagged Value' field associated with the connectors and
elements, instead of in the 'Properties' fields (and, if you prefer, rather than in the 'Execution Analyzer Build Scripts'
dialog); the scripting is written in JavaScript

Working with BPMN Simulation

Activity Detail

Create a BPMN Simulation When you create a BPMN model suitable for simulation, you take into
Model consideration how you represent the start point, the flow and the conditions to be
tested.

Compare UML Activities The simulation of BPMN Business Process models has a number of differences to
to BPMN Processes the simulation of UML Activity diagrams.

Notes

· BPMN simulation is available in the Unified and Ultimate Editions of Enterprise Architect

(c) Sparx Systems 2023 Page 27 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Create a BPMN Simulation Model


As part of the process of developing a simulation model, consider which of the three options for performing the
simulation you prefer to apply:
· Execute a simulation script to initialize the variables for the diagram - select 'BPMN' as the Platform, execute the
simulation as 'As Script' and select the script; you would then define the conditions and decisions as JavaScript
declarations within the Tagged Values of the elements and connectors on the diagram, either before you start the
simulation or during the simulation
· Do not use a script, but initialize the variables within the first Activity and, again, modify the conditions and
decisions within the Tagged Values of the elements and connectors, then execute the simulation as 'Interpreted'; you
can then re-initialize the variables during simulation, as well as the conditions
· Execute the simulation as 'Manual' and manage the flow and conditions manually at each step

Create a BPMN diagram suitable for simulation

Step Action

1 Create a Business Process or BPEL diagram from the BPMN 2.0 technology. If you create a BPEL
diagram Enterprise Architect displays specialized dialogs to streamline the creation of compliant models.

2 We recommend that you create a Start Event to clearly show where your simulation starts. You have
several choices for the Event Type; the choice does not influence the simulation of your model. If no Start
Events are defined, the simulation will start from an Activity that has no incoming Sequence Flows.

3 Add all of the Activities that are involved in the Process being modeled. You have several choices for the
Task Type; the choice does not influence the simulation of your model. The behavior of Activities can be
further decomposed by specifying an Activity Type of Sub-Process and selecting Embedded or
CallActivity. Standard Loops are also supported.

4 Add Sequence Flows between your activities. In the 'BPEL properties' dialog you can enter the condition
that must be satisfied (True) before the Sequence Flow will be followed. You can also set the
conditionType to 'Default' to ensure that this flow will be taken if all other branches fail the condition
specified.
If you are not working with a BPEL diagram, you use the conditionExpression and conditionType Tagged
Values.

5 Add End Events for any conditions that will cause the process or active execution path to end. You have
several choices for the Event Type; of these only the Terminate type will influence the execution. In
simulations with multiple active nodes, it causes the entire process to terminate instead of just the thread
that reaches that node.

Notes

· To include Activities that are in Packages external to the Package being simulated, either draw a:
- Package Import connector from the Package containing the diagram
being simulated to each external Package, or
- Dependency connector from the Package containing the diagram
being simulated to each Activity in the external Packages

(c) Sparx Systems 2023 Page 28 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

(c) Sparx Systems 2023 Page 29 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Initialize Variables and Conditions


For a BPMN simulation model, you can initialize your variables in an Execution Analyzer script. You can also initialize
these variables in the Tagged Values of the first Activity element of the process, which gives you greater flexibility in
adding and changing variables as the simulation proceeds. Similarly, you can define the conditions and values to apply at
the various decision points (Gateways) in the process, in the Tagged Values of the Sequence Flow connectors.
If you want to incorporate a user-interface into your simulation process, using Win32, you again use Tagged Values to
identify the dialog or prompt to display, in the Activity element just prior to the point at which the value or decision is
processed.
For the simulation of UML diagrams, variables inside the 'sim' object and 'this' object are displayed in the Local
Variables window.

Access

Display the 'Tags' tab of the Properties window, using one of the methods outlined here.

Ribbon Explore > Portals > Windows > Properties > Properties > Tags

Keyboard Shortcuts Ctrl+2 > 'Tags' tab of the Properties window

Initialize Variables

1. On the diagram, click on the first Activity element in the process.


2. In the 'Tags' tab of the Properties window, click on the drop-down arrow of the taskType 'value' field, and select
'Script'.
3. In the script 'value' field, type in the appropriate JavaScript code, such as:

sim.loan=true; sim.status="undefined';

Define Conditions

1. On the diagram, click on a Sequence Flow connector that issues from a Gateway element.
2. In the 'Tags' tab of the Properties window, click on the drop-down arrow of the conditionType 'Value' field, and
select 'Expression'.

3. In the conditionExpression 'Value' field (<memo>*) click on the button to display the Tagged Value Note
window. Type in the appropriate JavaScript code, such as:
sim.status=="Hold"
4. Click on the OK button. The statement text displays as a label of the connector.

Incorporate Win32 User Interface

1. On the diagram, click on the Activity element that represents where the decision is made.
2. In the 'Tags' tab of the Properties window, click on the drop-down arrow of the 'taskType value' field, and select

(c) Sparx Systems 2023 Page 30 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

'Script'.
3. In the 'script value' field, type in the appropriate JavaScript code, such as:
dialog.Screen1.Show=True;
(This statement displays the dialog Screen1. You can temporarily hide the dialog by changing 'Show' to False.)

(c) Sparx Systems 2023 Page 31 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

BPSim Business Simulations


The open BPSim specification provides a rich set of materials on how to configure and assign resources to activities or
tasks, how to raise events, decision making and other real-world capabilities. Once configured according to the BPSim
specification, a business process model (constructed in BPMN) can be passed to a suitable BPSim simulation engine and
run according to the process defined in the BPMN model, using the configuration data attached in the BPSim
information.
The BPSim specification is very detailed and offers the interested modeler and business strategist an unprecedented
flexibility in assigning operating information to a model and then assessing the quality of the solution based on
information received back from the Simulation engine. This section describes in detail the various screens and options
available when configuring a model for BPSim execution.
Sparx Systems provide a BPSim-capable Simulator - the BPSim Execution Engine. This Add-In integrates with the
BPSim and BPMN models defined in Enterprise Architect, providing the capability to run and store the results from
multiple simulations and to perform convenient comparisons across each configuration's result set.
The BPSim Execution Engine is a pre-requisite for accessing and using the BPSim configuration facilities. The
Execution Engine is integrated with the Unified and Ultimate editions of Enterprise Architect; for use in the Corporate
edition, it can be purchased and installed under separate licence.
Once you have set up a BPSim configuration, the simulation execution process exports the BPMN model with its BPSim
data in a standard form. This ensures that changes to the model are always incorporated into the simulation. Similarly,
the model export process captures the BPMN model with its BPSim data in a form that can be imported into another
model and consumed by the Sparx Systems BPSim Execution Engine or by any other standards-compliant BPSim
engines.

Install BPSim

Whilst BPSim is integrated with the Unified and Ultimate editions of Enterprise Architect, it is separate from the
Corporate edition and - after purchase - has to be installed on your system.
For all three editions, you must ensure that the right versions of Java Runtime Environment (JRE) and Java Development
Kit (JDK) are also installed on your system.

BPMN Model With BPMN Simulation

(c) Sparx Systems 2023 Page 32 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

The Configure BPSim window helps you to define several categories of Simulation parameter, each category focusing on
one aspect of the Simulation Configuration. For example, you would define:
· ScenarioParameters, which define how the Simulation itself should proceed
· Control Parameters, which examine how activity flows through the business process, moderated by the likelihood of
a sequence of events and the priorities of certain events
· Time (Temporal) Parameters, which examine how the duration of one or more phases in the processing of an
Activity influences the business process
· Resource Parameters, which examine the involvement of types and roles of workers and other resources, their
required numbers, their costs and their availability
You can also maintain multiple versions of a configuration (as separate BPSim Artifacts) and easily compare the
differences between versions to see how each configuration will vary the flow of the proposed Simulation or process
execution. You might, for example, establish a baseline configuration and then create multiple 'what-if?' configurations
that vary one or more parameters. Once you have run these configurations through a Simulation Engine, you can
examine each result and decide on the relative merits of each configuration. One useful principle to apply here is the
simple inheritance of common, unchanged data in one configuration by another configuration that contains only the data
being varied - you can therefore run the simulation on a current set of variables, which draws on the standard data
configuration at the same time.
Users can combine the BPSim and Charting facilities to quickly vary, simulate and compare aspects of a Business
Process model, and show the differences between the Simulations in one of the many Chart formats.
If you are working across multiple projects, you can export and import the BPSim configurations between them. The
configuration automatically carries with it the BPMN 2.0 model on which it is based.
The Enterprise Architect Business Process Simulation configuration tool is based on the BPSim Framework developed
by the Workflow Management Coalition (WfMC).

(c) Sparx Systems 2023 Page 33 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Notes

· If you click on a business process element or connector in a diagram or in the Browser window, it is highlighted and
selected in the Configure BPSim window
· The Business Process that you simulate can contain elements from more than one Package; to include the external
elements in the simulation, you must create a Package diagram containing the 'parent' Package and either the
'external' Packages containing the external elements, or the external elements themselves; create a:
- Package Import connector from the parent Package to each external Package, or
- Dependency connector from the parent Package to each external element

(c) Sparx Systems 2023 Page 34 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Model Validation
It is possible to validate your BPMN Model directly. To do this, select the root Package containing the BPMN model,
then select the 'Design > Package > Manage > Validate > Validate Current Package' ribbon option. All errors and
warnings will be reported in the System Output window.
You can also validate your BPMN model through a BPSim Configuration Artifact as part of BPMN Simulation, as
documented in the BPSim Business Simulation and The BPSim User Interface Components Help topics.

(c) Sparx Systems 2023 Page 35 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Exchanging BPMN Models


It is possible to serialize BPMN 2.0 Models in BPMN 2.0 XML. The serialized XML file contains both the model
semantics as well as the diagram-interchange information. You can also import a BPMN 2.0 XML file into your project.

Access

For Serialization:
Select a Package in the Browser window, then use one of the methods outlined here, to open the 'Publish Model Package'
dialog.

Ribbon Publish > Model Exchange > Export > BPMN 2.0 XML : Export

Keyboard Shortcuts Ctrl+Alt+E : Export

Serialize a Model

Step Action

1 Open the 'Publish Model Package' dialog.

2 In the 'XML Type' field, select 'BPMN 2.0 XML'.

3 Click on the Export button to initiate the BPMN 2.0 XML serialization.

Access

For Import:
Select a Package in the Browser window, into which to import the XML file. Then use the method outlined here to open
the 'Import Package from BPMN 2.0' dialog.

Ribbon Publish > Model Exchange > Import > BPMN 2.0

Import BPMN 2.0 XML

Step Action

1 In the 'Import Package from BPMN 2.0' dialog, specify the file path name, or click on the file browser
icon and choose a file.

(c) Sparx Systems 2023 Page 36 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

2 Click on the Import button to import the file into the Package.

Notes

· The Package being serialized is assumed to be self-contained


· Only the contents of the selected Package are considered for serialization - child Packages (and their contents) are
ignored
· Serialization of these items in the BPMN 2.0 Types section of the Toolbox is not supported:
- InputOutputBinding
- Conversation Association
· Exporting to and importing from BPMN 2.0 XML is supported in all editions of Enterprise Architect

(c) Sparx Systems 2023 Page 37 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Business Process Execution Language (BPEL)


Business Process Execution Language (BPEL) is an Orchestration language, serialized in XML, which specifies an
executable process that involves message exchanges with other systems. This messaging facility depends on the use of
the Web Services Description Language (WSDL) 1.1 to describe outgoing and incoming messages.
This text is derived from the BPEL entry in the online Wikipedia:
'Business Process Execution Language (BPEL), short for Web Services Business Process Execution Language
(WS-BPEL), is an executable language for specifying interactions with Web Services. Processes in Business Process
Execution Language export and import information by using Web Service interfaces exclusively.'
Web service interactions can be described in two ways:
1. Executable business processes, which model the actual behavior of a participant in a business interaction.
2. Abstract business processes, which are partially specified processes that are not intended to be executed. An
Abstract Process might hide some of the required concrete operational details.

BPEL in Enterprise Architect:

Enterprise Architect supports generating BPEL from executable processes in the Unified and Ultimate Editions.
Although there is no standard graphical notation for WS-BPEL, Enterprise Architect uses the BPMN profile as a
graphical front-end to capture BPEL Process descriptions. Through the BPMN Profile, Enterprise Architect helps you to
develop BPEL diagrams quickly and simply. While BPMN provides a graphical notation for visualizing business
process, BPEL provides a way for visualizing this graphical business process in XML.
Enterprise Architect supports generating:
· BPEL 2.0 from models created using constructs in BPMN 2.0 Profile

Notes

· BPEL is supported in the Unified and Ultimate Editions of Enterprise Architect


· Enable BPMN 2.0 Technology for BPEL 2.0 modeling in the 'MDG Technologies' dialog ('Specialize >
Technologies > Manage Technology')

(c) Sparx Systems 2023 Page 38 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

BPEL 2.0 Model


Enterprise Architect uses BPMN 2.0 as a graphical front-end to capture BPEL 2.0 Process descriptions (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.

Map Constructs

Step Action

1 Create a BPEL 2.0 Package Structure.


Alternatively:
1. Create a Package in the Browser window.
2. Click on the 'New Diagram' option in the Browser window header drop-down menu.
3. Select 'BPMN 2.0' in the 'Select From' field and 'BPEL' in the 'Diagram Types' field.
4. Click on the 'BPEL' icon from the BPMN 2.0 - Business Process Toolbox and drag it into the created
BPEL diagram.

2 Open the BPEL diagram under the <<BPELProcess>> stereotyped element.

3 Model the BPEL 2.0 Process using the constructs on the 'BPMN 2.0 - Business Process' Toolbox pages.
BPMN 2.0 - Business Process page:
· BPEL
· Activity
· Data Object
· Start Event
· Intermediate Event
· Event
· Gateway
· Pool
BPMN 2.0 - Business Process Connectors page:
· Sequence Flow
· Association
· Message Flow
BPMN 2.0 Types page:
· Assignment
· Error
· Interface
· Operation
· Property

4 Create Web Service Operations for the BPEL Process and other related Pools, if required.

5 Generate BPEL 2.0 code from the BPEL Process.

(c) Sparx Systems 2023 Page 39 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Notes

· Generating BPEL 2.0 from a BPMN 2.0 model is supported in the Unified and Ultimate Editions of Enterprise
Architect
· Enable the BPMN 2.0 Technology in the 'MDG Technologies' dialog ('Specialize > Technologies > Manage
Technology')

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: Example Model > Analysis and Business Modeling > BPEL Example > BPEL
2.0 Model

Modeling Restrictions

· 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
- Sub-Processes
- Boundary Intermediate Events
- Gateways
- 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

(c) Sparx Systems 2023 Page 40 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Create BPEL 2.0 Model Structure


A BPEL 2.0 model consists of a BPEL Process (containing a BPEL diagram and mappable BPMN 2.0 constructs) and
other supporting elements (such as a BPMN 2.0 Assignment or BPMN 2.0 Operation) required for generating a BPEL
2.0 code.
A sample BPEL 2.0 Package structure can be created in the Browser window, using the Model Wizard (Start Page
'Create from Pattern' tab). You can use this Package structure as a template for developing your BPEL Process.

Access

Ribbon Design > Package > Model Wizard

Context Menu 'Project' tab of the Browser window | Right-click on Package | Add a Model using
Wizard

Keyboard Shortcuts Ctrl+Shift+M

Other
Browser window header bar : | New Model from Pattern

Create a BPEL 2.0 Package structure as a starting point for developing a BPEL
Process

Step Action

1 Select the root node or a Package in the Browser window.

2 Click on the 'New Model from Pattern' menu option in the Browser window header.

3 Select the value BPMN 2.0 in the Technology section.

4 Check the option 'BPEL 2.0 Model' in the 'Name' section.

5 Click on the OK button to create the sample BPEL 2.0 Package structure.

Example BPEL 2.0 Package Structure

The BPEL Process LoanApproval_Process acts as container for the BPEL diagram and elements. The
SupportingElements Package contains supporting components such as Assignments and Web Service Operations.

(c) Sparx Systems 2023 Page 41 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

(c) Sparx Systems 2023 Page 42 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Model a BPEL 2.0 Process


The BPEL Process in Enterprise Architect represents the top-level container for the BPMN 2.0 elements, from which
BPEL 2.0 can be generated. Conceptually it maps to the BPEL process element.

BPEL Properties

· Double-click on the BPEL Process in the BPEL diagram, or


· Right-click on the BPEL Process in the BPEL diagram (or the Browser window) and select BPEL | BPEL 2.0
Properties

Options

Field/Button Action

Name Specify the name for the BPEL Process.

Query Language Specify the language used in the BPEL Process for the selection of nodes in
Assignments. Defaults to 'XPath 1.0'.

OK Save the values entered in the dialog.

Cancel Discard the values entered in the dialog.

Help Display this Help topic.

General Open the 'UML Properties' dialog.

(c) Sparx Systems 2023 Page 43 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Start Event
A BPMN 2.0 Start Event indicates where a particular Process begins. Every Process in Enterprise Architect must begin
with a Start Event.

BPEL Properties

· Double-click on the Start Event in the BPEL diagram, or


· Right-click on the Start Event | BPEL | BPEL 2.0 Properties

Options

Field/Button Action

Name Type the name for the Start Event.

Event Type Select a trigger for the Start Event, namely:


· Compensation
· Conditional
· Error
· Escalation
· Message
· Multiple
· None
· Parallel Multiple
· Signal
· Timer

Details Tab Depending on the selected Event Type, the 'Details' tab changes as shown:
· Message Event Type
- Pool Package - Select the Package that represents one of the
involved Participants
- Operation - Select an Operation from the list of operation(s)
in the selected Pool Package
· Timer Event Type
- Time Cycle - Specify the value for the time duration
- Time Date - Specify the value for the time date
· Error Event Type
- Error - Select an Error element

Assignments (Optional) Select one or more Assignment elements created in the


SupportingElements Package in this tab.

OK Save the values entered in the dialog.

Cancel Discard the values entered in the dialog.

(c) Sparx Systems 2023 Page 44 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Help Display this Help topic.

General Open the 'UML Properties' dialog.

Notes

· Either set 'Time Cycle' or 'Time Date for Timer Event Type' but not both, as they are mutually exclusive fields
· The 'Assignments' tab is not available on Start Events that are used to start an Event Sub-Process
· Compensation, Error and Timer event types are valid only on an Event Sub-Process
· Conditional, Escalation, Multiple, Parallel Multiple and Signal event types cannot be mapped to BPEL 2.0

(c) Sparx Systems 2023 Page 45 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Intermediate Event
A BPMN 2.0 Intermediate Event indicates where an event occurs somewhere between the start and end of a Process.

BPEL Properties

· Double-click on the Intermediate Event in the BPEL diagram


· Right-click on the Intermediate Event | BPEL | BPEL 2.0 Properties

Options

Field/Button Action

Name Specify the name for the Intermediate Event.

Event Type Select the type for the Intermediate Event, namely:
· Cancel
· Compensation
· Conditional
· Error
· Escalation
· Link
· Message
· Multiple
· None
· Parallel Multiple
· Signal
· Timer

Details Tab Depending on the selected Event Type, the 'Details' tab changes:
· Message Event Type
- Pool Package - Select the Package that represents one of the
involved Participants
- Operation - Select an Operation from the list of operation(s) in
the selected Pool Package
· Link Event Type
- Link Event - Select a Link Event element (to act as a target for
this Link Event) from the list of Link Event elements under the
current Process or Sub-Process
· Timer Event Type
- Time Cycle - Specify the value for the time duration
- Time (Date)Date - Specify the value for the time date
· Compensation Event Type
- Activity - Select an Activity from the list of Activity elements under
the current Process or Sub-Process
· Error Event Type

(c) Sparx Systems 2023 Page 46 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

- Error - Select an Error element

Assignments (Optional) Select one or more Assignment elements created in the


SupportingElements Package in this tab.

OK Save the values entered in the dialog.

Cancel Discard the values entered in the dialog.

Help Display this Help topic.

General Open the 'UML Properties' dialog.

Notes

· Cancel, Conditional, Escalation, Multiple, None, Parallel Multiple and Signal event type cannot be mapped to BPEL
2.0
· The 'Assignments' tab is not available on Intermediate Events that are attached to the boundary of an Activity
· Either set 'Time Cycle' or 'Time Date for Timer Trigger Type' but not both as they are mutually exclusive fields
· The Error event type is valid only on an Intermediate Event attached to the boundary of an Activity
· The Compensation event type is valid only on an Event Sub-Process or when attached to the boundary of an Activity
· The Link Intermediate Event can be used either as a GOTO or an off-page connector; therefore, this event can have
either incoming or outgoing Sequence Flows - but not both

(c) Sparx Systems 2023 Page 47 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Activity
A BPMN 2.0 Activity represents work that is performed within a Process. An Activity can be modeled as a:
· Sub-Process - a compound Activity that is defined as a flow of other BPMN 2.0 elements or
· Task - an atomic Activity that cannot be broken down into a smaller unit
Activities - both Tasks and Sub-Processes - can also, optionally, act as Looping constructs. The OMG BPMN 2.0
Specification defines two types of Looping construct:
· Standard Loop (while or until)
· Multi-Instance Loop (for each)

BPEL Properties

· Double-click on the Activity in the BPEL diagram


· Right-click on the Activity | BPEL | BPEL 2.0 Properties

Options

Option Action

Name Type a name for the Activity.

Type Specify whether the Activity is a:


· Task or
· Sub-Process

Task Type / SubProcess Depending on the value selected in the 'Type' field, the 'Task Type / SubProcess
Type Type' field has these values:
· Task Type:
- Abstract
- Business Rule
- Manual
- Receive
- Script
- Send
- Service
- User
· SubProcess Type:
- Ad-Hoc
- Call Activity
- Compensation
- Embedded
- Event
- Transaction

Details Tab Depending on the selected Task Type, the 'Details' tab changes:
Receive / Send / Service Task Type
· Pool Package - Select the Package that represents one of the involved

(c) Sparx Systems 2023 Page 48 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Participants
· Operation - Select an Operation from the list of operation(s) in the selected
Pool Package

Assignments (Optional) Select one or more Assignment elements created in the


SupportingElements Package in this tab.

Loop Details (Optional) Activities can be repeated sequentially, in a looped circuit. Specify the
Activity looping details in this tab.
· Loop Type - Select 'Standard' for creating a 'while' or 'until' loop, or
'MultiInstance' for creating a 'for each' loop
· Evaluate condition at the beginning of loop - Check this option to create a
'while' Standard loop; defaults to unselected for an 'until' loop
· Loop Condition - Enter a Boolean condition for a Standard loop or a numeric
condition for a MultiInstance loop
· Loop Maximum - (Optional) Specify the maximum value for the loop
evaluation for a Standard loop
· Loop Ordering - For a MultiInstanceLoop Type select 'Parallel' for generating
instances in parallel, or 'Sequential for generating instances in sequence

OK Click on this button to save the values entered in the dialog.

Cancel Click on this button to discard the values entered in the dialog.

Help Click on this button to display this Help topic.

General Click on this button to open the 'UML Properties' dialog.

Notes

· The 'Assignments' tab is not applicable for Sub-Process


· The 'Loop Details' tab is not applicable for Event Sub-Process
· Business Rule, Manual, Script and User Task types cannot be mapped to BPEL 2.0
· Ad-Hoc, Call Activity and Transaction Sub-Process types cannot be mapped to BPEL 2.0

(c) Sparx Systems 2023 Page 49 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Gateway
A BPMN 2.0 Gateway controls the way in which Sequence Flows converge and diverge within a Process. They provide
a gating mechanism that either allows or blocks a Sequence Flow.

BPEL Properties

· Double-click on the Gateway in the BPEL diagram


· Right-click on the Gateway | BPEL | BPEL 2.0 Properties

Options

Field/Button Action

Name Specify the name for the Gateway.

Gateway Select the type for the Gateway, namely:


· Complex
· Event
· Exclusive
· Inclusive
· Parallel

Details Tab Depending on the selected Gateway, the 'Details' tab changes as shown:
· Event Type - Set to 'Exclusive' to represent an Exclusive Event Based Gateway

OK Save the values entered in the dialog.

Cancel Discard the values entered in the dialog.

Help Display this Help topic.

General Open the 'UML Properties' dialog.

Notes

· The target of the outgoing Sequence Flows of this Event Exclusive Gateway must be either a:
- Receive Task or a
- Message or Timer Intermediate Event
· If a Message Task is one of the targets of the outgoing Sequence Flow of an Event Exclusive Gateway, then a
Message Intermediate Event cannot be the target of the other outgoing Sequence Flows of this Event Exclusive
Gateway

(c) Sparx Systems 2023 Page 50 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

End Event
A BPMN 2.0 End Event indicates where a particular Process ends. Every Process in Enterprise Architect must end with
an End Event.

Display BPEL Properties

· Double-click on the End Event in the BPEL diagram


· Right-click on the End Event | BPEL | BPEL 2.0 Properties

Options

Field/Button Action

Name Specify the name for the End Event.

Event Type Select the type for the End Event, namely:
· Cancel
· Compensation
· Error
· Escalation
· Message
· Multiple
· None
· Signal
· Terminate

Details Tab Depending on the selected Event Type, the 'Details' tab changes:
· Message Event Type:
- Pool Package - Select the Package that represents one of the
involved Participants
- Operation - Select an Operation from the list of operation(s)
in the selected Pool Package
· Compensation Event Type:
- Activity - Select an Activity from the list of Activity elements
under the current Process or Sub-Process
· Error Event Type
- Error - Select an Error element

OK Save the values entered in the dialog.

Cancel Discard the values entered in the dialog.

Help Display this Help topic.

General Open the 'UML Properties' dialog.

(c) Sparx Systems 2023 Page 51 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Notes

· The Compensation Event type is valid only on an Event Sub-Process


· Cancel, Escalation, Multiple and Signal Event types cannot be mapped to BPEL 2.0

(c) Sparx Systems 2023 Page 52 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Data Object
A BPMN 2.0 Data Object is mapped to a BPEL 2.0 Variable and occurs in the context of a Process or Sub-Process, as
does a Property. A Data Object cannot have an incoming or outgoing Sequence Flow or Message Flow.

BPEL Properties

· Double-click on the Data Object in the BPEL diagram


· Right-click on the Data Object | BPEL | BPEL 2.0 Properties

Options

Field/Button Action

Name Specify the name for the Data Object.

Type Either:
· Select an XML Schema basic type from the drop-down list, or

· Use the button to select XML Schema ComplexType, SimpleType, Union


or Enumeration

OK Save the values entered in the dialog.

Cancel Discard the values entered in the dialog.

Help Display this Help topic.

General Open the 'UML Properties' dialog.

(c) Sparx Systems 2023 Page 53 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Property
A BPMN 2.0 Property is mapped to a BPEL 2.0 Variable and occurs in the context of a Process or Sub-Process, as does a
Data Object.
However, unlike a Data Object, a Property is not displayed on a BPEL diagram. Enterprise Architect supports Properties
on BPMN 2.0 BPEL and BPMN 2.0 Activity elements.

Access

Ribbon
Design > Diagram > Toolbox : > Specify 'BPMN 2.0 Types' in the 'Find
Toolbox Item' dialog

Keyboard Shortcuts
Ctrl+Shift+3 : > Specify 'BPMN 2.0 Types' in the 'Find Toolbox Item' dialog

Other You can display or hide the Diagram Toolbox by clicking on the or icons at
the left-hand end of the Caption Bar at the top of the Diagram View.

BPEL Properties

· Right-click on the Property | BPEL | BPEL 2.0 Properties

Options

Field/Button Action

Name Specify the name for the Property.

Type Either:
· Select an XML Schema basic type from the drop-down list or

· Use the button to select XML Schema ComplexType, SimpleType, Union


or Enumeration

OK Save the values entered in the dialog.

Cancel Discard the values entered in the dialog.

Help Display this Help topic.

General Open the attribute properties.

(c) Sparx Systems 2023 Page 54 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

(c) Sparx Systems 2023 Page 55 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Sequence Flow
A BPMN 2.0 Sequence Flow connector shows the order in which the activities (Tasks and Events) are performed in a
BPEL Process.

Access BPEL Properties

· Double-click on the Sequence Flow in the BPEL diagram


· Right-click on the Sequence Flow | BPEL | BPEL 2.0 Properties

Define the Sequence Flow

Field/Button Action

Condition Type Click on the drop-down arrow and select the type of the condition on the Sequence
Flow, namely:
· None
· Default
· Expression

Expression This field is enabled when the 'Condition Type' is set to 'Expression'.
Type in a Boolean expression to act as a gating condition.

Ordering This field is enabled when the 'Condition Type' is set to 'Expression'.
Type in a numerical value that determines the order in which the condition set in
the 'Expression' field is to be evaluated.

OK Click on this button to save the values entered in the dialog.

Cancel Click on this button to discard the values entered in the dialog.

Help Click on this button to display this Help topic.

General Click on this button to open the 'UML Properties' dialog.

(c) Sparx Systems 2023 Page 56 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Pool
A BPMN 2.0 Pool represents a Participant in a Process and does not map to any specific BPEL 2.0 element. Enterprise
Architect uses Pools to represent external Participants, with which the BPEL Process communicates. These are 'black
box' pools; that is, they are abstract and do not expose any details (they do not have any BPMN 2.0 elements inside
them).

BPEL Properties

· Double-click on the Pool in the BPEL diagram


· Right -click on the Pool | BPEL | BPEL 2.0 Properties

Options

Field/Button Action

Name Specify the name for the Pool.

OK Save the values entered in the dialog.

Cancel Discard the values entered in the dialog.

Help Display this Help topic.

General Open the 'UML Properties' dialog.

Fill Opacity

For a given Pool in a diagram, you can make the element strongly visible or less obvious, depending on how much you
want to emphasize its significance, temporarily or for a longer period. You can apply these nuances in the display of the
element by changing the opacity of the element fill.
Before setting the opacity, check that the element has a fill color.
You set the opacity using an icon from either of these two pop-up element toolbars:

· Click on the Pool element and on the icon:

· Right-click on the Pool element and look above the context menu:

(c) Sparx Systems 2023 Page 57 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Click on the icon and select:


· 100% for total opacity, where anything behind and overlapping or covered by the element is hidden
· 0% for no opacity, where the fill color is not applied and anything behind the element is fully visible
· 75%, 50% or 25% to set the appropriate degree of opacity and make the background visible but over-shaded

Notes

· A BPEL Process should not contain a Pool as its child element


· A BPEL diagram under a BPEL Process contains an implicit Pool, so it is invalid to add a Pool in this BPEL
diagram to represent the BPEL Process
· Pool cannot have any incoming or outgoing Sequence Flow connectors - it can have only incoming or outgoing
Message Flow connectors

(c) Sparx Systems 2023 Page 58 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Assignment
A BPMN 2.0 Assignment element enables data to be copied between messages and variables within a BPEL Process. An
Assignment element maps to a BPEL 2.0 assign activity and copies the specified value from the source to the target.
In Enterprise Architect, Assignment elements should be created in the Assignments Package in SupportingElements. If
they are created elsewhere, they cannot be enacted correctly.

Access

Ribbon
Design > Diagram > Toolbox : > Specify 'BPMN 2.0 Types' in the 'Find
Toolbox Item' dialog

Keyboard Shortcuts
Ctrl+Shift+3 : > Specify 'BPMN 2.0 Types' in the 'Find Toolbox Item' dialog

Other You can display or hide the Diagram Toolbox by clicking on the or icons at
the left-hand end of the Caption Bar at the top of the Diagram View.

BPEL Properties

· Double-click on the Assignment in the BPEL diagram


· Right-click on the Assignment | BPEL | BPEL 2.0 Properties

Options

Field/Button Action

Name Specify the name for the Assignment.

Copy From Complete the fields in this panel, as directed.

Type Depending on the value selected in this field, further details are required.

Literal Specify a literal value.

Expression Specify an expression.

Message Select a BPMN 2.0 Message in the Package representing the BPEL Process / Pool
under the SupportingElements Package.

Part Select a BPMN 2.0 Property belonging to the selected Message.

Variable Select a BPMN 2.0 Data Object or BPMN 2.0 Property created under the BPEL

(c) Sparx Systems 2023 Page 59 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Process.

Copy To Complete the fields in this panel, as directed.

Message Select a BPMN 2.0 Message in the Package representing the BPEL Process / Pool
under the SupportingElements Package.

Part Select a BPMN 2.0 Property belonging to the selected Message.

Variable Select a BPMN 2.0 Data Object or BPMN 2.0 Property created under the BPEL
Process.

OK Save the values entered in the dialog.

Cancel Discard the values entered in the dialog.

Help Display this Help topic.

General Open the 'UML Properties' dialog.

Notes

· Messages are created when you create a Web Service Operation

(c) Sparx Systems 2023 Page 60 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Create BPEL 2.0 Web Service Operation


BPEL is an Orchestration language, which orchestrates services that are exposed using WSDL 1.1. It coordinates the
execution of the various operations of these involved services. BPEL 2.0 supports WSDL 1.1 one-way and
request-response operations only (and not solicit-response and notification operations). Enterprise Architect enables you
to create, for BPEL Process and Pool elements, Web Service Operations that support either synchronous
(request-response) or asynchronous (one-way) interactions.

Access

Context Menu In the Browser window or on a diagram:


Right-click on a BPEL Process or Pool element | BPEL | Create WebService

Options

Field/Button Action

Operation Specify whether to create a new Web Service Operation or create one from an
existing WSDL created / imported into Enterprise Architect (using the 'Import
WSDL' dialog) by selecting either:
· Create New, or
· Create from existing WSDL PortType Operation

Type Specify whether to create a one-way or request-response Operation by selecting


either:
· Asynchronous or
· Synchronous

Partnership Details The interaction between the Web Service and the BPEL Process is modeled as a
BPEL partnerLink. For this interaction, provide:
· Name - Name of the BPEL partnerLink
· Role - In the BPEL partnerLink, the name of either:
- myRole (if this operation belongs to the BPEL Process Web
Service) or
- partnerRole (if this operation belongs to the Web Service of
a Pool)

Web Service · When 'Create New' is selected in the 'Operation' field:


- PortType - Name of the WSDL 1.1 PortType (Interface)
- Operation - Name of the WSDL 1.1 PortType Operation
· When 'Create from existing WSDL PortType Operation' is selected in the
'Operation' field:
- WSDL Package - Select an existing WSDL Package created or
imported into Enterprise Architect
- PortType - Select a WSDL 1.1 PortType from the selected WSDL
Package
- Operation - Select a WSDL 1.1 PortType Operation in the

(c) Sparx Systems 2023 Page 61 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

selected PortType

Input When 'Create New' is selected in the 'Operation' field:


· Message Name - Name of the WSDL 1.1 Message.

· Properties - Click on the button to enter the WSDL 1.1 Message Part
Name and XSD Type
When 'Create from existing WSDL Port Type Operation' is selected in the
'Operation' field:
· The fields in this tab are pre-filled with the details of the input WSDL 1.1
Message (of the WSDL 1.1 PortType Operation selected in the 'Operation' field
in the 'Web Service' tab)

Output When 'Create New' is selected in the 'Operation' field:


· Message Name - Name of the WSDL 1.1 Message

· Properties - Click on the button to enter the WSDL 1.1 Message Part
Name and XSD Type
When 'Create from existing WSDL Port Type Operation' is selected in the
'Operation' field:
· The fields in this tab are pre-filled with the details of the output WSDL 1.1
Message (of the WSDL 1.1 PortType Operation selected in the 'Operation' field
in the 'Web Service' tab)

OK Create a Web Service Operation based on the values entered in the dialog.
The operation is created in a Package that has the same name as the BPEL Process /
Pool from which this dialog is invoked, under the SupportingElements Package.

Cancel Discard the values entered in the dialog and abort creating the Web Service
Operation.

Help Display this Help topic.

(c) Sparx Systems 2023 Page 62 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Notes

· The 'Output' tab is not applicable for an Asynchronous operation

(c) Sparx Systems 2023 Page 63 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Generate BPEL 2.0


BPEL 2.0 code can be generated from a BPEL Process. The system validates the BPEL Process before generating the
code. In addition to generating the code, WSDL 1.1 files are generated for the BPEL Process and all the involved Pools
(provided Web Service Operations are defined for them).

Access

Context Menu In the Browser window or on a diagram:


Right-click on a BPEL Process element | BPEL | Generate BPEL 2.0

Options

Field/Button Action

File Name Specify the path where the BPEL 2.0 file is to be generated.

Namespace Details Double-click on an entry (if any) in this field to open the 'Namespace Details'
dialog and add / edit the namespace details.
The entry DefaultPool represents the current BPEL Process.

Generate BPEL Validate the model and generate BPEL 2.0.

Close Click on this button to close this dialog.

Help Display this Help topic.

View BPEL View the generated BPEL 2.0 file.

(c) Sparx Systems 2023 Page 64 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

BPEL Model Validation


The BPEL model is validated for both syntax and semantic errors before generating the BPEL code. Upon successful
validation, the BPEL file (and the associated WSDL 1.1 files, if any) are generated. The results of the validation, as well
as the progress of the BPEL generation, are displayed in the 'BPEL Progress' tab of the System Output window.

Example BPEL Model Violation

This model shows several basic BPEL violations:

· StartEvent1 is of type Signal, which cannot be mapped to BPEL


· The Message Flow connector between StartEvent1 and Activity1 is invalid, as Message Flow cannot be used to
connect Activities or Events within a Process
· EndEvent1 is of type Cancel, which cannot be mapped to BPEL
· EndEvent1 cannot have any outgoing Sequence Flow connector, as it represents the end of a Process
· Activity2 is not valid, as only an End Event represents the end of a Process

Notes

· Double-click on a validation error entry in the 'BPEL Progress' tab of the System Output window to go to the source
of the error in the Browser window

(c) Sparx Systems 2023 Page 65 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Migrating from Previous Versions


It is possible to migrate a BPMN 1.1 model (or part of a model) to BPMN 2.0, using the Automation Interface function
Migrate(). This function updates the Tagged Values and, if required, stereotypes to BPMN 2.0 for all elements,
attributes, connectors and diagrams under the selected Package or element.

Example

This VB script calls the Migrate() function to migrate the Package or element to BPMN 2.0:

Sub MigrateElement (sGUID, lngPackageID)


Dim proj as EA.Project
set proj = Repository.GetProjectInterface
proj.Migrate sGUID, "BPMN1.1", "BPMN2.0"
'refresh the model
If lngPackageID<>0 Then
Repository.RefreshModelView (lngPackageID)
End If
End Sub
Sub MigrateSelectedItem
Dim selType
Dim selElement as EA.Element
Dim selPackage as EA.Package
selType = GetTreeSelectedItemType
If selType = 4 Then 'means Element
set selElement = GetTreeSelectedObject
MigrateElement selElement.ElementGUID, selElement.PackageID
MsgBox "Element Migration Completed",0,"BPMN 2.0 Migration"
ElseIf selType = 5 Then 'means Package
set selPackage = GetTreeSelectedObject
MigrateElement selPackage.PackageGUID, selPackage.PackageID
MsgBox "Package Migration Completed",0,"BPMN 2.0 Migration"
Else
MsgBox "Select a Package or element in the Browser window to initiate migration",0,"BPMN 2.0 Migration"
End If
End Sub
Sub Main
MigrateSelectedItem
End Sub
Main

(c) Sparx Systems 2023 Page 66 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

Notes

· Please backup your project before you run the BPMN 2.0 Migrator
· Normalization occurs on these tags:
- BPMN1.1::Activity::InMessageRef
- BPMN1.1::Activity::OutMessageRef
- BPMN1.1::Activity::IORules
- BPMN1.1::Activity::InputSets
- BPMN1.1::Activity::OutputSets
- BPMN1.1::Activity::ComplexMI_FlowCondition
- BPMN1.1::Activity::Performers
- BPMN1.1::BusinessProcess::InputSets
- BPMN1.1::BusinessProcess::OutputSets
- BPMN1.1::BusinessProcess::Performers
- BPMN1.1::EndEvent::ErrorCode
- BPMN1.1::IntermediateEvent::ErrorCode

Taking BPMN1.1::Activity::InMessageRef as an example, these steps take place:

(1) Create a new element BPMN2.0::Operation (this is the bridging element)


(2) Insert the reference tag 'BPMN2.0::Activity::operationRef'
(3) Migrate BPMN1.1::Activity::InMessageRef to BPMN2.0::Operation::InMessageRef
· Denormalization occurs on these tags:
- A BPMN1.1::Transaction referenced by a BPMN1.1::Activity::TransactionRef
> BPMN1.1::Transaction::TransactionMethod
> BPMN1.1::Transaction::TransactionProtocol
- A BPMN1.1::WebService referenced by a BPMN1.1::Activity::WebServiceRef,
BPMN1.1::StartEvent::WebServiceRef,
BPMN1.1::IntermediateEvent::WebServiceRef,
BPMN1.1::EndEvent::WebServiceRef
> BPMN1.1::WebService::Operation
> BPMN1.1::WebService::Interface
> BPMN1.1::WebService::ParticipantRef
- A BPMN1.1::Condition referenced by a BPMN1.1::StartEvent::ConditionRef,
BPMN1.1::IntermediateEvent::ConditionRef
> BPMN1.1::Condition::ConditionExpression

Taking BPMN1.1::Activity::TransactionRef as an example, these steps take place:

(1) Find element BPMN1.1::Transaction by BPMN1.1::Activity::TransactionRef


(2) Migrate this referenced BPMN1.1::Transaction::TransactionMethod's value to
BPMN2.0::Activity::transactionMethod
(3) Migrate this referenced BPMN1.1::Transaction::TransactionProtocol's value to
BPMN2.0::Activity::transactionProtocol
· If a BPMN1.1 stereo tag is discarded in BPMN2.0, it is preserved if the tag has a value

(c) Sparx Systems 2023 Page 67 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

More Information
See these further topics for additional information:
· Composite Elements
· Getting Started
· Diagram Types
· Exchanging BPMN Models
· Migrating from Previous Versions
· Business Process Execution Language (BPEL)
· Add New Diagrams
· Manage MDG Technologies
· Diagram Behavior Options
· Rules Reference
· BPSim Business Simulations

(c) Sparx Systems 2023 Page 68 of 69 Created with Enterprise Architect


Business Process Model and Notation (BPMN) 10 November, 2023

(c) Sparx Systems 2023 Page 69 of 69 Created with Enterprise Architect

You might also like