Professional Documents
Culture Documents
Sybase PowerDesigner
15.0
Windows
Part number: DC38088-01-1500-01
Last modified: September 2008
Copyright 2008 Sybase, Inc. and its subsidiaries. All rights reserved.
Information in this manual may change without notice and does not represent a commitment on the part of Sybase, Inc. and its subsidiaries.
Sybase, Inc. provides the software described in this manual under a Sybase License Agreement. The software may be used only in accordance with
the terms of the agreement.
No part of this publication may be reproduced, transmitted, or translated in any form or by any means, electronic, mechanical, manual, optical, or
otherwise, without the prior written permission of Sybase, Inc. and its subsidiaries.
Use, duplication, or disclosure by the government is subject to the restrictions set forth in subparagraph (c)(1)(ii) of DFARS 52.227-7013 for the
DOD and as set forth in FAR 52.227-19(a)-(d) for civilian agencies.
Sybase, SYBASE (logo), ADA Workbench, Adaptable Windowing Environment, Adaptive Component Architecture, Adaptive Server, Adaptive
Server Anywhere, Adaptive Server Enterprise, Adaptive Server Enterprise Monitor, Adaptive Server Enterprise Replication, Adaptive Server
Everywhere, Advantage Database Server, Afaria, Answers 365, Answers Anywhere, AppModeler, APT Workbench, APT-Build, APT-Edit,
APT-Execute, APT-Translator, APT-Library, ASEP, Avaki, Avaki (Arrow Design), Avaki Data Grid, AvantGo, Bit-Wise, BizTracker, Certified
PowerBuilder Developer, Certified SYBASE Professional, Certified SYBASE Professional Logo, CodeBank, Column Design, ComponentPack,
Convoy/DM, Copernicus, CSP, Data Pipeline, DataArchitect, Database Analyzer, DataExpress, DataServer, DataWindow, DataWindow .NET,
DB-Library, dbQueue, Dejima, Dejima Direct, Developers Workbench, DirectConnect Anywhere, DirectConnect, Distribution Director, Dynamic
Mobility Model, e-ADK, e-Biz Integrator, EC Gateway, ECMAP, ECRTP, eFulfillment Accelerator, EII Plus, Embedded SQL, EMS, Enterprise
Client/Server, Enterprise Connect, Enterprise Data Studio, Enterprise Manager, Enterprise Work Architecture, Enterprise Work Designer, Enterprise
Work Modeler, eProcurement Accelerator, eremote, Everything Works Better When Everything Works Together, EWA, Extended Systems,
ExtendedView, Financial Fusion, Financial Fusion (and design), Financial Fusion Server, Formula One, Fusion Powered e-Finance, Fusion Powered
Financial Destinations, Fusion Powered STP, GeoPoint, GlobalFIX, iAnywhere, iAnywhere Solutions, ImpactNow, Industry Warehouse Studio,
InfoMaker, Information Anywhere, InformationConnect, InphoMatch, InstaHelp, Intelligent Self-Care, InternetBuilder, iremote, iScript, Jaguar
CTS, jConnect for JDBC, KnowledgeBase, Logical Memory Manager, M2M Anywhere, Mach Desktop, Mail Anywhere Studio, Mainframe
Connect, Maintenance Express, Manage Anywhere Studio, MAP, M-Business Anywhere, MDI Access Server, MDI Database Gateway,
media.splash, Message Anywhere Server, MetaWorks, MethodSet, mFolio, Mirror Activator, ML Query, MMS 365, Mobile 365 (and design),
MobiLink, MySupport, New Era of Networks, Next Generation Learning, Next Generation Learning Studio, O DEVICE, OASiS, OASiS logo,
ObjectConnect, ObjectCycle, OmniConnect, OmniQ, OmniSQL Access Module, OmniSQL Toolkit, OneBridge, Open Biz, Open Business
Interchange, Open Client, Open ClientConnect, Open Client/Server, Open Client/Server Interfaces, Open Gateway, Open Server, Open
ServerConnect, Open Solutions, OpenSwitch, Partnerships that Work, PB-Gen, PC APT Execute, PC DB-Net, PC Net Library, Pharma Anywhere,
PhysicalArchitect, PocketBuilder, Power Through Knowledge, power.stop, PowerAMC, PowerBuilder, PowerBuilder Foundation Class Library,
PowerDesigner, PowerDimensions, Powering the New Economy, PowerScript, PowerSite, PowerSocket, Powersoft, PowerStage, PowerTips,
Powersoft Portfolio, Powersoft Professional, PowerWare Desktop, PowerWare Enterprise, ProcessAnalyst, Pylon, Pylon Anywhere, Pylon
Application Server, Pylon Conduit, Pylon Pro, QAnywhere, RAP - The Trading Edition, Rapport, Relational Beans, RepConnector, Report
Workbench, Report-Execute, Replication Agent, Replication Driver, Replication Server, Replication Server Manager, Replication Toolkit, Resource
Manager, RFID Anywhere, RW-DisplayLib, RW-Library, SAFE, SAFE/PRO, Sales Anywhere, Search Anywhere, SDF, Search Anywhere, Secure
SQL Toolset, Security Guardian, ShareSpool, Sharelink SKILS, smart.partners, smart.parts, smart.script, SOA Anywhere Trademark,SQL
Advantage, SQL Anywhere, SQL Anywhere Studio, SQL Code Checker, SQL Edit, SQL Edit/TPU, SQL Modeler, SQL Remote, SQL SMART,
SQL Toolset, SQL Station, SQLJ, Stage III Engineering, STEP, SupportNow, S.W.I.F.T. Message Format Libraries, Sybase 365, Sybase Central,
Sybase IQ, Sybase Learning Connection, Sybase MPP, SyberLearning LIVE, SyberLearning OnDemand, Sybase SQL Desktop, Sybase SQL
Lifecycle, Sybase SQL Workgroup, Sybase Synergy Program, Sybase Virtual Server Architecture, Sybase User Workbench, SybaseWare, Syber
Financial, SyberAssist, SybFlex, SybMD, SyBooks, System 10, System 11, System XI (logo), SystemTools, Tabular Data Stream, The Enterprise
Client/Server Company, The Extensible Software Platform, The Future Is Wide Open, The Learning Connection, The Model For Client/Server
Solutions, The Online Information Center, The Power of One, TotalFix, TradeForce, Transact-SQL, Translation Toolkit, Turning Imagination Into
Reality, UltraLite, UltraLiteJ, UltraLite.NET, UNIBOM, Unilib, Uninull, Unisep, Unistring, Unwired Accelerator, Unwired Orchestrator, URK
Runtime Kit for UniCode, Unwired Accelerator, Unwired Orchestrator, Viafone, Virtualized Resource Management, VisualWriter,
WarehouseArchitect, Warehouse Studio, Warehouse WORKS, Watcom, Watcom SQL, Web Deployment Kit, Web.PB, Web.SQL, WebSights,
WebViewer, XA-Library, XA-Server, XcelleNet, XP Server, XTNDAccess, and XTNDConnect are trademarks of Sybase, Inc. or its subsidiaries.
ii
Contents
iii
Variables (BPM) . . . . . . . . . . . . . . . . . . . . . . . . . 157
Correlation Keys (BPM) . . . . . . . . . . . . . . . . . . . . . 160
Data Transformations . . . . . . . . . . . . . . . . . . . . . . 163
iv
11 Working with Sybase WorkSpace Business Process 301
Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Introducing Sybase WorkSpace Business Process Concepts 307
Designing for Sybase WorkSpace Business Process . . . . . 309
Switching to Sybase WorkSpace Business Process Language 327
Importing WorkSpace Services . . . . . . . . . . . . . . . . . 328
Invoking WorkSpace Services . . . . . . . . . . . . . . . . . . 329
Generating for Sybase WorkSpace Business Process . . . . 330
Index 389
v
vi
PART I
Subject
This book describes the PowerDesigner Business Process Model, including
how to create a BPM, build each of the available diagrams, and generate and
reverse engineer process language files.
Audience
This book assumes that you are an experienced Windows user with some
experience in business process modeling.
Documentation primer
For information about the complete documentation set provided with
PowerDesigner, see the Getting Started with PowerDesigner chapter of the
Core Features Guide .
Typographic conventions
PowerDesigner documentation uses special typefaces to help you readily
identify specific items:
monospace text (normal and bold)
Used for: Code samples, commands, compiled functions and files,
references to variables.
Example: declare user_defined..., the BeforeInsertTrigger
template.
bold text
Used for: New terms.
Example: A shortcut has a target object.
SMALL CAPS
ix
Document: Business Process Specification Schema - http://www.ebxml.org/.
Alan Kotok, David R. Webber, David RR Webber - ebXML: The New
Global Standard for Doing Business on the Internet - New Riders
Publishing, 2001.
Business Process Execution Language for Web Services Specification
http://www- 106.ibm.com/developerworks/webservices/library/ws-bpel/.
x
CHAPTER 1
About this chapter This chapter explains how to get started with the PowerDesigner Business
Process Model.
Contents Topic: page
Creating a BPM 8
Working with Process Languages 11
1
Introducing Business Process Modeling
2
Chapter 1. Getting Started with Business Process Modeling
BPM diagrams
The PowerDesigner BPM provides the following diagrams:
Diagram Description
Icon
Process service dia- Displays your service providers and any depen-
gram dencies between them (see Process service
diagram on page 6).
The picture below shows how the BPM diagrams can interact within your
model. The process hierarchy diagram (PHD) displays the processes of
your system in a hierarchy. Each of these processes can be analyzed in its
own business process diagram (BPD). Service providers (often web
services) used to implement the sub-processes can be displayed in a process
service diagram (PSD):
3
Introducing Business Process Modeling
+ For more information about the process hierarchy diagram, see the
Building Process Hierarchy Diagrams chapter.
4
Chapter 1. Getting Started with Business Process Modeling
+ For more information about the business process diagram, see the
Building Business Process Diagrams chapter.
5
Introducing Business Process Modeling
The process service diagram allows you to graphically view the service
providers for which you have identified a need in your business process
diagrams.
In the following example the LoanFlow service provider depends on the
LoanService service provider.
+ For more information about the process service diagram, see the
Building Process Service Diagrams chapter.
6
Chapter 1. Getting Started with Business Process Modeling
V9 models
If you created a model with PowerDesigner 9 and attached a XEM (such as
ebXML for example), the model will be automatically linked to the most
appropriate process language, otherwise it will be linked by default to the
Analysis process language.
Diagram types Depending on the language you work with to build your BPM, you will have
access to all or part of its available diagrams:
Analysis languages 4 4
Collaborative lan- 4 4
guages
Service Orchestration 4 4 4
languages
Note: the Data Flow Diagram language lets you create a specific business
process diagram which focuses on potential exchange of data between
processes (see the Working with the Data Flow Diagram chapter).
7
Creating a BPM
Creating a BPM
You can create a BPM from scratch or using existing elements such as:
Opening a V6 Process Analyst Model. See chapter Working with Data
Flow Diagrams
8
Chapter 1. Getting Started with Business Process Modeling
9
Creating a BPM
Demo example
Several examples of BPMs are available in the Examples directory.
BPM properties
The Model property sheet displays the definition of the current model.
A BPM has the following model properties:
Property Description
Version Version of the model. You can use this box to display the
repository version or a user defined version of the model.
This parameter is defined in the display preferences of
the Title node.
Default diagram Diagram displayed by default when you open the model.
10
Chapter 1. Getting Started with Business Process Modeling
11
Working with Process Languages
Refresh. F5
Keyboard Description
shortcut
F2 Jumps to bookmark.
12
Chapter 1. Getting Started with Business Process Modeling
13
Working with Process Languages
4. Click OK.
A message box informs you that the current process language has been
changed.
5. Click OK.
The whole model content is modified according to the process language
you have selected.
14
CHAPTER 2
About this chapter This chapter describes how to build a process hierarchy diagram and its
behavior within the PowerDesigner Business Process Model.
Contents Topic: page
15
Process Hierarchy Diagram Basics
Example In the following example, the root process, Marketing, is decomposed into
three sub-processes, Paper Advertising, Email Campaign, and Corporate
Web Site. The latter is in turn decomposed into two sub-processes, and so
on:
16
Chapter 2. Building Process Hierarchy Diagrams
Each of these processes can be analyzed in its own business process diagram
(see the Building Business Process Diagrams chapter).
17
Building Process Hierarchies
If you are working with the Data Flow Diagram process language, you can
analyze each process at the first level of your hierarchy in its own context
diagram to show the primary relationships between the organization and the
external entities with which it deals (see the Working with the Data Flow
Diagram chapter).
18
Chapter 2. Building Process Hierarchy Diagrams
Example:
Example:
19
Building Process Hierarchies
You can expand one or all levels of a part of a hierarchy by right-clicking the
parent process symbol and select Expand (All) from the contextual menu.
Only the first level or all levels of a part of the hierarchy is expanded.
Completing the hierarchy You can delete a sub-process symbol from the hierarchy in the diagram
window without deleting the object from the model. You can use the
Complete and Complete All commands from the contextual menu of a
parent process symbol to redisplay one or all missing sub-processes in the
hierarchy.
20
Chapter 2. Building Process Hierarchy Diagrams
v To reuse a process
1. Right-click the process within which you want to reuse the process, and
select Reuse Process from the contextual menu. An object selection
dialog box opens, which lists all the other processes available in the
model.
21
Building Process Hierarchies
2. Select the process that you want to reuse and click OK.
A shortcut to the selected process is added as a sub-process to the first
process.
By default, the symbol of the shortcut displays its target. For more
information about modifying this and other display preferences, see
Process hierarchy diagram display preferences in the Customizing the
BPM Environment chapter.
A process shortcut is always displayed as an atomic process. You cannot
decompose the shortcut or expand its hierarchy, even if its target object has
sub-processes.
22
CHAPTER 3
About this chapter This chapter provides you with an introduction to the basic notions of
business process modeling. It describes how to build a business process
diagram and its behavior within the Business Process Model.
Contents Topic: page
Processes (BPM) 39
Flows (BPM) 76
Decisions (BPM) 81
Synchronizations (BPM) 85
Starts (BPM) 88
Ends (BPM) 90
Events (BPM) 92
23
Topic: page
24
Chapter 3. Building Business Process Diagrams
25
Top-Level Diagram Basics
Having created a top-level diagram, you can then decompose your top-level
process to create a choreography diagram (see Choreography Diagram
Basics on page 28).
26
Chapter 3. Building Business Process Diagrams
27
Choreography Diagram Basics
Allocating responsibilities
You can use a choreography diagram to analyze how processes modeled in
the system will be allocated to people, groups or organizations. These
resources are modeled as organization units and are represented in the
choreography diagram as swimlanes.
You allocate a process to an organization unit by placing it in the appropriate
swimlane (see Attaching and detaching a process to/from an organization
unit on page 67). Allocating responsibilities in this way helps you to avoid
unassigned tasks and duplicated assignments.
In the following example the Warehouse organization unit is responsible for
checking the stock and managing the shipping of goods, and the Call Center
organization unit is responsible for calling back customers:
28
Chapter 3. Building Business Process Diagrams
29
Choreography Diagram Basics
Analyzing data
The choreography diagram provides various ways to model the flow of data
in the system:
Message formats on flows [Analysis language and ebXML language
only] to define an exchange format for large amounts of data that transit
between processes. Message formats can be useful for web services, and
are usually defined by a DTD or an XSD (see Message Formats (BPM)
on page 96).
In the following example, the Order to Ship flow is associated with the
USPS Packet message format to specify the format of the data exchanged
between the Process Order process and the Ship US Postal Ground
process:
30
Chapter 3. Building Business Process Diagrams
31
Choreography Diagram Basics
32
Chapter 3. Building Business Process Diagrams
33
Choreography Diagram Basics
34
Chapter 3. Building Business Process Diagrams
35
Choreography Diagram Basics
XSD document None None Object that contains the data schema
handled by a service provider (see
XSD Documents on page 154)).
Data transfor- None None Object that allows the copy of data
mation from a source to a target with potential
transformations (see Data Transfor-
mations on page 163).
36
Chapter 3. Building Business Process Diagrams
37
Data Flow Diagram Basics
+ For more information about the data flow diagram, see the Working
with the Data Flow Diagram chapter.
38
Chapter 3. Building Business Process Diagrams
Processes (BPM)
A process is a manual or automated action, such as Process order, or
Send a mail.
You can decompose processes in order to analyze their actions more closely,
and further decompose your sub-processes until you reach an appropriate
level of detail. A process that is not decomposed is called an atomic process
(or activity) (see Decomposing processes on page 58).
A process can be created in the following diagrams with any target
languages:
Process Hierarchy Diagram each process forms part of a hierarchy,
which begins with a single top-level process, and is decomposed into
sub-processes. Each decomposed process can be analyzed in its own
business process diagram.
In the following example, the top-level Design process is decomposed
into three sub-processes named Analyze needs, Analyze tasks, and
Analyze audience:
39
Processes (BPM)
Creating a process
You can create a process in any of the following ways:
Use the Process tool in the diagram Palette.
Select Model Processes to access the List of Processes, and click the
Add a Row tool.
40
Chapter 3. Building Business Process Diagrams
+ For general information about creating objects, see the Objects chapter
in the Core Features Guide .
Process properties
You can modify an objects properties from its property sheet. To open a
process property sheet, double-click its diagram symbol or its Browser entry
in the Processes folder.
The General tab contains the following properties:
Property Description
Name Specifies the name of the item, which should be clear and
meaningful, and should convey the items purpose to non-
technical users.
Code Specifies the technical name of the item, which is used for
generating code or scripts.
Timeout Specifies the timeout limit. The default value is zero. When
the value is not set to zero, it means that a timeout exception
occurs if the execution of the activation takes more than the
specified timeout limit. You can type any alphanumeric value
in the Timeout box (Example: 20 seconds).
41
Processes (BPM)
Property Description
The Implementation tab lets you define how the process (activity) is
implemented. Depending on the implementation type you specify, the
properties available on this tab will change. The following properties are
always available. Note that only decomposed processes can be implemented
for the ebXML and BPEL languages:
Property Description
42
Chapter 3. Building Business Process Diagrams
Property Description
43
Processes (BPM)
Loop
Reuse
Generate event
Timer event
Fault event
Compensation event
Assign
Execute operation
Receive: the activity provides services to its partners
44
Chapter 3. Building Business Process Diagrams
Properties Description
Loop type Specifies the loop type. You can select from the
list a predefined type, when available in the target
language.
Reuse process This implementation type is available for analysis languages (except DFD)
implementation and for collaborative languages, and lets you use another existing process to
specify your process implementation.
The following Reuse process specific property is available:
Properties Description
Properties Description
Event mapping [Only available for fault events] Lets you associate
a data with the fault by selecting a local variable
from the list. This variable stores the fault data.
The Generate event implementation lets you specify events that allow you to
model the following specific activities:
45
Processes (BPM)
Properties Description
Action description Specifies the way the action is executed. Click the
Action Description button to open a text editor, in
which you can enter any appropriate information, as
well as open, insert and save text files.
46
Chapter 3. Building Business Process Diagrams
Properties Description
Sent message Corre- Specifies a sent correlation key (see Correlation Keys
lation key (BPM) on page 160), which contains the information
that is useful to the partner in a next exchange with
the activity. You can use the tools to the right of the
list to create an object, or view the properties of the
currently selected object.
Received message The following table summarizes the relationships between the input/output
messages of the operation (see Operation property sheet Input/Output tab
on page 150) and the received messages of the activity:
47
Processes (BPM)
Undefined
Undefined
This tab is only available for decomposed processes, and displays the list of
its sub-processes. You can use the Add a row and Delete tools to modify the
list (see Decomposing processes on page 58).
This tab is only available for the Analysis and Data Flow Diagram
languages.
The Data tab lists the data associated with the process and allows you to
48
Chapter 3. Building Business Process Diagrams
define the type of action the process can perform on the data using a CRUD
(Create, Read, Update, Delete) matrix.
You can add or create data using the Add Objects and Create an Object tools.
4. Select one or more data, and click OK to close the selection list, and add
them to the process Data tab.
By default, the access mode is set to Read only.
49
Processes (BPM)
50
Chapter 3. Building Business Process Diagrams
This tab is only available for a process with the Assign implementation type.
The Assignments tab lists the data transformations (see Data
Transformations on page 163) required for the atomic assign tasks, which
compose the assign activity. An assign activity is an Xpath or XSLT
expression that allows you to copy a variable value to another variable value,
or to calculate the value of an expression and store it in a variable.
In the Assignments tab, the following specific properties displays:
Properties Description
51
Processes (BPM)
implementation object:
<None> [no object] - default. No implementation defined, or the
implementation consists of a textual description in the implementation
box.
Loop [expression text] creates a sub-diagram, which details the
actions to perform inside the loop.
Reuse process [process] (only available for Analysis, ebXML, and
BPMN) uses another process for its implementation.
Execute operation [operation] (only available for orchestration
languages) implements a process by a service operation in order to
design the reception and emission of messages.
Generate Event [event] (only available for orchestration languages
and BPMN) specifies the generation of events. Can be used to raise an
exception.
Assign [data transformation] (only available for orchestration
languages) uses data transformations to allow the copy of data from
one variable to another.
Loop
Reuse process
52
Chapter 3. Building Business Process Diagrams
Fault event
Compensation event
Assign
2. Open its property sheet, click the Implementation tab, and select Execute
operation from the Type list. The corresponding fields display:
53
Processes (BPM)
3. Click the Create tool to the right of the Implemented by list to open a
wizard to create an operation. First, create a service provider, and call it
OrderManagement:
54
Chapter 3. Building Business Process Diagrams
5. Then click Finish to exit the wizard. The operation property sheet opens.
Enter ReceiveOrder for the operation name:
55
Processes (BPM)
6. Click the Input/Output tab and select Request-Response from the Type
list, then enter the following information:
56
Chapter 3. Building Business Process Diagrams
57
Processes (BPM)
Decomposing processes
You decompose a process when you want to analyze it in more detail. For
example, you could decompose the process Process order into the
sub-processes Check availability, Obtain payment, Reserve stock
items, and so on.
The decomposed process behaves like a specialized package or container. It
has its own sub-diagram, which models the control flow or data flow
between its sub-processes.
Sub-processes can, themselves, be decomposed into further sub-processes,
and so on until you get sufficient detail, or until you have reached the level
of atomic tasks.
Decomposed process symbols in a business process diagram carry a
plus-sign symbol to indicate that they contain further detail. Alternately, to
display the detail available in a sub-diagram, right-click the symbol and
select Composite view in the contextual menu.
In the following example, TopLevelProcess is in composite view mode; the
details of its sub-diagram are displayed within its symbol:
58
Chapter 3. Building Business Process Diagrams
59
Processes (BPM)
The decomposed process is empty at first, except when you create it from a
selection of symbols. Any objects that you create in the sub-process diagram
are listed in the Browser under the decomposed process.
In a BPD, decomposed processes must always have at least one start and one
end.
60
Chapter 3. Building Business Process Diagrams
together with default output/input flows from this start to these selected
objects or from these selected objects to the end.
Initial diagram:
61
Processes (BPM)
2. Specify a name and a code in the Convert Diagram to Process page, and
then click Next to open the Selecting Objects to Move page.
3. Select the processes that you want to move to the new decomposed
process diagram. Processes that you select will be moved in the Browser
to under the new decomposed process. Those that you do not select will
remain in their present positions in the Browser and will be represented in
the new sub-process diagram as shortcuts.
4. Click Finish to exit the wizard. The new decomposed process and its
sub-process diagram will be created, and any objects selected for the
move will now appear beneath the decomposed object in the Browser.
Sometimes, you might decompose a process and then decide that you want,
instead, to show the detail of its sub-processes directly.
You can remove this level of decomposition by right-clicking the
decomposed process symbol in the diagram or in the Browser and selecting
Remove Composite Process Level in the contextual menu.
All the objects contained in the decomposed process (except any starts and
ends) are moved one level up in the hierarchy, and those directly beneath the
process replace the deleted process in any diagrams. Input and output flows
previously connected to the old process are automatically re-linked to the
first and last objects respectively from the old control flow.
You can add objects to a sub-process diagram in the same way as you add
62
Chapter 3. Building Business Process Diagrams
63
Processes (BPM)
64
Chapter 3. Building Business Process Diagrams
Top-level diagram An organization unit can be created in a top-level diagram with any of the
following target languages:
Orchestration languages (BPEL4WS and WS-BPEL only)
Collaborative language
An organization unit allows you to identify external partners, which interact
with your system, and displays as an actor (see Top-Level Diagram Basics
on page 26).
In the following example, the Buyer organization unit interacts with the
Order process:
65
Organization Units (BPM)
Data flow diagram An organization unit can be created in a data flow diagram and displays as
an actor to design an external entity that sends or receives data from the
system (see the Working with the Data Flow Diagram chapter).
The following table details the General tab that contains the properties most
commonly entered for organization units:
66
Chapter 3. Building Business Process Diagrams
Property Description
67
Organization Units (BPM)
68
Chapter 3. Building Business Process Diagrams
Manage a sub-process
Have a symbol in the sub-process diagram
Note that this display does not appear in composite view mode.
Managing swimlanes
All symbols displayed in the diagram and associated with an organization
unit must be drawn in the corresponding swimlane. Process symbols are
slightly different because you can attach processes to a swimlane, thus if you
change the attachment of a process, its symbol moves to the appropriate
swimlane.
+ For more information about attaching a process to a swimlane, see
Attaching and detaching a process to/from an organization unit on page 67.
You can move, copy and paste, resize, or delete a swimlane or change its
format preferences.
Selecting swimlanes
Selecting a single To select a swimlane, position the cursor above the symbol, until you see a
swimlane vertical arrow pointing to the frame, then click the left mouse button to
display the selection frame.
69
Organization Units (BPM)
Selecting a set of All swimlanes within a diagram are called a set of swimlanes. There can
swimlanes only be one set of swimlanes per diagram. To select the entire set of
swimlanes, click in the header of one of the swimlanes.
You can move an individual swimlane to another location. You can also
move the entire set of swimlanes to another location but it is not possible to
move several swimlanes out of the whole set at the same time.
Your can move or copy a swimlane and paste it to the following locations:
Same When you move a swimlane within the same diagram, you
change the order of swimlanes inside the set of swimlanes.
In this case, all symbols inside the swimlane are moved at
the same time (even if some elements are not attached to the
swimlane). This is to preserve the layout of the diagram.
If you move linked processes inside a swimlane, the width or height of the
swimlane varies to include all attached processes.
Auto-Layout function
The auto-layout function is unavailable with organization units displayed
as swimlanes.
70
Chapter 3. Building Business Process Diagrams
You can choose to have your swimlanes run vertically from top to bottom or
horizontally, from left to right. All swimlanes must run in the same way.
Resizing swimlanes
You resize a swimlane by selecting one of the two sidelines of the swimlane.
Depending if you use vertical or horizontal swimlanes, you can drag the
cursor to change the size of the swimlane as shown below:
When you change the width or height of an individual swimlane, all process
symbols attached to the swimlane keep their position.
You can also resize the entire set of swimlanes by selecting one of the
handles around the set of swimlanes and drag it to any direction.
71
Organization Units (BPM)
2. Type or select changes in the different tabs, and click OK to return to the
model.
From Result
72
Chapter 3. Building Business Process Diagrams
73
Role Associations (BPM)
Right-click the model or package in the Browser, and select New Role
Association
+ For general information about creating objects, see the Objects chapter
in the Core Features Guide .
Property Description
74
Chapter 3. Building Business Process Diagrams
Property Description
Source Specifies the object that the role association leads from. It
can be an organization unit or a process. You can use the
tools to the right of the list to create an object, browse the
complete tree of available objects, or view the properties
of the currently selected object. You can also open the
property sheet of the source object by clicking the Source
button located at the top part of the current object property
sheet.
Destination Specifies the object that the role association leads to. It
can be an organization unit or a process. You can use the
tools to the right of the list to create an object, browse the
complete tree of available objects or view the properties
of the currently selected object. You can also open the
property sheet of the destination object by clicking the
Destination button located at the top part of the current
object property sheet.
75
Flows (BPM)
Flows (BPM)
A flow is a route the control flow takes between objects and potentially
exchange data. The routing of the control flow is made using guard
conditions defined on flows. If the condition is true, the control is passed to
the next object.
A flow can be created in the following diagrams:
Choreography diagram with any target languages
Data flow diagram (see the Working with the Data Flow Diagram
chapter)
In the following example the flow links the Process Order process to the
Ship US Postal Ground process:
Creating a flow
You can create a flow in any of the following ways:
Use the Flow/Resource Flow tool in the diagram Palette
Select Model Flows to access the List of Flows, and click the Add a
Row tool
76
Chapter 3. Building Business Process Diagrams
Right-click the model or package in the Browser, and select New Flow
+ For general information about creating objects, see the Objects chapter
in the Core Features Guide .
Flow properties
You can modify an objects properties from its property sheet. To open a
flow property sheet, double-click its diagram symbol or its Browser entry in
the Flows folder.
The General tab contains the following properties:
Property Description
Source Specifies the object that the flow leads from. You can
use the tools to the right of the list to create an object,
browse the complete tree of available objects or view the
properties of the currently selected object. You can also
open the property sheet of the source object by clicking
the Source button located at the top part of the current
object property sheet.
Destination Specifies the object that the flow leads to. You can use the
tools to the right of the list to create an object, browse the
complete tree of available objects or view the properties
of the currently selected object. You can also open the
property sheet of the destination object by clicking the
Destination button located at the top part of the current
object property sheet.
77
Flows (BPM)
Property Description
Flow type Specifies the type of the flow. You can create your own
type of flow in the list, or choose one of the following
values:
Success - defines a successful flow
Timeout - defines the occurrence of a timeout limit
Technical error
Business error
Compensation - defines a compensation flow
The flow type is unavailable if you associate an event
with the flow (see Events (BPM) on page 92 and Flow
property sheet Condition tab on page 78).
78
Chapter 3. Building Business Process Diagrams
Parameter Description
This tab is only available for the Analysis and Data Flow Diagram
languages.
The Data tab displays the list of data conveyed by the flow without any
information on its format. You can add or create data using the Add Objects
and Create an Object tools (see Specifying data for a flow, a resource flow
or a message format on page 107).
You can also migrate data to a source or destination process (see Migrating
the data of a flow to a process on page 109).
In an Analysis business process diagram, if you have specified data for a
message format, the data contained in the flow Data tab should be a sub-set
79
Flows (BPM)
of the data contained in the message format Data tab. For more information,
see Message format property sheet Data tab on page 99.
80
Chapter 3. Building Business Process Diagrams
Decisions (BPM)
A decision specifies which path to take, when several paths are possible:
A decision can have one or more input flows and one or more output flows,
each labeled with a distinct guard condition. The process of a decision is
based on some defined expressions that direct the control flow towards the
valid flow by dynamically evaluating guard conditions.
A guard condition is a condition that must be satisfied for an associated
flow to execute some action. Across all these flows, guard conditions should
avoid ambiguity by not overlapping, but they should also cover all
possibilities in order to avoid process freeze.
A decision allows you to create complex flows, such as:
if . . . then . . . else . . .
switch . . . case . . .
do . . . while . . .
loop
for . . . next . . .
81
Decisions (BPM)
When working with a decision, you can choose to use a conditional branch
or a merge. They describe two different situations:
A conditional branch: one input flow and several output flows
A merge: several input flows and one output flow
Creating a decision
You can create a decision in any of the following ways:
Use the Decision tool in the diagram Palette
Select Model Decisions to access the List of Decisions, and click the
Add a Row tool
Right-click the model or package in the Browser, and select New
Decision
+ For general information about creating objects, see the Objects chapter
in the Core Features Guide .
Decision properties
You can modify an objects properties from its property sheet. To open a
decision property sheet, double-click its diagram symbol or its Browser
entry in the Decisions folder.
The General tab contains the following properties:
Property Description
Name Specifies the name of the item, which should be clear and
meaningful, and should convey the items purpose to non-
technical users.
Code Specifies the technical name of the object, which is used for
generating code or scripts.
82
Chapter 3. Building Business Process Diagrams
Properties Description
Conditional branches
A conditional branch allows you to model multiple possible flows, each of
which has an associated guard condition or the keyword ELSE.
In the following example, the control flow passes to the left if the age given
in the application form is <18, to the right if the age is >65, and takes the
another route if the age is not mentioned:
Factorizing conditions If you are working with a conditional branch, it can be useful to display a
condition on the decision symbol in order to factorize the conditions
attached to the flows.
In the following example, the condition Total * NB + VAT > 10.000 is
entered in the Condition tab in the decision property sheet, and True and
False are entered in the Condition tabs of the flows:
83
Decisions (BPM)
Merges
A merge allows you to model a point in a system, where two or more
alternate control paths come together into a common path.
In the following example, the Subscription and Charge account flows merge
to become the Ship order flow:
84
Chapter 3. Building Business Process Diagrams
Synchronizations (BPM)
A synchronization enables the splitting or synchronization of control
between two or more concurrent actions.
In the following example, the flow coming into the first synchronization is
split into two separate flows coming into the Check Customer Account
process and the Check Stock process. Then both flows are merged into a
second synchronization giving a single flow, which leads to the Process
Order process:
Orchestration languages
Collaborative languages
Join Merges multiple input flows into a single output flow. All input
flows must reach the join before the single output flow continues:
85
Synchronizations (BPM)
Creating a synchronization
You can create a synchronization in any of the following ways:
Use the Synchronization tool in the diagram Palette
Select Model Synchronizations to access the List of Synchronizations,
and click the Add a Row tool
Synchronization properties
You can modify an objects properties from its property sheet. To open a
synchronization property sheet, double-click its diagram symbol or its
Browser entry in the Synchronizations folder.
The General tab contains the following properties:
Property Description
Name Specifies the name of the item, which should be clear and
meaningful, and should convey the items purpose to non-
technical users.
Code Specifies the technical name of the object, which is used for
generating code or scripts.
Comment Specifies a descriptive comment for the object.
86
Chapter 3. Building Business Process Diagrams
Property Description
87
Starts (BPM)
Starts (BPM)
A start is a starting point of the whole process represented in a business
process diagram. Its symbol is a solid circle as shown below:
Collaborative languages
In decomposed processes, only one start is allowed per diagram, except for
analysis business process diagrams. The Start tool is unavailable if a start
symbol already exists. You should not use the same start in two diagrams,
and you cannot create shortcuts of starts.
Merging models
The start is compared and merged in the Merge Model feature. Since
starts should be unique in decomposed processes, the Merge Model feature
checks that there is no additional start in a decomposed process.
Creating a start
You can create a start in any of the following ways:
Use the Start tool in the diagram Palette
Select Model Starts to access the List of Starts, and click the Add a
Row tool
Right-click the model or package in the Browser, and select New Start
+ For general information about creating objects, see the Objects chapter
in the Core Features Guide .
Start properties
You can modify an objects properties from its property sheet. To open a
start property sheet, double-click its diagram symbol or its Browser entry in
the Starts folder.
The General tab contains the following properties:
88
Chapter 3. Building Business Process Diagrams
Property Description
Name Specifies the name of the item, which should be clear and
meaningful, and should convey the items purpose to non-
technical users.
Code Specifies the technical name of the object, which is used for
generating code or scripts.
Comment Specifies a descriptive comment for the object.
89
Ends (BPM)
Ends (BPM)
An end is a termination point of the processes described in the business
process diagram. Its symbol is a solid ball inside a circle as shown below:
Collaborative languages
You can create several ends within the same diagram, if you want to show
divergent end cases, like errors scenarios, for example:
You can also have no end if you want to show an endless process. But a
decomposed process must always contain one end at least.
You are not allowed to use shortcuts of ends, but graphical synonyms are
permitted.
Creating an end
You can create an end in any of the following ways:
Use the End tool in the diagram Palette
Select Model Ends to access the List of Ends, and click the Add a Row
tool
Right-click the model or package in the Browser, and select New End
90
Chapter 3. Building Business Process Diagrams
+ For general information about creating objects, see the Objects chapter
in the Core Features Guide .
End properties
You can modify an objects properties from its property sheet. To open an
end property sheet, double-click its diagram symbol or its Browser entry in
the Ends folder.
The General tab contains the following properties:
Property Description
Name Specifies the name of the item, which should be clear and
meaningful, and should convey the items purpose to non-
technical users.
Code Specifies the technical name of the object, which is used for
generating code or scripts.
Type Specifies the type of the end used for document purposes. You
can create your own type of end in the Type list, or choose one
of the following values:
Success
Timeout
Business error
Technical error
Compensation
91
Events (BPM)
Events (BPM)
An event is an instantaneous and observable occurrence during the course of
a business process, which triggers it to respond. For example, it can be
unexpected data returned by a web service or a deadline.
An event can be created in a choreography diagram with any of the
following target languages:
BPMN language
Orchestration languages
An event can be associated with a:
In the following example, the small symbol at the bottom of the Delay 6
days from Announcement process shows that the process triggers a fault
type event:
Creating an event
You can create an event in any of the following ways:
92
Chapter 3. Building Business Process Diagrams
Select Model Events to access the List of Events, and click the Add a
Row tool
Right-click the model or package in the Browser, and select New Event
Double-click a flow or a process to open its property sheet, click the
Condition tab (flow) or the Implementation tab (process), and then click
the Create tool to the right of the Event box
+ For general information about creating objects, see the Objects chapter
in the Core Features Guide .
Event properties
You can modify an objects properties from its property sheet. To open an
event property sheet, double-click its name in the List of Events or its
Browser entry in the Events folder.
The General tab contains the following properties:
Property Description
93
Events (BPM)
Predefined events Whether it is used in association with flows or processes, the event type
symbol displays on the flow or on the process as follows:
Timer
Fault
Compensation
Event handlers
An event handler is a way to catch an event, and to handle it using a
business process.
You create an event handler by dragging a flow from a source process to a
target process, and then associate an event with the flow. The target process
specifies the handling of the event and the event type symbol is displayed at
the source of the flow.
In the following example, when the Enroll customer composite process
completes normally, the flow goes to the Send welcome package composite
process. But if an event occurs during its execution, the Enroll customer
composite process catches the event and passes control to the Fix credit error
process, which acts as a fault handler to its parent process:
We can see that the Throw bad credit event breaks the normal flow of the
Enroll customer parent process:
94
Chapter 3. Building Business Process Diagrams
95
Message Formats (BPM)
Collaborative languages
Orchestration languages
Message formats in When working with the Analysis language and ebXML language, you can
analysis and associate a message format with a flow or resource flow in order to define
collaborative languages the format of information exchanged between processes. The message
format is displayed on the flow that uses it:
Message formats in When working with the orchestration languages, a message format is used to
orchestration languages specify the format of the message associated with an operation (see
Operations (BPM) on page 146).
In some cases, it may be appropriate to decompose a message format into
message parts that specify its contents (see Message Parts (BPM) on
page 100).
96
Chapter 3. Building Business Process Diagrams
+ For general information about creating objects, see the Objects chapter
in the Core Features Guide .
Property Description
Name Specifies the name of the item, which should be clear and
meaningful, and should convey the items purpose to non-
technical users.
Code Specifies the technical name of the object, which is used for
generating code or scripts.
Comment Specifies a descriptive comment for the object.
97
Message Formats (BPM)
Properties Description
Definition type Specifies how the message format is defined. You can
choose between:
Embedded file specifies a message format definition
stored within the object itself. You directly type the
definition in the Editor box.
External file specifies a message format definition
specified outside the model. You have to select a file
in the External definition box.
URL specifies a message format definition specified
outside the model. You have to type a Web address in
the External definition box.
Message parts specifies a message format definition
decomposed into parts, which specifies its contents.
You create message parts from the list of message parts
located at the lower part of the dialog box. For more
information, see Message Parts (BPM) on page 100.
External defini- [Only available for External File and URL]. Specifies the
tion location path to an external file or an URL.
Schema lan- [Not available for message parts]. Specifies the type of
guage schema language used for the message format description.
You can enter your own type of message format or you can
choose one of the following XML document languages:
XML Schema
DTD
RELAX NG
Editor (text [Only available for Embedded file]. Specifies the message
box) format definition details. You can enter any appropriate
information in this field, as well as open, insert and save
text files.
List of message [Only available for Message parts]. Lists the message
parts parts. You can create the message parts, which make up
the message format. For more information, see Message
Parts (BPM) on page 100.
You can open the Definition tab by right-clicking the message format
symbol in the diagram, and selecting Definition in the contextual menu.
98
Chapter 3. Building Business Process Diagrams
The Dependencies tab displays the use of an object or model by the current
object.
When working with orchestration languages, the Dependencies tab allows
you to display, in distinct sub-tabs, the different uses of the current message
format:
Sub-tab Description
Operation Input Message Displays all the operations that use the message
format as input.
Operation Output Mes- Displays all the operations that use the message
sage format as output.
Typed Variables Displays all the variables that use the message
format as a data type.
99
Message Parts (BPM)
100
Chapter 3. Building Business Process Diagrams
3. Type a name and a code for the message part, and click Apply to commit
the creation of the new message part.
4. [Optional] Double-click the new message part to specify its properties.
5. Click OK in each of the dialog boxes to return to the model.
101
Message Parts (BPM)
Property Description
Name Specifies the name of the item, which should be clear and
meaningful, and should convey the items purpose to non-
technical users.
Code Specifies the technical name of the object, which is used for
generating code or scripts.
Comment Specifies a descriptive comment for the object.
Data type Specifies the data type of the message part. You can choose
from a list of simple data types or click the Select Object
tool next to the list to select an XML element, a simple or
a complex type from the XML models attached to a service
provider via an XSD document.
102
Chapter 3. Building Business Process Diagrams
Data (BPM)
A data object is a piece of information exchanged, at a high conceptual
level, between processes using flows or between processes and resources
using resource flows.
A data can be created in a choreography diagram with all Analysis
languages (except BPMN).
Data is used in conjunction with a:
Flow or resource flow to identify the type of data exchanged between
processes or between a process and a resource.
Message format to identify the type and the format of data exchanged
between a resource and a process or between processes.
Process to identify the type of action (Create, Read, Update, and
Delete) the process performs on the data required for its execution.
103
Data (BPM)
Creating data
You can create data in any of the following ways:
Select Model Data to access the List of Data, and click the Add a Row
tool.
Right-click the model or package in the Browser, and select New Data.
+ For general information about creating objects, see the Objects chapter
in the Core Features Guide .
Data properties
You can modify an objects properties from its property sheet. To open a
data property sheet, double-click its name in the List of Data or its Browser
entry in the Data folder.
The General tab contains the following properties:
Property Description
Name Specifies the name of the item, which should be clear and
meaningful, and should convey the items purpose to non-
technical users.
104
Chapter 3. Building Business Process Diagrams
Property Description
Code Specifies the technical name of the object, which is used for
generating code or scripts.
Type Specifies the type of the data. The following types are available:
Undefined [default].
Structured data data decomposed into sub-data.
Elementary data data is not decomposed.
This tab is only available for a data object with a type of structured data.
The Sub-Data tab displays a list of data objects into which the present data
object is decomposed. You can add or create sub-data using the Add Objects
and Create an Object tools.
Parent data
You can click the Dependencies tab of a sub-data property sheet to display
the data of which it is a part.
105
Data (BPM)
2. Click the Select Definition Object tool to the right of the Definition box
to select an object from the models open in the workspace.
106
Chapter 3. Building Business Process Diagrams
The object name is displayed in the Definition box of the data property
sheet. You can click the Properties tool to the right of the box to open the
property sheet of the target object.
If you change the type of the data so that it no longer corresponds with the
object defined in the Definition box, you will be prompted to confirm the
change. If you do so, the link between the data and the object is removed.
Deleting a link with an external model object from the data property
sheet
Click the Remove Link tool to the right of the Definition box to delete the
link between the data and the object.
107
Data (BPM)
3. Select one or more data, and then click OK to close the selection list, and
associate the data with the flow, resource flow or message format.
108
Chapter 3. Building Business Process Diagrams
109
Data (BPM)
110
Chapter 3. Building Business Process Diagrams
Import CDM, PDM, and OOM objects as data in the BPM to identify
information exchanged between your processes.
The BPM data and the external objects are automatically linked, and the
name of the external objects is displayed in the Definition box in the BPM
data object property sheet.
In the other models, you can view the data associated with an object in the
Dependencies tab of its property sheet. When the data is modified, the
Impact Analysis functionality shows you the affected objects. For more
information see the Impact Analysis chapter in the Core Features Guide .
You can only export data that are not already linked to an external model
object and the target model must be open in the workspace.
Data export You can export BPM data objects to other PowerDesigner models as follows:
Undefined Data item or entity. Table [BPM Struc- Class [BPM Struc-
[BPM Elementary tured data] tured data].
data or Structured
data]
111
Data (BPM)
Undefined
Elemen-
tary
Data item and Table and col- Class and
entity attribute umn, if you se- attribute, if
Table and lect a Structured you select a
column, if data containing Structured data
you select a Elementary sub- containing
Structured data data Elementary
containing Class and sub-data
Elementary attribute, if
sub-data you select a
Class and Structured data
attribute, if containing
you select a Elementary
Structured data sub-data
containing
Elementary
sub-data
112
Chapter 3. Building Business Process Diagrams
Structured
A class attribute or a table column cannot be shared, but sub-data objects can
be shared by several data object parents. When you export an elementary or
undefined sub-data object as an attribute in the OOM or as a column in the
PDM, the link between the sub-data object and the definition object is not
saved in the Definition box of its property sheet.
Link export You can export the link between the parent data objects and the sub-data
objects to other PowerDesigner models as follows:
113
Data (BPM)
2. Select the target model or package to which you want to export data and
click Next to go to a data selection page, which lists all the data available
to export.
114
Chapter 3. Building Business Process Diagrams
3. [CDM only] When you export undefined data or sub-data to a CDM, the
wizard prompts you to specify whether you want to export them as data
items or entities. Select an object type and click Next to select data to
export.
4. Select the data to export, and then click Finish to begin the data export.
The data is exported to the target model. The result of the export is
displayed in the Output window. You can view in the Browser the target
model and its new objects:
Data re-export
You cannot export a data object more than once. If you want to re-export a
data object, you must first delete either the link to the external object or the
external object itself.
115
Data (BPM)
Foreign key column objects are not imported because they are created by the
PDM reference between tables.
Sub-data import When an entity, a table or a class object is imported as a data object, their
data items, columns or attributes are automatically imported as sub-data and
linked to their parent structured data.
2. Select the source model or package from which you want to import data
and click Next to go to a data selection page, which lists all the data
available to import.
116
Chapter 3. Building Business Process Diagrams
3. Select the data to import, and then click Finish to begin the data import.
The data is imported into the BPM. The result of the import is displayed
in the Output window. You can view in the Browser the BPM and its new
objects:
117
CRUD Matrix (BPM)
Collaborative languages
Data CRUD matrix In the following example, the Process Order process reads and updates the
Client data, and reads the Credit Card data, and the Confirm Order Shipment
process reads the Credit Card data:
Resource CRUD matrix In the following example, the Check Stock process reads data stored in the
Inventory resource and the Ship FedEx Overnight process reads and updates
data stored in the Work Team resource:
118
Chapter 3. Building Business Process Diagrams
119
CRUD Matrix (BPM)
Tool Description
You can reorder the rows in the matrix by using the arrows at the bottom of
the process column.
Modifying CRUD values You can modify the matrix CRUD values by selecting a cell and then
selecting or deselecting check boxes in the Current Cell Value groupbox at
the bottom part of the matrix window.
You cannot multi-select cells to modify their CRUD values.
Changes automatically display in the diagram for the resource flow when
required. The CRUD values in the Access Mode groupbox of the resource
flow property sheet or in the Data tab of the process property sheet change
accordingly.
120
Chapter 3. Building Business Process Diagrams
Note that the matrix does not let you add a CRUD value to objects that are
not already related in some way in the diagram.
121
Resources (BPM)
Resources (BPM)
A resource is a data store. It can be a database, a document, a data, or a
component to which a process have access. In the following example, the
Check Stock process reads data contained in the Inventory resource:
+ For general information about creating objects, see the Objects chapter
in the Core Features Guide .
Resource properties
You can modify an objects properties from its property sheet. To open a
resource property sheet, double-click its diagram symbol or its Browser
entry in the Resources folder.
The General tab contains the following properties:
122
Chapter 3. Building Business Process Diagrams
Property Description
Name Specifies the name of the item, which should be clear and
meaningful, and should convey the items purpose to non-
technical users.
Code Specifies the technical name of the object, which is used for
generating code or scripts.
Comment Specifies a descriptive comment for the object.
This tab is only available for the Analysis and the Data Flow Diagram
languages.
+ The Data tab displays a list of data associated with the resource. Data
come from the input and output resource flows (see Resource Flows
(BPM) on page 124).
123
Resource Flows (BPM)
124
Chapter 3. Building Business Process Diagrams
Type Description
process:
Message format When working with the Analysis language and ebXML language, you can
associate a message format with a resource flow in order to define the format
of information exchanged between a process and a resource (see Message
Formats (BPM) on page 96).
The following rules apply:
Reflexive flows (same source and destination process) are allowed on
processes.
Two resource flows between the same source and destination objects are
permitted, and called parallel flows.
A resource flow cannot link shortcuts.
125
Resource Flows (BPM)
Property Description
Name Specifies the name of the item, which should be clear and
meaningful, and should convey the items purpose to non-
technical users.
Code Specifies the technical name of the object, which is used for
generating code or scripts.
Process Specifies one extremity of the resource flow. You can use the
tools to the right of the list to create an object, browse the
complete tree of available objects, or view the properties of the
currently selected object. You can also open the property sheet
of the process by clicking the Process button located at the top
part of the current object property sheet.
Resource Specifies the other extremity of the resource flow. You can use
the tools to the right of the list to create an object, browse the
complete tree of available objects, or view the properties of the
currently selected object. You can also open the property sheet
of the resource by clicking the Resource button located at the
top part of the current object property sheet.
126
Chapter 3. Building Business Process Diagrams
Property Description
Access Specifies the way to access data in a resource, and thus defines
mode the resource flow direction. You can choose from one of the
following values:
Read from resource to process.
Create, Update, Delete from process to resource.
When there are several flows, each condition is evaluated in order to choose
the one the resource flow will transit on. The Condition tab defines the
nature of the condition attached to a resource flow.
The Condition tab contains the following properties:
127
Resource Flows (BPM)
Parameter Description
symbol:
128
Chapter 3. Building Business Process Diagrams
129
Service Providers (BPM)
When you copy a service provider, you also copy its associated service
interfaces. Shortcuts for service providers are not permitted.
130
Chapter 3. Building Business Process Diagrams
Property Description
Filename Specifies the path to the file that contains the whole
service definition. The path is set during import and used
during file generation. Use the tools to the right of the
box to select a WSDL file or open the currently selected
WSDL file.
Endpoint URL Specifies the address at which the service can be reached.
131
Service Providers (BPM)
Property Description
This tab displays a list of service interfaces associated with the service
provider, and allows you to create service interfaces using the Add a Row
tool.
This tab contains the data schema of the service provider. The data schema
can come from:
The imported WSDL
The XSD document associated with an XML model. If there are more
than one XSD document, data schemas are concatenated
132
Chapter 3. Building Business Process Diagrams
Property Description
Data Schema Specifies the message part definition details. You can enter
(text box) any appropriate information in this field, as well as open,
insert and save text files.
This tab displays a list of XML namespaces prefixes used by the WSDL file.
These prefixes can reference included data schema namespaces or any
external namespaces. You can create XML namespaces prefixes using the
Add a Row tool.
An XML namespace is a URI (Uniform Resource Identifier) reference used
in XML documents, which indicates a location where element and attribute
names are declared. An XML document can contain element or attribute
names from more than one XML vocabulary. If each vocabulary is given a
133
Service Providers (BPM)
Parameter Description
134
Chapter 3. Building Business Process Diagrams
Operation Operation
2. Enter an URL in the WSDL URL box to specify the location of the
WSDL file on the web. The URL is displayed in the Filename box of the
service provider property sheet. You can use the tools to the right of the
box to browse for a file or browse UDDI (see Browsing for a WSDL file
on a UDDI server on page 136).
135
Service Providers (BPM)
3. [optional] Click the Preview WSDL button to preview the WSDL file,
and the unique key used to locate the UDDI. This button is not available
if you select several files to import.
4. [optional] Click the Options tab and select the Create XML Model check
box, if you want to automatically create an XML model for each schema
contained in the WSDL file. This provides you with a graphical
representation of the data schema.
5. Click OK to import.
A progress box is displayed. If the model in which you are importing
already contains data, the Merge Models dialog box is displayed.
+ For more information about merging models, see the Comparing and
Merging Models chapter in the Core Features Guide .
6. Click OK to return to the model.
The imported elements are added to your model, are visible in the
Browser, and in the Reverse tab of the Output window. If you have
selected the Create XML Model option, the XML model(s)
corresponding to the WSDL schema(s) are also created in the workspace.
136
Chapter 3. Building Business Process Diagrams
3. Enter a URL in the UDDI operator URL list or select one from the list,
and select a UDDI version in the UDDI Version list.
4. Select an item to search from the Search In list. You can search for a web
service per business entity (company name), web service name, and
WSDL name.
5. Enter a keyword in the Search For list and click the Search button. You
can search for a name of the item selected in the Search In list. The result
is displayed in the Search Result window.
6. [optional] Click the Preview WSDL button to open the WSDL property
sheet and click the WSDL tab to display the WSDL.
137
Service Providers (BPM)
7. [optional] Click the Business Entity tab to display data about the
company and the Business Service tab to display data about the service.
8. Click Close to close the WSDL property sheet.
9. Click OK in each of the dialog boxes to return to the model.
138
Chapter 3. Building Business Process Diagrams
provider from an OOM or a PDM on page 140). You can also export a
service provider as a component in the OOM (see Exporting a service
provider from a BPM on page 141).
During export/import, the following mappings are performed:
139
Service Providers (BPM)
The Service Provider Import Wizard is available from the Tools menu when
an implementation OOM and/or a PDM with a SOAP web service are open
in the workspace.
140
Chapter 3. Building Business Process Diagrams
3. Select the OOM components or PDM web services you want to import as
service providers and click Finish to begin the import. The components
or web services you have selected are imported as service providers in the
BPM and display in the Service Providers folder in the Browser:
The Service Provider Export Wizard is available from the Tools menu when
at least one service provider is defined in the current BPM and an OOM is
open in the workspace.
141
Service Providers (BPM)
3. Select the service providers you want to export and click Next to choose a
component type. If the target OOM language supports web services, the
142
Chapter 3. Building Business Process Diagrams
Web Service check box is selected by default, and you can select a web
service type from the list (for example AXIS RPC, JAX-RPC, etc.).
Otherwise, you can select a component type (for example EJB, Servlet,
etc.) from the list.
4. Select the type of component you want to create, and click Finish to exit
the wizard.
The service providers you have selected are exported as components in
the OOM and display in the Components folder in the Browser:
143
Service Interfaces (BPM)
The list of service interfaces accessible from the Model menu only allows
you to visualize all service interfaces for all service providers within the
model. You cannot create service interfaces from this list.
144
Chapter 3. Building Business Process Diagrams
Property Description
This tab displays a list of operations associated with the service interface,
and allows you to create operations using the Add a Row tool.
v To create an operation
1. Open the Operations tab in the property sheet of a service interface, and
click the Add a Row tool.
2. Type a name and a code for the operation, and click Apply to commit the
creation of the operation.
3. [optional] Double-click the new operation to specify its properties
4. Click OK in each of the dialog boxes to return to the model.
145
Operations (BPM)
Operations (BPM)
An operation is an object contained by a service interface, and which
comprises input and output elements defined in terms of messages or
message parts.
An operation can be created in the following diagrams with any
orchestration languages:
Choreography Diagram
Creating an operation
You can create an operation in any of the following ways:
Open the Operations tab in the property sheet of a service interface, and
click the Add a Row tool (see Service interface property sheet
Operations tab on page 145)
When implementing an atomic process (activity), you may need to create the
required implementation operation directly from the process.
146
Chapter 3. Building Business Process Diagrams
2. Click the Create tool to the right of the Implemented by list to open the
Create New Operation Wizard. Note that this tool is unavailable when an
operation is already selected in the list:
147
Operations (BPM)
148
Chapter 3. Building Business Process Diagrams
Create a new service interface, and enter a name for the new service
interface.
Operation properties
You can modify an objects properties from its property sheet. To open an
operation property sheet, double-click its Browser entry in the Service
Providers folder or double-click its name in the list of operations located in
the service interface property sheet.
The General tab contains the following properties:
Property Description
149
Operations (BPM)
Property Description
Input message Specifies the input message the operation sends. You can
(message) select a message format from the list or you can use the
tools to the right of the list to create a message format and
view the properties of the currently selected object.
150
Chapter 3. Building Business Process Diagrams
Property Description
2. Click the Add Objects tool to open a message formats selection list,
which lists the message formats defined in the model.
3. Select one or more message formats, and click OK to close the selection
list, and add them to the operation Faults tab.
151
Operations (BPM)
4. [optional] Select a fault in the list, and select the Properties tool to open
the property sheet of the corresponding message format.
5. Click OK to close the property sheet and return to the model.
152
Chapter 3. Building Business Process Diagrams
Operation Another service All the links to the processes that use
interface in the the operation are deleted. However,
same model if you move an operation to another
service provider all operation mes-
sages are duplicated.
153
XSD Documents
XSD Documents
An XSD document defines the data schema handled by a service provider. It
can be created in a choreography diagram with any orchestration languages.
When you reverse engineer or import web services, provided you have
selected the Create XML Model option, an XSD document is created for
each data schema found in the source WSDL. This XSD document is
displayed in the XSD Documents tab of the service provider property sheet.
An XSD document can be associated with an XML model in order to
provide a graphical representation of the service provider data schema (see
Attaching an XML model to an XSD document on page 155).
An XSD document belongs to a service provider.
Right-click the service provider in the Browser, and select New XSD
Document
The list of XSD documents accessible from the Model menu only allows
you to visualize all XSD documents for all service providers within the
model. You cannot create XSD documents from this list.
154
Chapter 3. Building Business Process Diagrams
Property Description
This tab displays a list of XML namespaces prefixes (see Service provider
property sheet XML Namespaces tab on page 133) used by the WSDL file.
These prefixes can reference included data schema namespaces or any
external namespace. You can create XML namespaces prefixes using the
Add a Row tool.
This tab specifies the message part definition details. You can enter any
appropriate information in this field, as well as open, insert and save text
files. The first lines of the schema display the XML version, encoding
format, and namespace details.
155
XSD Documents
its data schema in a graphical environment. The XML model schema code is
displayed in the Schema tab of the XSD document.
You can attach an XML model to an XSD document in any of the following
ways:
Import or reverse a WSDL file, if you have selected the Create XML
Model option. The XSD document created during the import is
automatically linked to the XML model. It displays in the Schema model
list of the XSD Document property sheet.
Create a new XSD document in a service provider property sheet, and
attach an XML model to the XSD document.
156
Chapter 3. Building Business Process Diagrams
Variables (BPM)
A variable is a data container, which holds temporary values that can be
passed between processes as input and output parameters, and which are
important for their correct execution. For example, variables are useful to
determine routing decisions or to build the messages a process has to send.
A variable can be created in a choreography diagram with any orchestration
languages, and is associated with a process implemented by an operation.
Variables can be used in conjunction with:
Processes to build the process messages
Correlation keys to identify a process instance using a set of variables
Data transformations to copy data from one variable to another
By default, a variable name or code must be unique within the parent scope
(package, composite process, or model) but can be used by any process
(activity) defined at the same level. However, two variables can share the
same name when they belong to different composite processes contained in
the same package.
Moving variables When you move variables, the following rules apply:
Same model A shortcut for the variable stays in the source process
or package, when the variable is used by at least one
process in that package.
Creating a variable
You can create a variable in any of the following ways:
Select Model Variables to access the List of Variables, and click the
Add a Row tool
Right-click the model or package in the Browser, and select New
Variable
+ For more information about the different ways to create objects, see the
Getting Started with PowerDesigner chapter in the Core Features Guide .
157
Variables (BPM)
Variable visibility Note that you can also create variables local to a process. In that case, only
the process in which you have created the variables can use them (see
Process property sheet Local Variables tab on page 50).
Variable properties
You can modify an objects properties from its property sheet. To open a
variable property sheet, double-click its name in the List of Variables or its
Browser entry in the Variables folder.
The General tab contains the following properties:
Property Description
Data type Specifies the data type of the variable. You can choose
from a list of simple data types, or type a complex type
(XSD element, OOM class, XML object, etc.).
[BPEL languages only] Can also specify a message
format. You can click the Create tool to create a new
message format.
158
Chapter 3. Building Business Process Diagrams
This tab specifies the variable value details. You can enter any appropriate
information in this field, as well as open, insert and save text files.
The information you enter depends on the variable data type. For example, if
you have specified a complex type, such as an XML object in the Data type
list, you can enter the corresponding XML schema. Or if you have specified
a simple type, such as Duration, you can enter 1 hour.
159
Correlation Keys (BPM)
One correlation key associated with the output message sent by the
activity.
The Dependencies tab of the correlation key property sheet displays the list
of the processes that use the correlation key for reception of messages and
the list of the processes that use the correlation key for emission of messages.
160
Chapter 3. Building Business Process Diagrams
Property Description
This tab lists the variables that define the current correlation key.
You can add variables to a correlation key to gather variables that are related
to the same communication. The correlation key can then be associated with
a process implemented by an operation.
161
Correlation Keys (BPM)
3. Select one or more variables and click OK to close the selection list, and
add them to the Variables tab.
162
Chapter 3. Building Business Process Diagrams
Data Transformations
A data transformation is an object that allows you to copy data from a
source container to a target container, and also to calculate the value of an
expression and store it in a variable.
For example, a manufacturer may be asked the price of one of its products,
which he calculates depending on one or more parameters, such as quantity,
delivery location, and so on. These parameters are input data on which the
manufacturer will perform a transformation, and then store the result as
target data.
A data transformation can be created in a choreography diagram with any
orchestration languages.
It is used in conjunction with:
Assign activities to design a sequence of atomic assign tasks
Correlation keys to perform a mapping between a message, and a
variable, which identifies a process instance (for example, a customer ID)
(see Correlation Keys (BPM) on page 160)
Right-click the model or package in the Browser, and select New Data
Transformation
+ For more information about the different ways to create objects, see the
Getting Started with PowerDesigner chapter in the Core Features Guide .
163
Data Transformations
Property Description
Assigned vari- Specifies the variable that receives the result of the
able transformation. You can select an object from the list, or
use the tools to the right of the list to create an object,
browse the available objects, or view the properties of the
currently selected object.
[BPEL languages only] Specifies an organization unit to
represent the partner who sends the message.
164
Chapter 3. Building Business Process Diagrams
Properties Description
Input part Specifies a message part when the input variable is typed
by a message format. You can click the Properties tool to
view the properties of the selected object.
165
Data Transformations
166
CHAPTER 4
About this chapter This chapter describes how to build a process service diagram and its
behavior within the Business Process Model.
Contents Topic: page
167
Process Service Diagram Basics
168
Chapter 4. Building Process Service Diagrams
You cannot create a new BPM with a process service diagram as the first
diagram.
169
CHAPTER 5
About this chapter This chapter describes how to parameter, launch and analyze the results of a
BPM simulation.
Contents Topic: page
171
Defining Simulation
Defining Simulation
The BPM can be used to describe the behavior and requirements of a
system. It is an activity model that gives a static view of the various
interactions that occur in a system.
Most of todays systems are dynamic in nature. Because an activity model is
static, dynamic issues cannot be satisfactorily represented. These issues
include the flow of data or other entities through an organization, contention
for shared resources such as personnel or hardware, and conditional
behavior of the system. Activity models are incapable of assessing flow
rates, bottlenecks, idle time, throughput, cycle times, workload, and other
dynamic properties. Since these dynamic properties often are of greatest
interest to management, simulation becomes a key analytical tool.
Simulation allows you to use a model to conduct experiments. The model,
which changes over time, conveys an understanding of the system being
represented. The purpose of experimenting using simulation is to solve
problems by discovering something unknown or testing theoretical solutions
to problems. The results of the experiment are then used to make prudent
decisions.
Simulation is a way to move to the most effective process without making
costly mistakes. For example, to minimize the risk to equipment and
minimize training cost, the airline industry routinely uses simulation to train
pilots.
The primary purpose of simulation is to describe and analyze the behavior of
a system, ask what if questions about a system, and help in the design of
real systems.
Simulation uses Simulation is widely used in manufacturing, in repetitive processes and even
in training for practicing decision making skills.
Why simulate a BPM? The reasons to simulate processes are various and numerous. One reason can
summarize them all: To control project risks.
Simulate process is very useful to:
Evaluate and improve the represented system performance before its
implementation
Save money, time, and resource
Avoid mistakes
Optimize solutions
Show a system behavior over compressed, real or even delayed time
172
Chapter 5. Simulating a Business Process Model
173
SIMUL8 Support
SIMUL8 Support
PowerDesigner supports SIMUL8 to add simulation functions to the BPM
module and allows you to enhance the design of your business processes.
SIMUL8 support will allow you to validate a BPM in terms of costs and
performance by taking fully advantage of a powerful analytical tool licensed
by SIMUL8 Corporation.
However it is recommended to get familiar with the SIMUL8 application
before taking fully advantage of the SIMUL8 support feature in
PowerDesigner.
+ For more information on SIMUL8 Corporation, visit the web site
www.SIMUL8.com.
SIMUL8 basics
The main objects in SIMUL8 are the following:
Work Center Place where work takes place on work items. Work
items can be transformed by work centers (they can
be updated, split or merged)
Work Entry Point A work entry point is a place where work to be done
is displayed in your simulation for the first time.
You can have as many work entry points as you
like. Each can feed in work using different statistical
distributions (if required). Each can feed in Work
item of different types (if required)
Work Exit Point A work exit point is a place where work that is
complete leaves your simulation. At the point in
time when each work item leaves, data is recorded
about how long it has spent in the simulation (from
the time when it entered through a work entry point)
174
Chapter 5. Simulating a Business Process Model
Route In / Route Out Flows between work centers are not objects. The
work center contains route in or route out properties
for each input or output flow.
Route in properties: (example: selection method:
circulate, priority, collect, passive. . . ) to control
where a work center gets the work items that it
performs tasks on
Route out properties: (example: discipline: cir-
culate, percent, . . . ) to control where work items
should go next after being at a work center
175
SIMUL8 Support
176
Chapter 5. Simulating a Business Process Model
177
SIMUL8 Support
178
Chapter 5. Simulating a Business Process Model
End
Resource
Flow link
Resource flow link
Cost estimation on processes, Profit plug-in that allows you to add finan-
resources etc. cial information to your simulation so that
results can be seen directly in terms of costs
improvement
179
Defining Simulation Properties
Time unit TimeUnit Seconds Unit used for the timing values
in the property dialogs of the
objects. For units smaller than
seconds use decimals of units
e.g. 0.001 = 1 millisecond
+ For more information on how to display the diagram property sheet, see
Diagram properties in the Diagrams and Symbols chapter of the Core
Features Guide .
180
Chapter 5. Simulating a Business Process Model
181
Defining Simulation Properties
Note
The resource flow object supports the resource attributes of the process
(resource min/max number, resource require)
Routing out properties cannot be modified, since they are set by
PowerDesigner
+ For more information on how to display the process property sheet, see
Process properties in the Building Business Process Diagrams chapter.
182
Chapter 5. Simulating a Business Process Model
183
Defining Simulation Properties
184
Chapter 5. Simulating a Business Process Model
185
Defining Simulation Properties
186
Chapter 5. Simulating a Business Process Model
187
Defining Simulation Properties
188
Chapter 5. Simulating a Business Process Model
Export unavailable
You cannot export a SIMUL8 model from a collaborative BPM. Also, you
cannot export a SIMUL8 model from a process hierarchy diagram.
Automatic adding of start When you export a SIMUL8 model from a BPM, whose main diagram
and end objects neither contain a start and an end object nor flows in the main diagram, a
start and an end object are automatically added, and connected to every
composite process.
Invalid character
When one of the following characters exists in the name of a PowerDesigner
object, it is automatically replaced with an underscore character:
- / + * & # [ | \@ ] = ? . / !
Diagram
Show Routes Arrows = yes. Flows are always shown after generation in
SIMUL8
189
Exporting a SIMUL8 Model
Atomic process
Resource linked to the process Resource when the Read access mode
is selected
Note on symbols SIMUL8 symbols for awaiting work, working, stopped (by efficiency
parameter), changing of type of work are replaced with the default symbols
of the PowerDesigner process with the implemented by and composite
icons, together with the corresponding display preferences.
Composite process
Start and end of a composite pro- Work centers with null working time
cess property
Implemented by process
190
Chapter 5. Simulating a Business Process Model
Decision
Comment Memo
The work center will contain no resource.
Routing in: Contains the list of objects linked on the inputs.
Routing in Discipline property = Circulate: work is taken from the top item
in the list of routes.
Routing out: Contains the list of objects linked on the outputs.
Routing out Discipline property = Percent for each output link. All the links
have the same percentage with total = 100.
Priority property = 0 % used for resources.
Synchronization
Name Name
Comment Memo
The work center will contain no resource.
Routing in: Contains the list of objects linked on the inputs.
Routing in Discipline property = Collect (+ number=1): one work item is
collected for each route, + Assemble: Each collected group becomes one
work item.
Routing out: Contains the list of objects linked on the outputs. If there is
more than one output flow there is a split into parallel flows. With the
following batching parameters, one input work item will generate one work
item for each output flow:
191
Exporting a SIMUL8 Model
Start
Start (in composite process) Work center with a null working time
Name Name
Comment Memo
192
Chapter 5. Simulating a Business Process Model
End
end (in composite process) Work center with a null working time
Name Name
Comment Memo
Resource
Resource Resource
Name Name
Comment Memo
A Resource is assigned to a work center via the work center properties.
Flow
Links between SIMUL8 objects are not objects but only symbols.
SIMUL8 objects are linked via the Routing in and Routing out properties of
the work center.
With or without queue Work items that come from the work entry point may be lost, when the next
work center is busy (being processing other work items, or waiting for
resources).
When a work item is lost, the simulation is suspended and a warning
message is displayed (work entry point option that can be disabled)
Some work centers may block work items, because the next work center
is busy, slowing down the process.
193
Exporting a SIMUL8 Model
A single queue to each route object is added in order to get the simulation
results of each queue separately.
On the output of a work entry point connected to a work center there is
always a queue, in order to avoid loosing work items during simulation.
On the input of a work exit point connected to a work center there is no
queue, it only accepts work pushed to it, otherwise work items would be
blocked in the queue.
Resource flow
There is no link object and symbol between a work center and a resource.
Resource flows that have the Read access mode are generated as
assignments of resources in the properties of the work center.
Non-generated objects
Package
Synonym
Free symbol
SIMUL8 accepts free symbols only in the main diagram; the components
cannot include free symbols.
Consequently, free symbols contained in PowerDesigner sub-process
diagrams are not generated.
Line Line
194
Chapter 5. Simulating a Business Process Model
The color, the transparent color, the fill color, the line width and the font of
free symbols are generated.
Task Description
2. Type a destination directory for the generated file in the Directory box.
or
Click the Select a Path tool to the right of the Directory box and browse
to select a directory path.
195
Exporting a SIMUL8 Model
A Progress box is displayed. The Result list displays the files that you can
edit. The result is also displayed in the Generation tab of the Output window,
located at the bottom part of the main window.
All SIMUL8 files are generated in the destination directory.
Package hierarchy
Symbols of packages are ignored during export. However, if you export a
diagram contained in a hierarchy of packages, the hierarchy is preserved
during export and one DOS folder is created per package in the Windows
Explorer.
196
Chapter 5. Simulating a Business Process Model
Display the results individually for each object using its property sheet or
use the list of objects in the Results menu
Display the results of some object properties using the Results Summary
dialog box available from the Results menu. You can add to the Results
Summary either all the results of one object using the Add All Results to
Results Summary button or add one atomic result of an object by
right-clicking the Results button in its property sheet
Export the results in text or Excel files: These files do not contain the
object names and properties, but only the SIMUL8 internal identifiers,
and therefore cannot be easily interpreted
Display a snapshot of the results, which contains only the number of
work items that were processed by each work center
In order to have predefined objects and properties in the summary of the
results, the generation declares in the simulation file the following objects
and their main properties:
Work centers:
Completed Jobs
Percent of time: awaiting work, working, blocked
197
Launching a Simulation and Analyzing the Results
Queues:
Number of work items: currently, average, maximum, total entered,
average queue time, number of non zero queueing times
Financial results: Profit SIMUL8 objects have all some financial properties such as Cost or
plug-in Revenue.
At the end of the simulation, you can display the global cost and revenue of
the model using the Finance Income Statement command.
The Finance commands are available only when the Profit plug-in is
installed.
Plug-ins
SIMUL8 Professional includes all the standard plug-ins: Profit, COM,
SQL, TimeView, Process, etc. SIMUL8 Standard does not include those
plug-ins.
198
Chapter 5. Simulating a Business Process Model
An existing BPM, because you want to update your current BPM and
correct problems (if any) revealed by the simulation results
When you import the SIMUL8 file, the SIMUL8 XEM is automatically
attached to the current BPM.
You can select several .XS8 files at the same time, all files will be imported
in the same current BPM. If several objects have identical names, they are
automatically renamed to preserve name uniqueness.
When you import a .XS8 file into a BPM, you import the same objects and
properties as those you have generated for exporting a XS8 file.
+ For more information on objects and properties generated for SIMUL8
export, see section Converting BPM objects and properties into SIMUL8
objects and properties on page 189.
Collaborative BPM
You cannot import a SIMUL8 model into a collaborative BPM.
Package hierarchy
If you import in PowerDesigner a .XS8 file that was generated from a
PowerDesigner diagram contained in a hierarchy of packages, the hierarchy
is preserved during import and one DOS folder per package is created in
the Windows Explorer.
Automatic deletion of When you import a SIMUL8 model generated from a BPM, and that start
start and end objects and end objects were automatically added in the main diagram when
exporting the BPM, these start and end objects are removed.
199
Importing a SIMUL8 Model
Work center
Queue
Resource
Resources are imported as resource objects.
A pool of resources (group of resources) has no corresponding concept in
PowerDesigner and cannot be imported.
200
Chapter 5. Simulating a Business Process Model
Sub-window
Symbols of the sub-window are directly created into the PowerDesigner
diagram.
Free symbol
Line Line
201
Importing a SIMUL8 Model
4. <optional> When you import into a new BPM, you can select one or
several extended model definitions to import at the same time by clicking
the Extended Model Definitions tab, and select the extended model
definitions of your choice.
The SIMUL8 XEM is automatically imported.
+ For more information on extended model definitions, see Extended
Model Definitions in the Resource Files and the Public Metamodel
chapter of the Customizing and Extending PowerDesigner manual.
202
Chapter 5. Simulating a Business Process Model
Multi-selection
You select several files simultaneously using the CTRL or SHIFT keys.
You cannot select several directories.
4. Click OK.
The imported objects are added to your model. They are visible in the
diagram and in the Browser. They are also listed in the Reverse tab of the
Output window, located in the lower part of the main window.
If the model in which you are importing already contains data, the Merge
Models dialog box is displayed.
+ For more information on merging models, see the Comparing and
Merging Models chapter in the Core Features Guide.
203
CHAPTER 6
About this chapter This chapter describes how to check the validity of a Business Process
Model (BPM), and how to merge and compare Business Process Models.
The Check Model feature verifies the validity of BPM objects within a
model at any time.
The Merge Model feature allows you to unify models, it combines two
different models into a single one.
Contents Topic: page
205
Customizing the BPM Environment
206
Chapter 6. Working with Business Process Models
To set BPM model options, select Tools Model Options or right-click the
diagram background and select Model Options from the contextual menu.
These options affect all the objects in the model, including those already
created. You can set the following options:
All Objects
Default Message Format
Data Flow Diagram Notation (Only available for data flow diagrams)
All Objects
207
Customizing the BPM Environment
Option Definition
Name/Code You can define the case sensitivity of names and codes for all
case sensitive objects in the current model. When this check box is selected,
it implies that you can have two objects with identical name
or code but different case in the same namespace.
Unlike other model options, you can modify the name and
code case sensitivity during the design process. However,
if you do so, make sure you run the check model feature to
verify if the model does not contain any duplicate object.
Enable links Requirements are descriptions of customer needs that must
to require- be satisfied during development processes.
ments You can enable links to requirements for all objects in
the current model. When this check box is selected, it
implies that the Requirements tab is displayed in the objects
property sheet. The Requirements tab allows you to attach
requirements to objects; these requirements are defined in
the Requirements models open in the workspace. Attached
requirements and Requirements models are synchronized.
For more information on requirements, see the Requirements
Modeling guide.
Message Format is a property for both flows and resource flows that gives
information on the type of data exchanged between objects. Undefined is the
default value when you create a flow, but you can modify it to set it to None.
Option Result
None When selected, it indicates that you do not want any default
message format for your flows, as the event is of minor
importance. You usually use this option when you do not
want to specify data flows in your BPM
Undefined When selected, it indicates that all your message formats will
be defined later
You can modify any of these options individually directly from the property
sheet of the flow or resource flow.
+ For more information about the flow or resource flow properties, see
corresponding sections in the Building a Business Process Model chapter.
208
Chapter 6. Working with Business Process Models
+ This model option is only available when you are working with a data
flow diagram.
+ Gane & Sarson and Yourdon are two structured analysis methodologies
involving data flow diagrams.
These methodologies use the data flow diagram (DFD) to graphically
represent the transfer of data from its source, through processing operations,
to its destination.
+ Gane & Sarson is the default value when you create a DFD, but you can
modify it to set it to Yourdon:
DFD graphical notation
Process
Flow
Data store
External entity
Split/Merge
209
Customizing the BPM Environment
Preference Description
Preference Description
210
Chapter 6. Working with Business Process Models
To set display preferences for ends, select Tools Display Preferences, and
select the End sub-category in the left-hand Category pane.
Preference Description
To set display preferences for flows, select Tools Display Preferences, and
select the Flow sub-category in the left-hand Category pane.
Preference Description
Message format Displays the symbol of the message format for the flow
symbol
211
Customizing the BPM Environment
Preference Description
Preference Description
Preference Description
212
Chapter 6. Working with Business Process Models
Preference Description
213
Customizing the BPM Environment
Format > (Modify symbol for- Allows you to modify the line style
Branch mat) and the shadow format for a branch
Preference Description
214
Chapter 6. Working with Business Process Models
Preference Description
Message format Displays the symbol of the message format for the
symbol resource flow
Data List Displays the list of data for the resource flow
Preference Description
Name Name
215
Customizing the BPM Environment
Preference Description
One-Way
Request-Response
Solicit-Response
Notification
To set display preferences for starts, select Tools Display Preferences, and
select the Start & End sub-category in the left-hand Category pane.
Preference Description
216
Chapter 6. Working with Business Process Models
When you attach an extended model definition to a process model, you can
choose between one of the following options:
217
Customizing the BPM Environment
Option Definition
218
Chapter 6. Working with Business Process Models
4. [optional] Click the Target Models tab and specify the target models for
any generated shortcuts.
5. [optional] Click the Selection tab and select or deselect objects to
generate.
Generation options
For detailed information about the options available on the various tabs of
the Generation window, see the Linking and Synchronizing Models chapter
of the Core Features Guide .
219
Generating Other Models from a BPM
Use the change target language feature replaces the content of your
current model by performing the appropriate transformations on the
whole model, preventing you from doing any object selection. (For more
information, see Changing the process language of a BPM in the
Business Process Model Basics chapter).
When generating an orchestration BPM, some transformations are
performed on the model to make it compliant with the new target language.
These transformations are logged into the Output window.
220
Chapter 6. Working with Business Process Models
Error. The Timeout, Technical Error and Business Error flow types are
replaced with event objects with Timer or Fault stereotype. Event objects
are associated with the flow to define event handlers.
Data - Data objects are automatically replaced with variables. The data
attachment to flow or message format is lost.
221
Generating Other Models from a BPM
Operation - Each language can restrict the type of operations that can be
attached to a process. In Sybase WorkSpace Business Process, the
following operation types are supported:
One-Way
Request-Response operation
Top-level process - In Sybase WorkSpace Business Process, the top-level
process is not supported. The flow chart is moved to the top-level diagram
and must contain at least a start, a process and an end. In case of multiple
top-level processes, these are all associated with the same start and end.
Single process with multiple Split between the single process and
output flows. the multiple output flows.
Single process with multiple Join between the single process and
input flows. the multiple input flows.
Start with multiple output Choice between the start and the mul-
flows. tiple output flows.
222
Chapter 6. Working with Business Process Models
End with multiple input flows. Join between the end and the multiple
input flows.
223
Checking a BPM
Checking a BPM
The Business Process Model is a very flexible tool, which allows you
quickly to develop your model without constraints. You can, however, check
the validity of your BPM at any time.
The Check Model Parameters window opens, which allows you to specify
the kinds of checks to perform, and the objects to apply them to. For detailed
information about this window and correcting problems reported, see
Checking a Model in the Models chapter of the Core Features Guide .
The following sections document the BPM-specific checks available by
default. For information about checks made on generic objects available in
all model types, see Checking a Model in the Models chapter of the Core
Features Guide .
Package checks
The following BPM model checks are made on packages:
Existence of several data with Several data should not be linked to the same
same definition object definition object within the same namespace.
Manual correction: Link the data to different
definition object from the data property sheet
Automatic correction: None
Process checks
The following BPM model checks are made on processes:
224
Chapter 6. Working with Business Process Models
Process name and code Process names and codes must be unique in
uniqueness the namespace.
Manual correction: Modify the duplicate
name/code
Automatic correction: Appends a number to
the duplicate name/code
Input or output flow missing Each process should have at least one input
flow and at least one output flow.
Manual correction: Add any missing flows
to the process
Automatic correction: None
Existence of several data with Several data should not be linked to the same
the same definition object definition object within the same namespace,
as data can be created in a composite process.
Manual correction: Link the data to different
definition object from the data property sheet
Automatic correction: None
Process with incoherent data The data attached to a flow should also
accesses be attached to the source and destination
processes.
Manual correction: Migrate the data of the
flow to the source and destination processes
Automatic correction: Automatically mi-
grates the data of a flow to the source and
destination processes
225
Checking a BPM
Decision checks
The following BPM model checks are made on decisions:
Decision name and code Decision names and codes must be unique in
uniqueness the namespace.
Manual correction: Modify the duplicate
name/code
Automatic correction: Appends a number to
the duplicate name/code
226
Chapter 6. Working with Business Process Models
Synchronization checks
The following BPM model checks are made on synchronizations:
Flow checks
The following BPM model checks are made on flows:
Flow without source or desti- A flow must have a source and a destination
nation object.
Manual correction: Assign a source or a
destination to the flow
Automatic correction: None
227
Checking a BPM
Invalid exception flow desti- A flow with Exception stereotype must target
nation a process that is implemented by an operation
and whose Action Type is Receive Request.
Manual correction: Change the flow stereo-
type or select a process that is implemented
by an operation and whose Action Type is
Receive Request
Automatic correction: None
Resource checks
The following BPM model checks are made on resources:
228
Chapter 6. Working with Business Process Models
Resource name and code Resource names and codes must be unique in
uniqueness the model.
Manual correction: Modify the duplicate
name/code
Automatic correction: Appends a number to
the duplicate name/code
Resource flow name and code Resource flow names and codes must be
uniqueness unique in the namespace.
Manual correction: Modify the duplicate
name/code
Automatic correction: Appends a number to
the duplicate name/code
229
Checking a BPM
Organization unit name and Organization unit names and codes must be
code uniqueness unique in the model.
Manual correction: Modify the duplicate
name/code
Automatic correction: Appends a number to
the duplicate name/code
Start checks
The following BPM model checks are made on starts:
Start name and code unique- Start names and codes must be unique in the
ness namespace.
Manual correction: Modify the duplicate
name/code
Automatic correction: Appends a number to
the duplicate name/code
Existence of output flow Each start object must have at least one
output flow.
Manual correction: Create a flow from the
start
Automatic correction: None
End checks
The following BPM model checks are made on ends:
230
Chapter 6. Working with Business Process Models
End name and code unique- End names and codes must be unique in the
ness namespace.
Manual correction: Modify the duplicate
name/code
Automatic correction: Appends a number to
the duplicate name/code
Existence of input flow Each end object must have at least one input
flow.
Manual correction: Create a flow to the end
Automatic correction: None
Message format name and Message format names and codes must be
code uniqueness unique in the model.
Manual correction: Modify the duplicate
name/code
Automatic correction: Appends a number to
the duplicate name/code
Data checks
The following BPM model checks are made on data:
231
Checking a BPM
Data name and code unique- Data names and codes must be unique in the
ness namespace.
Manual correction: Modify the duplicate
name/code
Automatic correction: Appends a number to
the duplicate name/code
Unused data The data you created is not used in the model.
Manual correction: Attach the data to an
object in the model
Automatic correction: None
Service provider name and Service provider names and codes must be
code uniqueness unique in the namespace.
Manual correction: Modify the duplicate
name/code
Automatic correction: Appends a number to
the duplicate name/code
232
Chapter 6. Working with Business Process Models
Service interface name and Service interface names and codes must be
code uniqueness unique in the namespace.
Manual correction: Modify the duplicate
name/code
Automatic correction: Appends a number to
the duplicate name/code
Operation checks
The following BPM model checks are made on operations:
Operation name and code Operation names and codes must be unique
uniqueness in a BPM in the namespace.
Manual correction: Modify the duplicate
name/code
Automatic correction: Appends a number to
the duplicate name/code
233
Checking a BPM
Variable checks
The following BPM model checks are made on variables:
Variable name and code Variable names and codes must be unique in
uniqueness the namespace.
Manual correction: Modify the duplicate
name/code
Automatic correction: Appends a number to
the duplicate name/code
Undefined data type The variable should have a defined data type.
Manual correction: Set a correct data type
for the variable in the Data Type list of its
property sheet
Automatic correction: None
Variable used out of scope The variable must be used in the scope where
it is defined. When a variable is used in a
different package or composite process from
the one where it is defined, a shortcut is
created. The package or composite process
that owns the shortcut must be a child of the
package or composite process that owns the
variable object. In other cases, the variable is
not visible, as it is not defined in the parent
scope.
Manual correction: Move the variable under
the common parent or duplicate it
Automatic correction: Moves the variable
under the common ascendant
234
Chapter 6. Working with Business Process Models
Correlation key name and Correlation key names and codes must be
code uniqueness unique in the namespace.
Manual correction: Modify the duplicate
name/code
Automatic correction: Appends a number to
the duplicate name/code
235
Checking a BPM
Correlation key used out of A correlation key must be used within the
scope scope of its definition.
Manual correction: Choose only correlation
keys defined under the parent scope of the
process
Automatic correction: Moves out of scope
correlation keys to common ascendant and
leaves a shortcut at the initial location
Event checks
The following BPM model checks are made on events:
Event name and code unique- Event names and codes must be unique in the
ness namespace.
Manual correction: Modify the duplicate
name/code
Automatic correction: Appends a number to
the duplicate name/code
236
Chapter 6. Working with Business Process Models
237
Importing Visio Diagrams into a BPM
Visio 2003
Visio 2007
You can import the following diagrams into a BPM:
238
Chapter 6. Working with Business Process Models
2. Specify the type of model to which you want to export your diagram,
enter a name for the model to be created, and then click OK to start the
export.
239
CHAPTER 7
About this chapter This chapter describes how to generate objects from a BPM and how to
reverse engineer into an existing and into a new BPM
Contents Topic: page
241
Generating Process Language files from a BPM
242
Chapter 7. Generating and Reverse Engineering Process Languages
2. Enter a directory in which to generate the files, and specify whether you
want to perform a model check. For more information about checking
your model, see Checking a BPM in the Working with BPMs chapter.
3. [optional] Click the Selection tab and specify the objects that you want to
generate from. By default, all objects are generated, and PowerDesigner
remembers for any subsequent generation the changes you make.
4. [optional] Click the Options tab and set any necessary generation options.
For more information about these options, see the appropriate language
chapter.
+ For information about editing the options that appear on this tab, see
Generation category in the Resource Files and the Public Metamodel
chapter of Customizing and Extending PowerDesigner .
5. [optional] Click the Generated Files tab and specify which files will be
generated. By default, all files are generated, and PowerDesigner
remembers for any subsequent generation the changes you make.
243
Generating Process Language files from a BPM
244
Chapter 7. Generating and Reverse Engineering Process Languages
245
Reverse Engineering Source Files into a BPM
3. [optional] Click the Extended Model Definitions tab, and select the
extended model definitions you want to attach to the new model.
+ For more information on extended model definitions, see Extended
Model Definitions in the Resource Files and the Public Metamodel
chapter of the Customizing and Extending PowerDesigner manual.
4. Click OK to go to the appropriate, language-specific Reverse Engineering
window. For ebXML, a standard file selection box is displayed. For
detailed information, see the appropriate language chapter.
5. Click OK to start reverse engineering.
A progress box is displayed. The processes are added to your model.
246
Chapter 7. Generating and Reverse Engineering Process Languages
4. Select the files or directory you want to reverse and click Open.
Multi-selection
For those languages that support multi-selection, you select several files
simultaneously using the CTRL or SHIFT keys. You cannot select several
directories.
The Reverse Process Language File dialog box displays the files you
selected.
5. [optional-BPEL4WS or WS-BPEL] Click the Options tab and specify
any appropriate options.
6. Click OK to begin reverse engineering.
A message in the Output window indicates that the specified file is fully
reverse engineered and the Merge Models window opens.
7. Review the objects that you will be importing, and the changes that they
will make to the model.
+ For more information on merging models, see the Comparing and
Merging Models chapter in the Core Features Guide.
8. Click OK to merge the selected changes into your model.
247
Reverse Engineering Source Files into a BPM
248
PART II
This part explains how to design, generate and reverse engineering different
process languages.
CHAPTER 8
About this chapter This chapter describes how to work with the BPMN 1.0 process language.
Contents Topic: page
251
Introducing to BPMN Process Language
Start
Intermediate (occurs
while the process is
executed)
End
When to work with When you decide to use the BPMN logical process language, you want to
BPMN? design the decomposition and choreography of tasks at a business level but
generally you also already know which platform you are going to use to
252
Chapter 8. Working with Business Process Modeling Notation
(BPMN)
253
CHAPTER 9
About this chapter This chapter describes how to work with the BPEL4WS 1.1 process
language.
Contents Topic: page
Requirements 256
255
Requirements
Requirements
When to work with You define a BPM with the BPEL4WS process language when you need to
BPEL4WS? implement with the BPEL4WS standard language in order to share your
business process model.
Scenario The scenario could be the following: You have already defined your
organization in terms of processes and sub-processes at an analysis level and
you want to automate all or a part of these processes:
Generate a BPEL4WS model using the Model to Model generation
feature to obtain a skeleton of an orchestration model
256
Chapter 9. Working with BPEL4WS
property sheet. The destination process of the flow will correspond to the
start of the graph for error handling. This approach allows you to
factorize the handling of an error that can often occur at different levels
Within a graph for error handling, compensation is often required to
cancel the effects of a process that has already been performed. To do so,
you use an event object with a <<Compensation>> stereotype and
associate this event with the activity asking for compensation, as you did
it for Fault event
Once the implementation of all atomic activities is defined, you can
export them in an OOM to specify in that model the implementation of
services. The BPM helps you to specify business needs only
Once the choreography of the different activities is defined you must
specify the data management. For each activity implemented by an
operation, you must retrieve messages received in local variables. To do
so, you must select a variable or create one in the Received Message
groupbox of the Implementation page of the process. Same for messages
sent by the process, you must select a variable or create one in the Sent
Message groupbox of the Implementation page of the process.
You may need to transform existing information to build the message to
be sent. To do so, you must use the data transformation object. The
result of the transformation is stored into a variable (Assigned Variable
box in the data transformation property sheet). Input data can be a
variable on which you will perform a simple transformation using XPath
or a more complex transformation with several variables using XSLT
Concerning expressions used in conditional branching, you must
transform the pseudo code used at the analysis level for decisions or
expression on flows into an expression that can be evaluated by the
process engine. Usually XPath expressions using local variables, you will
have to type them by hand or build them in an external editor and copy
them in PowerDesigner. You may need to create additional variables and
data transformation objects
For each reception of message, the process engine needs to know to
which process instance the message must be assigned. To do so, you use
the correlation key object, which is a unique key built from values of
variables local to the process. You must associate each process
implemented by an operation with a correlation key object. You may
need to create additional variables and transformation objects. The first
received message in the graph of activities is the exception message. It
creates an instance of the process and does not need a correlation key
object
257
Requirements
You can then check your model to detect errors or missing before you
generate your BPEL4WS file
258
Chapter 9. Working with BPEL4WS
Top-level process
A top-level process defines a point of view of one partner collaborating with
other partners. For example a seller can participate in different
collaborations (with a buyer, with providers, or/and with carriers) and have a
different role in each of the collaborations. These collaborations are
designed using role associations between organization units (partners) and
the top-level process (seller).
Extended attributes The following extended attributes (accessible from the BPEL4WS tab of the
top-level process property sheet) apply to the top-level process:
259
Designing for BPEL4WS
Partner
You design a partner that deals with top-level processes via role
associations using the icon representation of the organization unit.
In diagrams contained in composite processes, you use the swimlane
representation of the organization unit to design an invoking or invoked
Partner for a process associated with an operation. To do so, you drag and
drop organization units from the Browser to the diagram window then create
processes within the organization unit swimlanes. The name of the
organization unit automatically is displayed in the process property sheet
you have created.
ServiceLinkType
You design a ServiceLinkType construct using a role association object.
260
Chapter 9. Working with BPEL4WS
Extended attributes The following extended attributes (accessible from the BPEL4WS tab of the
role association property sheet) apply to the ServiceLinkType:
Scope construct
You design a scope construct using a composite process within a top-level
process. It allows the definition of top-level processes in sub-graphs using
atomic activities and orchestration elements.
Scope constructs allow the definition of local variables, correlation keys or
event handlers.
Extended attributes The following extended attributes (accessible from the BPEL4WS tab of the
composite process property sheet) apply to the Scope or Context construct:
261
Designing for BPEL4WS
WSDL file
You design the imported WSDL file using a service provider. It gathers a set
of service interfaces.
Extended attributes The following extended attributes (accessible from the BPEL4WS tab of the
service provider property sheet) apply to the WSDL file:
262
Chapter 9. Working with BPEL4WS
Activity
You design most activities using the process object.
Assign activity An assign activity is a set of elementary copy elements.
You design an assign activity using a process object with the Assign
implementation type. This type triggers the display of the Assignments tab:
263
Designing for BPEL4WS
task.
Select an Input Variable to define the source property of the elementary
assign task.
264
Chapter 9. Working with BPEL4WS
265
Designing for BPEL4WS
CorrelationSet
You design a CorrelationSet element using a correlation key object.
Variable
You can define variables under top-level processes and under scopes.
You design a variable using the variable object typed by a message. To do
so, you must select a message format in the Data Type list of the variable
property sheet.
Variables used by a correlation key must be defined under a model and not
under a process or package.
Property
You can define properties under the model only.
266
Chapter 9. Working with BPEL4WS
Link
You can use links between activities defined within parallel branches of a
flow activity (split and merge).
You design a link using a flow object with a <<link>> stereotype.
267
Generating for BPEL4WS
Option Description
Generate WSDL files Allows you to generate a WSDL file with the
following possible value: Local, Import, or Em-
bedded
Local: Enforces the generation of the WSDL
into a separated local file that is referred into
the BPEL definition file using the <Import>
clause
Import: Generates an <Import> clause into
the BPEL definition file
Embedded: Generates the WSDL file into the
BPEL definition file. In this case a WSDL file
is generated for each service provider
268
Chapter 9. Working with BPEL4WS
2. Type a destination directory for the generated file in the Directory box.
or
Click the Select a Path button to the right of the Directory box and
browse to select a directory path.
3. <optional> Select the Check Model check box if you want to verify the
validity of your model before generation.
4. Click the Selection tab and select the objects to include in the generation
from the sub-tabs.
Select Tools
All processes of the model, including those grouped into packages,
are selected and displayed by default. You use the Select tools to the
right of the Folder Selection list to modify the selection. The Include
Sub-Packages tool allows you to include all processes located within
packages.
5. Click the Options tab and select a value for each required option.
6. Click the Tasks tab and select the required task(s).
269
Generating for BPEL4WS
7. Click OK to generate.
A Progress box is displayed. The Result list displays the files that you
can edit. The result is also displayed in the Generation page of the Output
window, located in the bottom part of the main window.
All BPEL4WS files are generated in the destination directory.
270
Chapter 9. Working with BPEL4WS
.WSDL files
.XML files containing a BPEL definition
The WSDL definitions contained in the .BPEL files are reversed into service
providers.
3. Click the Add button in the Selection page to open a standard Open
dialog box.
4. Select the files or directory you want to reverse and click Open.
Multi-selection
You select several files simultaneously using the CTRL or SHIFT keys.
You cannot select several directories.
The Reverse BPEL4WS dialog box displays the selected files or
directory.
5. Click OK.
271
Reverse Engineering BPEL4WS
272
CHAPTER 10
About this chapter This chapter describes how to work with the WS-BPEL2.0 process language.
Contents Topic: page
Requirements 274
273
Requirements
Requirements
When to work with You define a BPM with the WS-BPEL 2.0 process language when you need
WS-BPEL 2.0? to implement with the WS-BPEL standard language in order to share your
business process model.
WS-BPEL 2.0 is based on BPEL4WS 1.1 process execution language.
Checking your model You can check your WS-BPEL business process model at any time using the
Check Model feature that includes WS-BPEL specific validation rules.
Check model may perform automatic corrections to your model or output
errors and warning that you will have to correct manually.
PowerDesigner also provides custom checks on objects used to design
WS-BPEL objects. Custom checks appear under the different metaclasses in
the Profile category of the WS-BPEL process language. You can right-click
these checks and select the Help command to find more information about
the check.
274
Chapter 10. Working with WS-BPEL 2.0
Assign activity
The assign activity is used to update the values of variables with new data.
An <assign> element can contain any number of elementary assignments,
including <copy> assign elements (copy from-to).
Syntax
<assign name=AssignStockInfo validate=no>
<copy>
<from variable=VOrderMessage></from>
<to variable=VStockInfo part=ItemCode></to>
</copy>
<copy>
<from variable=VOrderMessage></from>
<to variable=vOrderItemQte></to>
</copy>
</assign>
275
Designing for WS-BPEL
Extended attributes The following extended attribute applies to the assign activity and is
available from the WSBPEL tab in its property sheet:
276
Chapter 10. Working with WS-BPEL 2.0
Invoke activity
The invoke activity allows the business process to initiate a message sent to
a partner, the partner can respond or not. It can include:
Fault handlers to handle message faults returned by the operations
A compensation handler
277
Designing for WS-BPEL
Extended attributes The following extended attributes apply to the invoke activity and are
available from its property sheet:
278
Chapter 10. Working with WS-BPEL 2.0
279
Designing for WS-BPEL
280
Chapter 10. Working with WS-BPEL 2.0
Receive activity
The receive activity defines how the business process waits for a matching
message to arrive. The receive activity supports the concept of implicit
assignments using the element <fromParts>.
Syntax
<receive name="ReceiveCreditInfo" partnerLink="CreditOrg"
portType="cc:CheckCreditPT"
operation="CheckCreditCallback"
variable="VCreditInfo" createInstance="no">
<correlations>
<correlation set="AccountKey" initiate="no"/>
</correlations>
</receive>
281
Designing for WS-BPEL
282
Chapter 10. Working with WS-BPEL 2.0
First, in a normal response, the faultName attribute is not used and the
variable attribute (or its equivalent <toPart> elements), when present,
will indicate a variable with the response message
283
Designing for WS-BPEL
You design a reply with fault activity in the same way as you design a reply
activity. However, the action type of the process must be reply fault and
the Sent message designs the fault message defined under the WSDL
operation.
284
Chapter 10. Working with WS-BPEL 2.0
Extended attributes The following extended attribute apply to the reply activity and the reply
fault activity and is available from their property sheet:
285
Designing for WS-BPEL
Flow activity
The flow activity is used to specify one or more activities to be performed
concurrently. You can define explicit control dependencies between nested
child activities using a <<link>> stereotype within a flow activity.
Syntax:
<flow standard-attributes>
standard-elements
<links>?
<link name="NCName" />+
</links>
activity+
</flow>
You can also design a flow activity using a composite process with a
<<Flow>> stereotype, when the flow activity has specific properties.
286
Chapter 10. Working with WS-BPEL 2.0
Scope activity
The scope activity is used to define a nested activity with its own associated
variables, correlationSets, faultHandlers, compensationHandler,
terminationHandler, and <eventHandlers (onAlarm and OnMessage).
WS-BPEL does not allow the definition of <partnerLinks> under a scope
activity. It includes a new element named <messageExchanges> that can be
shared by receive, reply and invoke activities.
BPEL scope activity defines a sub-process element that includes context
variables and one default fault handler. It includes optionally one handler per
fault, one compensation handler, and several event handlers (onAlarm or
onMessage). These handlers are also activities executed when the
corresponding event happens.
Syntax:
287
Designing for WS-BPEL
Mapping You design a scope activity using a composite process. You define the
complex activity as a black box. To display atomic activities, you must
explicitly open the sub-diagram of the composite process. The different
kinds of exits will be specified on the flow outgoing from the composite
process: the flow with a <<Fault>> stereotype targets the fault handler
activity. The flow with a <<Timer>> stereotype targets the timeout handler
activity. The flow with a <<Compensation>> stereotype targets the
compensation handler activity.
Extended attributes The following extended attributes apply to the scope activity and are
available from its property sheet:
288
Chapter 10. Working with WS-BPEL 2.0
throw
+ For more information about these activities, see the Working with
BPEL4WS chapter.
+ If you need to change target from BPEL4WS 1.1 to WS-BPEL 2.0, note
that the top-level compensation handler is removed and the
variableAccessSerializable extended attribute in scopes and top level
processes is replaced with isolated extended attribute.
New activities
You design the new WS-BPEL 2.0 activities using a process object.
Iteration activities
Iteration activities are another type of loop activity.
repeatUntil activity The repeatUntil activity is used to define that the child activity is to be
repeated until the specified <condition> becomes true. The <condition>
is tested after the child activity completes. The repeatUntil activity is used
to execute the child activity at least once.
Syntax:
<repeatUntil standard-attributes>
standard-elements
activity
<condition expressionLanguage="anyURI"?>bool-expr>/condition>
</repeatUntil>
289
Designing for WS-BPEL
forEach activity The forEach activity iterates its child scope activity exactly N+1 times
where N equals the <finalCounterValue> minus the <startCounterValue>.
If parallel=yes then this is a parallel <forEach> where the N+1 instances
of the enclosed <scope> activity should occur in parallel. An implicit flow
is dynamically created with N+1 copies of the <forEach>s <scope>
activity as children. A <completionCondition> may be used within the
<forEach> to allow the <forEach> activity to complete without executing
or finishing all the branches specified.
Syntax:
<forEach counterName="BPELVariableName" parallel="yes|no"
standard-attributes>
standard-elements
<startCounterValue expressionLanguage="anyURI"?>
unsigned-integer-expression
</startCounterValue
<finalCounterValue expressionLanguage="anyURI"?>
unsigned-integer-expression
</finalCounterValue>
<completionCondition>?
<branches expressionLanguage="anyURI"?
successfulBranchesOnly="yes|no"?>
unsigned-integer-expression
</branches>
</completionCondition>
<scope > </scope>
</forEach>
Mapping You design a repeatUntil activity and a forEach activity using a process
with a Loop implementation type and respectively a RepeatUntil or
Foreach loop type.
The following specific WS-BPEL 2.0 extended attribute is available from the
property sheet of the process object with a Loop implementation type and
a While, Until or Foreach loop type. The other attributes in that tab
are the same as the ones for BPEL4WS 1.1:
290
Chapter 10. Working with WS-BPEL 2.0
In addition, the following extended attributes are available from the property
sheet of the process object with a Loop implementation type and a
Foreach loop type:
CompensateScope activity
291
Designing for WS-BPEL
inner scope that has already completed successfully. This activity must only
be used from within a fault handler, another compensation handler, or a
termination handler.
Syntax:
<compensateScope target="NCName" standard-attributes>
standard-elements
</compensateScope>
Rethrow activity
A rethrow activity is used to rethrow the fault that was originally caught by
the immediately enclosing fault handler. The rethrow activity must only be
used within a fault handler (i.e. <catch> and <catchAll> elements).
Syntax:
<rethrow standard-attributes>
standard-elements
</rethrow>
Validate activity
292
Chapter 10. Working with WS-BPEL 2.0
Syntax:
<validate variables="BPELVariableNames" standard attributes>
standard-elements
</validate>
Mapping You design a validate activity using a process object with a <<validate>>
stereotype, which triggers the display of the Validated Variables tab.
Termination handler
Extension activity
293
Designing for WS-BPEL
294
Chapter 10. Working with WS-BPEL 2.0
Option Description
Generate WSDL files Allows you to generate a WSDL file with the
following possible value: Local, Import, or Em-
bedded
Local: Enforces the generation of the WSDL
into a separated local file that is referred into
the BPEL definition file using the <Import>
clause
Import: Generates an <Import> clause into
the BPEL definition file
Embedded: Generates the WSDL file into the
BPEL definition file. In this case a WSDL file
is generated for each service provider
295
Generating for WS-BPEL
2. Type a destination directory for the generated file in the Directory box.
or
Click the Select a Path button to the right of the Directory box and
browse to select a directory path.
3. <optional> Select the Check Model check box if you want to verify the
validity of your model before generation.
4. Click the Selection tab and select the objects to include in the generation
from the sub-tabs.
Select Tools
All processes of the model, including those grouped into packages,
are selected and displayed by default. You use the Select tools to the
right of the Folder Selection list to modify the selection. The Include
Sub-Packages tool allows you to include all processes located within
packages.
5. Click the Options tab and select a value for each required option.
6. Click the Tasks tab and select the required task(s).
296
Chapter 10. Working with WS-BPEL 2.0
7. Click OK to generate.
A Progress box is displayed. The Result list displays the files that you
can edit. The result is also displayed in the Generation page of the Output
window, located in the bottom part of the main window.
All WS-BPEL files are generated in the destination directory.
297
Reverse Engineering WS-BPEL
.WSDL files
Any .XML file containing a BPEL definition
The process description contained in the .BPEL files are reversed into
service providers.
Multi-selection
You select several files simultaneously using the CTRL or SHIFT keys.
You cannot select several directories.
The Reverse WS-BPEL dialog box displays the selected files or directory.
298
Chapter 10. Working with WS-BPEL 2.0
5. Click OK.
A progress box is displayed. If the model in which you are reverse
engineering already contains data, the Merge Models dialog box is
displayed.
+ For more information on merging models, see the Comparing and
Merging Models chapter in the Core Features Guide .
6. Click OK.
The objects are added to your model. They are visible in the diagram and
in the Browser. They are also listed in the Reverse page of the Output
window, located at the bottom part of the main window.
299
CHAPTER 11
About this chapter This chapter describes how to design processes in the BPM in order to
generate for Sybase WorkSpace Business Process.
Contents Topic: page
Requirements 302
301
Requirements
Requirements
You define a BPM with the Sybase WorkSpace Business Process language
when you want to design business processes and implement them using
Business Process Service in Sybase WorkSpace. The following sections
provide different use cases for using the Sybase WorkSpace Business
Process language.
302
Chapter 11. Working with Sybase WorkSpace Business Process
contextual menu. This creates an empty operation that can be further defined
using WorkSpace service editors. The supported WorkSpace service types
are: Java, Transformation, Database and Message.
+ For more information, see the Invoking WorkSpace Services on
page 329 section.
Decision stereotype <<SingleRule>> decision This decision is taken during the evaluation of
a boolean expression defined in the WorkSpace decision editor. Only two
flows must come from the <<SingleRule>> decision and one of these
flows must have a False condition.
<<Choice>> decision This decision is triggered by a receive activity.
All the flows coming from the <<Choice>> decision must target receive
activities, there can be more than two flows.
Check the model Check the current model in order to make sure it contains no error that
would prevent file generation. The check model feature also verifies that the
current model is conform to the Sybase WorkSpace Business Process
language standard and may perform automatic corrections if need be.
Generation Generate the Sybase WorkSpace Business Process files using the Language
Generate Sybase WorkSpace Business Process 1.0 code command.
303
Requirements
When you generate, services previously imported are not replaced in the
WorkSpace environment, generation preserves imported services.
+ See the Generating for Sybase WorkSpace Business Process on
page 330 section.
Implement Use Business Process Service Editor to continue process implementation.
304
Chapter 11. Working with Sybase WorkSpace Business Process
Import EJB or Java Web In the BPM you import EJB or Java Web services as service providers using
services the Service Provider Import command in the Tools menu. You can select
which component to import into your BPM, the new service providers
appear in the Model Explorer when import is over (see Importing a service
provider from an OOM or a PDM in the Building Business Process
Diagrams chapter.
Invoke services Associate service operations to <<Undefined>> processes that represent
interactions with internal and external applications. To do so, you can
right-click an <<Undefined>> process and select the Invoke Existing
Service command in the contextual menu. You can also select the service
operation from the Implemented by list in the Implementation tab of the
<<Undefined>> process property sheet.
See the Service invocation on page 312 section.
Organize service Define the different orchestration items of the model: create <<Send>>
orchestration and <<Receive>> activities, implement other processes, and define
decisions.
Check the model Check the current model in order to make sure it contains no error that
would prevent file generation. The check model feature verifies that the
current model is conform to the Sybase WorkSpace Business Process
language standard and may perform automatic corrections if need be.
Generate Generate the Sybase WorkSpace Business Process files using the Language
Generate Sybase WorkSpace Business Process 1.0 code command.
When you generate, services previously imported are not replaced in the
WorkSpace environment, generation preserves imported services.
+ See the Generating for Sybase WorkSpace Business Process on
page 330 section.
Implement Use Business Process Service Editor to continue process implementation.
305
Requirements
306
Chapter 11. Working with Sybase WorkSpace Business Process
307
Introducing Sybase WorkSpace Business Process Concepts
Check model You can check your Sybase WorkSpace Business Process model at any time
using the Check Model feature that includes Sybase WorkSpace Business
Process specific validation rules. Check model may perform automatic
corrections to your model or output errors and warning that you will have to
correct manually.
PowerDesigner also provides custom checks on objects used to design
Sybase WorkSpace Business Process objects. Custom checks appear under
the different metaclasses in the Profile category of the Sybase WorkSpace
Business process language. You can right-click these checks and select the
Help command to find more information about the check.
308
Chapter 11. Working with Sybase WorkSpace Business Process
Service
In Sybase WorkSpace, a service is an interface to an external application or
a business process. BSM (Sybase Base Service Model) is the native
language used to describe a service. The BSM file contains the description
of the entire Web service expressed by several port types. Each port type
defines different operations. Sybase WorkSpace Business Process supports
the following types of Web service operations:
OneWay receive operations with only input parameters and no return
value
Operation Operation
Furthermore, PowerDesigner allows you to perform the following:
Import WSDL files for importing existing SOAP Web services.
Business process
A business process is a particular service implemented by the orchestration
of other services including several activities linked by a graph. This graph
defines the choreography of the Process. The business process may have
309
Designing for Sybase WorkSpace Business Process
fault, compensation, and timeout handlers that are not linked to the main
choreography.
You design each business process with a business process model in
PowerDesigner.
Variables
Variables are named data type instances that are accessible by all activities
within a business process definition. Variables can have simple data types
(string, integer, float, or boolean) or XSD complex data types.
Context variable
You can define context variable using the variable object, message formats,
message parts, and XML element types.
310
Chapter 11. Working with Sybase WorkSpace Business Process
XSD schema files contain the definition of the complex data types used
within the business process. These data types are used to define context
variables that are accessible by the different activities.
Each XSD file is a set of elements and complex types that can be used as a
data type of a variable. In PowerDesigner, you can associate XML elements
to BPM variables or message parts.
To use XSD types in a BPM you have to import a WSDL file into your
model.
PowerDesigner imports WSDL files as service providers, the schema section
of the WSDL file is imported as an XML model associated with a service
provider as an XSD document. The input/output messages of the different
operations are imported as message formats containing parts of XSD type.
These message formats are used as data types of context variables, which are
used to receive or send messages. For context variables, the XSD definition
file is extracted and generated from the service provider DataSchema
attribute. When the DataSchema is empty the following extended attribute is
available from the message format with message parts property sheet:
XSD file XSDLocation Location of the XSD file that contains the
location definition of the types used by the parts of
the message.
Partner link
You design partner links using organization units in the business process
311
Designing for Sybase WorkSpace Business Process
model.
Each organization unit will define a partner link. To associate a partner link
with a receive, send or invoke activity the user should use the Organization
unit property of the process.
+ For more information on organization units, see Organization Units in
the Building Business Process Diagrams chapter.
Service invocation
Services represent the interaction with internal and external applications,
such as a database, Java applications or an ERP system. A service may
contain several interfaces and each interface may contain multiple
operations. Each operation has a schema in the service that defines the
operation inputs and outputs. A service interaction represents an activity that
invokes a service operation of the following type:
One-Way: when a business process sends a message to a service
Request/Reply: when a business process sends a message to a service
and waits for a response from the service
You design an activity that invokes a service operation using a business
process with the <<Invoke>> stereotype. This implies that you already
have imported services from the WorkSpace environment.
You also need to define the Execute operation implementation type and
make sure it is implemented by an operation in a service provider defined in
the same model.
312
Chapter 11. Working with Sybase WorkSpace Business Process
313
Designing for Sybase WorkSpace Business Process
Interface activities
Receive and Send activities are interface activities.
ThisService service The first time you create a receive or a send activity, a new service provider
provider called ThisService is created. This service provider represents the interface
of the business process model, it contains by default a service interface
called Default that contains all the operations created automatically for
<<Send>> and <<Receive>> business processes.
A business process must have at least one receive activity connected to start
the process.
You design a Receive activity using a <<Receive>> business process. To
create a <<Receive>> business process you can right-click an
<<Undefined>> process and select Change to Receive in the contextual
menu. You can also select the <<Receive>> stereotype in the process
property sheet.
The <<Receive>> stereotype is associated with an event handler that
automatically performs the following actions in the model:
Sets the implementation type of the process to Execute operation
Creates a new One Way operation together with an input message. The
word Receive is displayed before the name of this operation
314
Chapter 11. Working with Sybase WorkSpace Business Process
Change to Receive
You can right-click an <<Undefined>> process and select the Change to
Receive command.
315
Designing for Sybase WorkSpace Business Process
Change to Send
You can right-click an <<Undefined>> process and select the Change to
Send command.
Assign activity
An assign activity is a sequence of atomic assign tasks. An assign task is an
316
Chapter 11. Working with Sybase WorkSpace Business Process
XPath expression that copies value from a variable to another variable. The
assign task can be: a regular assign for setting the value of a context
variable, a Get environment variable or a Get process Id that copies its value
to a context variable, a Graft that adds nodes to an XML tree or a Prune that
removes nodes from an XML tree.
The type of the assign task depends on the source of the task whereas the
target of the assign task is always a context variable or an XPath expression.
To design an assign activity, it is strongly recommended to use the Insert
Assign command in the flow contextual menu. This command automatically
creates an assign activity with the correct input and assigned variables. You
just need to define the source property (data transformation input variable)
and the target property (data transformation assigned variable) part in the
Assignments tab of the process property sheet.
Source property for the assign Input variable attribute of the data transfor-
task mation.
Target property for the assign Assigned variable attribute of the data
task transformation.
317
Designing for Sybase WorkSpace Business Process
Change to Assign
You can right-click an <<Undefined>> process and select the Change to
Assign command.
Split-Join activity
A split is a point in the business process where a single activity splits into
two or more parallel activities. A join is a point in the business process
where two or more parallel activities converge into a single common activity.
318
Chapter 11. Working with Sybase WorkSpace Business Process
Complex activity
A complex activity is made of atomic activities. Complex activities can end
normally, after a timeout event, or after a fault event. The complex activity
catches exception events (exception, compensation, or timeout) by using
exception handlers, compensation handler and timeout handler.
In Sybase WorkSpace Business Process, a complex activity defines a
sub-process element that includes context variables: one default exception
handler and optionally one handler per fault, one compensation handler, and
several timeout handlers. These handlers are complex activities executed
when the corresponding event happens.
319
Designing for Sybase WorkSpace Business Process
Loop activity
A loop activity is a complex activity with iterations.
320
Chapter 11. Working with Sybase WorkSpace Business Process
Exception handling
Timeout handling
Compensation handling
321
Designing for Sybase WorkSpace Business Process
322
Chapter 11. Working with Sybase WorkSpace Business Process
Correlations
A correlation is a set of identifying properties used by Sybase WorkSpace
engine to identify the instance of a business process concerned by a received
or a sent message.
You design a correlation using a correlation key. You create a correlation key
from the List of Correlation Keys or using the New command in the model
contextual menu, and you add variables to the correlation key from the
Variables tab of the correlation key property sheet. Correlation variables
must have the <<CorrelationProperty>> stereotype.
323
Designing for Sybase WorkSpace Business Process
Receive, send and invoke activities share the correlation keys designed under
the model or the parent complex activity. You can select a reception
correlation for a receive activity, an emission correlation for a send activity,
and the reception and emission correlation for an invoke activity.
324
Chapter 11. Working with Sybase WorkSpace Business Process
325
Designing for Sybase WorkSpace Business Process
326
Chapter 11. Working with Sybase WorkSpace Business Process
327
Importing WorkSpace Services
Merging services
If you re-import services from the same project into the same model, a
merge dialog box is displayed to let you select the services you want
to update into your model. In the left pane you can see the services
available in WorkSpace, in the right pane you can see services in your
model. Use the right pane to carefully define the result you want to
obtain into your model.
+ For more information about the merge feature, see the Comparing
and Merging Models chapter in the Core Features Guide .
328
Chapter 11. Working with Sybase WorkSpace Business Process
329
Generating for Sybase WorkSpace Business Process
Option Description
330
Chapter 11. Working with Sybase WorkSpace Business Process
The model.bpmn file is an XML file that contains the bpmn description
of the business process model. Each activity is defined as a NotationBag
element and each flow is defined as a SequenceFlow bag.
The svc_bpmn file is an XML file generated from the service provider
called ThisService. All the operations defined in the Default service
interface are generated in the business process service file.
The bpmn.gem file is an XML file is generated from the default business
process diagram of the model.
Service files (svc_xyz ) for new services.
An XSD file is generated for each BPM message format having message
parts, this file is used by a service provider.
Check model
It is recommended to use the Check Model feature before generating in
order to check the validity of your model.
Select Tools
All processes of the model, are selected and displayed by default. You
use the Select tools to the right of the Folder Selection list to modify the
selection.
5. Click the Options tab and select a value for each required option.
6. Click OK to generate.
A Progress box is displayed. The Result list displays the files that you
can edit. The result is also displayed in the Generation tab of the Output
window, located at the bottom of the main window.
331
Generating for Sybase WorkSpace Business Process
332
CHAPTER 12
About this chapter This chapter describes how to work with the Service Oriented Architecture
process language.
Contents Topic: page
333
Introducing to SOA Process Language
334
CHAPTER 13
About this chapter This chapter describes how to design data flow diagrams using the Data
Flow Diagram process language and its behavior within the Business
Process Model.
Contents Topic: page
335
Data Flow Diagram Basics
336
Chapter 13. Working with the Data Flow Diagram
organizations.
PowerDesigner support The DFD is part of the Business Process Model. You create a data flow
diagram using the Data Flow Diagram process language, which is part of the
Analysis family. For more information, see the Getting Started with the
Business Process Model chapter.
PowerDesigner DFD support:
Both Gane & Sarson and Yourdon graphical notations, which are model
options that you select from the Model Options dialog box. For more
information, see Introducing Data Flow Diagram Concepts on
page 338.
Automatic processes and data stores numbering, see Process and data
store numbering on page 341
Data flow diagram balancing, see Data flow diagram balancing on
page 343
You build a DFD at the very beginning of your business process modeling in
order to model the functions your system has to carry out and the interaction
between those functions together with focusing on data exchanges between
processes. You can associate data with data models, such as Conceptual
Data Models, Physical Data Models, or Object-Oriented Data Models.
This chapter outlines the specifics of PowerDesigners support for data flow
diagrams, and should be read in conjunction with the Building Business
Process Diagrams chapter in Part One of this book.
337
Introducing Data Flow Diagram Concepts
Check model You can check your data flow diagram at any time using the Check Model
feature that includes Data Flow Diagram specific validation rules. Check
model may perform automatic corrections to your model or output errors
and warnings that you will have to correct manually.
338
Chapter 13. Working with the Data Flow Diagram
Process
A process is an activity, which transforms and manipulates input data to
produce output data.
For example, in a model about the publication of books, selecting a
manuscript is a process. Data is sent to the selection process in the form of a
manuscript. During selection, the manuscript is transformed either into a
manuscript that goes directly to the printer, or into a manuscript that must
wait before it is printed.
Flows outgoing from processes can go to external entities, data stores,
split/merges, or other processes.
You design a DFD process using a BPM process.
The Data tab in the property sheet displays the process CRUD accesses to
data. Synchronization of these data accesses with the data transported by the
incoming and outgoing flows of the process is made through the balancing
check. For more information see Data flow diagram balancing on
page 343.
Flow
A flow conveys data between processes, external entities, and data stores. It
represents data in motion, which can be computerized components, such as
messages or bits, or non-computerized components, such as eggs or cake for
example.
A flow cannot link two data stores or two external entities without going
through a process or a split/merge.
Flows outgoing from data stores are interpreted as a read access to
information in the data store.
Flows incoming to data stores are interpreted as a write, update, or delete
access to information in the data store.
You design a DFD flow using a BPM flow (or a resource flow object when
the destination object is a data store) with a Flow stereotype. Flows
339
Designing for Data Flow Diagram
incoming to and outgoing from data stores must be created with the
Resource Flow tool when using the DFD specific tool palette
The Data tab in the property sheet displays the data transported by the flows.
Data store
A data store is the location where data resides permanently or temporarily.
It responds to requests for storing and accessing data, but cannot initiate any
actions. It represents data at rest, which can be computerized components,
such as files or databases, or non-computerized components, such as names
and addresses in an address book for example.
You design a data store using a resource object with a Data Store stereotype.
Flows incoming to and outgoing from data stores must be created with the
Resource Flow tool when using the DFD specific tool palette.
External entity
An external entity sends or receives data from the system. It can represent a
person, a machine, an organization etc., that is external to the system being
modeled. Flows outgoing from external entities go to processes.
You design an external entity using an organization unit (actor symbol) with
an External Entity stereotype. Organization units represented as swimlanes
are not available in the Data Flow Diagram process language.
Split/merge
A split/merge allows you to either splits a flow into several flows so that it
can send data to different destinations, or merges flows from different
sources into one flow.
A split/merge that sends data to several destinations has a single incoming
flow and multiple outgoing flows. It can mean that a complex packet of data
is being split into several more elementary data packets. Each of which is
being sent to different parts of the system. It can also mean that duplicate
copies of data packets are being sent to different parts of the system, for
example.
The following example shows a split/merge with a single incoming flow and
multiple outgoing flows:
340
Chapter 13. Working with the Data Flow Diagram
A split/merge that joins flows from different sources has multiple incoming
flows and a single outgoing flow. It means that several data packets are
joining together to form more complex packets of data.
The following example shows a split/merge with multiple incoming and a
single outgoing flow:
Flows outgoing from split/merges can go to data stores, processes and other
split/merges.
You design a split /merge using a synchronization object with a Split/Merge
stereotype.
341
Designing for Data Flow Diagram
In addition, numbers are used in leveled data flow diagrams. You can
decompose a process into lower level processes, which more closely analyze
the various transformations carried out by the parent process. The
numbering feature allows child processes to inherit the number ID of their
parent process.
So for example, a top level DFD would have processes 1 2 3 4, the
sub-process of process 3 would have processes 3.1, 3.2, 3.3, and 3.4, and the
sub-process of the sub-process 3. 2 would have components 3.2.1, 3.2.2,
3.2.3, and 3.2.4:
342
Chapter 13. Working with the Data Flow Diagram
The following example shows the default sub-process diagram of the Collect
Payment decomposed process containing its related objects coming from the
upper-level. Then, you have to link the objects. Each object you link
afterwards to the parent process in the upper-level is automatically displayed
343
Designing for Data Flow Diagram
344
Chapter 13. Working with the Data Flow Diagram
Process Process
Split/Merge Split/Merge
Domain
Off page connector PowerDesigner helps you initialize, in the sub diagram, the objects from the
upper-level to link to the sub-process.
External entities and data stores connected to the composite process in the
upper-level are imported and displayed in the sub-process diagram as
organization units and resources.
Processes and split/merge objects connected to the composite process in the
345
Importing a ProcessAnalyst Model into a DFD
346
Chapter 13. Working with the Data Flow Diagram
347
CHAPTER 14
About this chapter This chapter describes how to work with the ebXML 1.0 and 1.4 process
languages.
Contents Topic: page
349
Collaborative BPM Basics
350
Chapter 14. Working with ebXML
The collaborative BPM describes all the binary collaborations that the
process plays with all partners.
+ Objects you use to build the collaborative BPM are mainly the same as
those you use to build an analysis BPM. However, some constraints are
added to meet ebXML specific requirements. They are defined in the
following sections.
351
Understanding Top-Level Diagram and Top-Level Process in a Collaborative BPM
Role associations
+ For more information on organization units and role associations, see
sections Defining organization units and Defining role associations in
chapter Defining an Analysis BPM.
All other tools are grayed out in the Palette, except for the package.
In a collaborative BPM, organization units are always displayed using the
icon representation to designate a user of a process that is engaged in a
collaboration with a partner. The role association object is used to define the
link with the process.
The swimlane representation can only be used in diagrams contained in
composite processes to ease the definition of invoking or invoked partners
for processes implemented by operations (see Example: Using the Execute
operation implementation type in the Building Business Process Diagrams
chapter).
V9 models
Extended dependencies you used to a link an organization unit to a process
in order to express a binary collaboration are automatically replaced with
role association objects.
352
Chapter 14. Working with ebXML
Top-level process The top-level process is defined in a top-level diagram and can be a global
service that does not belong to a graph but describes its behavior in a
sub-graph (a stand alone composite process defined at the package level)
using atomic activities and orchestration elements.
In a collaborative model, the top-level process can design:
An atomic transaction between two partners
A Binary Collaboration between two partners that involves the invocation
of one or a sequence of Business Transactions
A Collaboration between several partners that involves the invocation of
several Binary Collaborations
353
Understanding the Key Concepts of the ebXML BPSS
354
Chapter 14. Working with ebXML
Collaboration process. Decision objects are not allowed and the activities
must be created using ALT+drag and drop.
MultiParty collaboration is a set of Binary Collaboration between business
partners. Each partner plays one or more roles in the collaboration.
A MultiParty collaboration can only contain organization units with the icon
representation and shortcuts of Binary Collaborations linked to each other
using extended dependencies.
Business Transaction Each Business Transaction consists in one or two predefined Business
document flows. A Business Transaction may be additionally supported by
one or more Business Signals.
A Business Transaction is the atomic interaction (in a trading arrangement)
between two business partners. One party plays the Requesting role, the
other plays the Responding role. This interaction always results in one
Business Document Flow from the requesting role to the responding role
and possibly one or more Business Document Flow in the inverse sense. A
Business Transaction may be additionally supported by one or more
Business Signals.
Like the Binary Collaboration, a Business Transaction is a reuseable
protocol between two roles. The protocol is reused by referencing it from a
Binary Collaboration, through the use of a Business Transaction Activity. In
a Business Transaction Activity the roles of the Binary Collaboration are
assigned to the execution of the Business Transaction.
A Business Transaction can either succeed or fail.
If it succeeds it may be designated as legally binding between the two
partners, otherwise it governs their collaborative activity.
If it failsit is null and void, and each partner must relinquish any mutual
claim established by the transaction.
Business Document A business transaction is realized using Business Document flows between
flows the requesting and responding roles. There is always a requesting Business
Document, and optionally a responding Business Document, depending on
the desired transaction semantics, e.g. one-way notification vs. two-way
conversation. To do so, you must define a message format on the flow inside
the Business Transaction. It is the only way to exchange data. You cannot
define a message format on the flow inside a Binary Collaboration.
The actual document definition is achieved using the ebXML core
component specifications, or by some methodology external to ebXML but
resulting in a DTD or Schema that an ebXML Business Process
Specification can point to. This schema is referenced with a message format
355
Understanding the Key Concepts of the ebXML BPSS
object.
Choreography The Business Transaction Choreography describes the ordering and
transitions between business transactions or sub-collaborations within a
binary collaboration. The choreography is described in the ebXML Business
Process Specification Schema using activity diagram concepts such as start
state, completion state, activities, synchronizations, transitions between
activities, and guards on the transitions.
+ For more information on how to design ebXML BPSS concepts in
PowerDesigner, see section Designing for ebXML BPSS on page 362.
356
Chapter 14. Working with ebXML
Based on the CPP of each partner, two partners try to match their
technical capabilities at the various levels of the collaboration protocol
and put the matching results in the CPA document
357
Introducing ebXML CPA
358
Chapter 14. Working with ebXML
These stereotypes are defined in the Profile category of the ebXML BPSS
process language accessible from the process language editor.
+ For more information on how to define stereotypes in a profile, see
Stereotypes (Profile) in the Extending your Models with Profiles chapter of
the Customizing and Extending PowerDesigner manual.
359
Understanding the ebXML BPSS Tool Palette
Business To create
Transac- a Business
tion Transaction
Binary To create a
Collabo- Binary Collab-
ration oration
Multi- To create a
Party Col- MultiParty
laboration Collaboration
When you open the composite process, the ebXML BPSS tool Palette is
disabled.
Business Transaction There are several tools to create a Business Transaction (BT); each one
tool creates a Business Transaction process with distinct flows between the
requesting and the responding activities. In the ebXML tool Palette, reading
from left to right:
The first tool simply creates a requesting flow
The second tool adds a responding flow
In the third tool, a receipt acknowledgment is sent for the requesting flow
In the fourth tool, an acceptance acknowledgment is also sent for the
requesting flow
In the fifth tool, a receipt acknowledgment is sent for the responding flow
Binary Collaboration tool The Binary Collaboration tool creates a Binary Collaboration process. This
tool also attaches two organization units as initiating and responding roles
360
Chapter 14. Working with ebXML
361
Designing for ebXML BPSS
362
Chapter 14. Working with ebXML
Requesting and The Business Transaction process is a composite process with a sub-diagram
Responding Business that designs the Business Signal exchanges between partners. This
Activities sub-diagram contains one Responding Business Activity (a process with
<<RespondingBusinessActivity>> stereotype) and one Requesting
Business Activity (a process with <<RequestingBusinessActivity>>
stereotype):
The Signals are designed with flows between Requesting and Responding
activities. The <<ReceiptAck>> and <<AcceptanceAck>> flow
363
Designing for ebXML BPSS
364
Chapter 14. Working with ebXML
365
Designing for ebXML BPSS
Document Envelope A Document Envelope conveys business information between the two roles
in a Business Transaction. One Document Envelope conveys the request
from the requesting role to the responding role, and another Document
Envelope conveys the response (if any) from the responding role back to the
requesting role. This concept is designed with a flow and a message format
in the Business Process Model.
The following extended attributes (accessible from the Extended Attributes
tab of the message format property sheet) apply to the Document Envelope:
366
Chapter 14. Working with ebXML
367
Designing for ebXML BPSS
368
Chapter 14. Working with ebXML
369
Designing for ebXML BPSS
370
Chapter 14. Working with ebXML
371
Designing for ebXML BPSS
TimeToPerform The timeToPerform is the duration from the time a Business Transaction
Activity initiates the first Business Transaction until there is a transition back
to the initiating Business Transaction Activity. To define timeToPerform for
a Business Transaction Activity you can use the Duration attribute in the
property sheet of the process.
Flow The flows in the choreography specify transitions between activities. The
following extended attributes (accessible from the Extended Attributes tab of
the flow property sheet) apply to the flow:
372
Chapter 14. Working with ebXML
373
Designing for ebXML BPSS
374
Chapter 14. Working with ebXML
Option Description
Use relative paths Allows the generation of file name without the
full path. This is used for the generation of
specification location of Business Document in
ebXML. This option has no effect when the lo-
cation is an http URL. It is only considered when
the location is an external file. The specification
location will be generated as a complete URL
(full path name) when the option is set to False
and as a file name only when the value is True
375
Generating for ebXML BPSS
3. <optional> Select the Check Model check box if you want to verify the
validity of your model before generation.
4. Click the Selection tab and select the objects to include in the generation
from the different sub-tabs.
Selection tools
All objects of the model, including those grouped into packages, are
selected and displayed by default. You use the selection tools to the
right of the Select Location list to modify the selection. The Include
Sub-Packages tool allows you to include all objects located within
packages.
5. Click the Options tab and select a value for each required option.
6. Click OK to generate.
A Progress box is displayed. The Result list displays the files that you
can edit. The result is also displayed in the Generation tab of the Output
window, located in the bottom part of the main window.
All ebXML files are generated in the destination directory.
376
Chapter 14. Working with ebXML
2. Click the Add button in the Selection tab to display a standard Open
dialog box.
3. Select the .xml files you want to reverse and click Open.
Multi-selection
You select several files simultaneously using the ctrl or shift keys.
The Reverse ebXML BPSS File dialog box displays the files you selected.
4. Click OK.
A progress box is displayed. If the model in which you are reverse
engineering already contains data, the Merge Models dialog box is
displayed.
+ For more information on merging models, see the Comparing and
Merging Models chapter in the Core Features Guide.
The reversed objects are added to your model. They are visible in the
diagram and in the Browser. They are also listed in the Reverse tab of the
Output window, located at the bottom part of the main window.
377
Designing for ebXML CPA
Generate another BPM from the first one by using the Save As function
or the model-to-model generation function. Then you can use this new
model to define CPA specific values and generate the CPA document
template.
The two Business Process Models include an ebXML BPSS 1.04 process
language.
An ebXML CPA document defines a sequence of actions the trading partners
take to execute a business process. These actions represent messages sent
from one partner to another, typically with attached business documents.
Actions always occur as CanSend/CanReceive Action pairs between the
partners. This means that if the CPA defines a CanSend element for Partner
A, then it must also define a corresponding CanReceive element for Partner
B.
The CPA template generation is, therefore, mainly based on the
choreography of Binary Collaboration, Business Documents and signals
exchanged during each Business Transaction.
Each CanSend/CanReceive action constitutes an elementary agreement
between the two partners. It defines agreed technical parameters related to
message exchange such as delivery channel protocol and security, or
message packaging. PowerDesigner provides CPA specific extended
attributes to define these technical parameters.
378
Chapter 14. Working with ebXML
Start time, End Start, End The Start and End time define
time how long the agreement is
valid
379
Designing for ebXML CPA
380
Chapter 14. Working with ebXML
381
Designing for ebXML CPA
382
Chapter 14. Working with ebXML
383
Designing for ebXML CPA
384
Chapter 14. Working with ebXML
Unsupported concepts
Some of the concepts of the ebXML collaboration protocol agreement are
not supported. However you can generate a CPA template that includes for
each CPA element, a default XML code that you can modify to meet your
needs.
The non-supported elements are:
DocExchange
SecurityDetails
Packagings
Certificates
SimpleParts
Signature
385
Designing for ebXML CPA
386
Chapter 14. Working with ebXML
387
Generating for ebXML CPA
388
Index
A generate 269
generation 242
action in synchronization 87
generation option 268
activity
generation task 268
assign 46
link 267
execute operation 46
merge 263
generate event 45
multiple copy construct 267
loop 44
parallel branching 263
Add Compensation Handler 320
partner 260
Add Default Exception Handler 320
process language 242
Add Exception Handler 320
property 266
Add Timeout Handler 320
property alias construct 267
alias
reverse engineering 271
decision 82
scope 261
flow 78
ServiceLinkType 260
resource flow 127
top-level process 259
All Objects model option 207
variable 266
Analysis (process language) 6, 242
WSDL file 262
arrange process in process hierarchy diagram 21
BPM
assign
analysis 2
activity 46, 275, 316
BPMN process language 252
data transformation 46
business process diagram 25
invoke activity 46
check model 224
messaging activity 277
collaborative 2
receive activity 46
compare 237
reply activity 46
create 8
Assignments tab 46
data flow diagram 336
atomic process (decomposed process) 59
define environment 206
extended dependencies 218
B
extended model definition 217
bibliography ix merge 237
Binary Collaboration options 206
ebXML BPSS 354 orchestration 2
ebXML language 367 process hierarchy diagram 16
generate orchestration BPM 221 process service diagram 168
tool 359 properties 10
BPD 3, 5 validation 224
BPEL4WS 268 BPMN process language 242, 252
activities 263 browse for WSDL on UDDI 136
conditional branching 263 Business Collaboration (ebXML BPSS) 354
CorrelationSet 266 Business Document (ebXML BPSS) 354
design object 259 business process
389
Index
390
Index
391
Index
392
Index
393
Index
H Java 329
message 329
hierarchy
service 329
collapse 20
transformation 329
create with Process tool 18
invoke activity 277
root process 18
sibling process 18 J
sub-process 18
horizontal swimlane 211 Java Web services imported as service provider 304
join 85
I
K
if activity 289
implementation keyboard shortcut preview code 11
Execute operation 53
process 42 L
implementation type 51 label in SIMUL8 174
import link data to object 106
component in BPM 138, 140 loop
data in CDM 110, 115 activity 44, 320
data in OOM 110, 115 condition 320
data in PDM 110, 115
database web service in BPM 138, 140 M
EJB or Java Web services 304
existing services use case 303 merge
PAM 345 BPM 237
SIMUL8 199 services 328
SIMUL8 model 201, 202 swimlane 69
sub-data in CDM 115 message format
sub-data in OOM 115 check model 231
sub-data in PDM 115 create 96
Visio 238 create message part 100
web service 138 data 99
WorkSpace services 328 define 96
WSDL 134 definition type 97
increment version number of the generated files 330 dependencies 99
initiating role 73 external definition 97
input flow generate orchestration BPM 220
fork 85 list of parts 97
join 85 model option 206
input/output properties 97
message 150 schema language 97
operation 150 select data 107
Insert Flow 263 tool 34
Insert Merge 263 message input/output 150
Insert Switch 263 message part
invoke create 100
database 329 define 100
properties 101
394
Index
395
Index
396
Index
397
Index
398
Index
399
Index
U if activity 289
invoke activity 277
UDDI
pick activity 289
operator URL 136
receive activity 281
version 136
repeatUntil activity 289
reply activity 282
V
rethrow activity 292
validate BPM 224 reverse engineering 298
variable scope activity 287
check model 234 sequence activity 289
code uniqueness 157 termination handler 293
create 157 validate activity 292
define 157 wait activity 289
move 157 while activity 289
name uniqueness 157 WS-BPEL process language 242
properties 158 WSDL
Value tab 159 import 134
vertical swimlane 211 reverse engineering 134
Visio 238 WSDL URL
import WSDL 134
W
X
wait activity 289
web service imported in BPM 138 XML model attached to XSD document 155
while activity 289 XML Namespace
work center service provider 133
retrieved in PowerDesigner 200 XSD document 155
SIMUL8 174 XS8 file 195, 201, 202
work entry point export 195
retrieved in PowerDesigner 200 import 201, 202
SIMUL8 174 import simulation file 199
work exit point XSD data type 311
retrieved in PowerDesigner 200 XSD document
SIMUL8 174 attach XML model 155
work item in SIMUL8 174 create 133, 154
WorkSpace services 328 define 154
WS-BPEL 295 properties 154
assign activity 275 schema 155
compensateScope activity 291 service provider 133
design object 275 XML namespace 155
empty activity 289
exit activity 289 Y
extension activity 293
Yourdon 206
flow activity 286
Yourdon symbols 209, 338
generate 296
generation 242
generation option 295
generation task 295
400