Sybase PowerDesigner Business Process Model. User s Guide

Size: px
Start display at page:

Download "Sybase PowerDesigner Business Process Model. User s Guide"

Transcription

1 Sybase PowerDesigner Business Process Model User s Guide Version 10.0 DC Last modified: January 2004

2 Copyright Sybase, Inc. 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. Use, duplication, or disclosure by the government is subject to the restrictions set forth in subparagraph (c)(1)(ii) of DFARS for the DOD and as set forth in FAR (a)-(d) for civilian agencies. Sybase, SYBASE (logo), AccelaTrade, 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, Adaptive Server IQ, Adaptive Warehouse, AnswerBase, Anywhere Studio, Application Manager, AppModeler, APT Workbench, APT-Build, APT-Edit, APT-Execute, APT-Translator, APT-Library, ASEP, AvantGo, AvantGo Application Alerts, AvantGo Mobile Document Viewer, AvantGo Mobile Delivery, AvantGo Mobile Inspection, AvantGo Mobile Marketing Channel, AvantGo Mobile Pharma, AvantGo Mobile Sales, AvantGo Pylon, AvantGo Pylon Application Server, AvantGo Pylon Conduit, AvantGo Pylon PIM Server, AvantGo Pylon Pro, Backup Server, BayCam, Bit-Wise, BizTracker, Certified PowerBuilder Developer, Certified SYBASE Professional, Certified SYBASE Professional Logo, ClearConnect, Client- Library, Client Services, CodeBank, Column Design, ComponentPack, Connection Manager, Convoy/DM, Copernicus, CSP, Data Pipeline, Data Workbench, DataArchitect, Database Analyzer, DataExpress, DataServer, DataWindow, DB-Library, dbqueue, Developers Workbench, Direct Connect Anywhere, DirectConnect, Distribution Director, Dynamic Mobility Model, e-adk, E- Anywhere, e-biz Integrator, E-Whatever, EC Gateway, ECMAP, ECRTP, efulfillment Accelerator, Electronic Case Management, Embedded SQL, EMS, Enterprise Application Studio, Enterprise Client/Server, Enterprise Connect, Enterprise Data Studio, Enterprise Manager, Enterprise Portal (logo), Enterprise SQL Server Manager, Enterprise Work Architecture, Enterprise Work Designer, Enterprise Work Modeler, eprocurement Accelerator, eremote, Everything Works Better When Everything Works Together, EWA, Financial Fusion, Financial Fusion (and design), Financial Fusion Server, Formula One, Fusion Powered e-finance, Fusion Powered Financial Destinations, Fusion Powered STP, Gateway Manager, GeoPoint, GlobalFIX, ianywhere, ianywhere Solutions, ImpactNow, Industry Warehouse Studio, InfoMaker, Information Anywhere, Information Everywhere, InformationConnect, InstaHelp, Intelligent Self-Care, InternetBuilder, iremote, iscript, Jaguar CTS, jconnect for JDBC, KnowledgeBase, Logical Memory Manager, M-Business Channel, M-Business Network, M-Business Server, Mail Anywhere Studio, MainframeConnect, Maintenance Express, Manage Anywhere Studio, MAP, MDI Access Server, MDI Database Gateway, media.splash, Message Anywhere Server, MetaWorks, MethodSet, ML Query, MobiCATS, My AvantGo, My AvantGo Media Channel, My AvantGo Mobile Marketing, MySupport, Net- Gateway, Net-Library, New Era of Networks, Next Generation Learning, Next Generation Learning Studio, O DEVICE, OASiS, OASiS logo, ObjectConnect, ObjectCycle, OmniConnect, OmniSQL Access Module, OmniSQL Toolkit, Open Biz, Open Business Interchange, Open Client, Open ClientConnect, Open Client/Server, Open Client/Server Interfaces, Open Gateway, Open Server, Open ServerConnect, Open Solutions, Optima++, Orchestration Studio, Partnerships that Work, PB-Gen, PC APT Execute, PC DB-Net, PC Net Library, PhysicalArchitect, Pocket PowerBuilder, PocketBuilder, Power++, Power Through Knowledge, power.stop, PowerAMC, PowerBuilder, PowerBuilder Foundation Class Library, PowerDesigner, PowerDimensions, PowerDynamo, Powering the New Economy, PowerJ, PowerScript, PowerSite, PowerSocket, Powersoft, PowerStage, PowerStudio, PowerTips, Powersoft Portfolio, Powersoft Professional, PowerWare Desktop, PowerWare Enterprise, ProcessAnalyst, QAnywhere, Rapport, Relational Beans, RepConnector, Report Workbench, Report-Execute, Replication Agent, Replication Driver, Replication Server, Replication Server Manager, Replication Toolkit, Resource Manager, RW-DisplayLib, RW-Library, SAFE, SAFE/PRO, SDF, Secure SQL Server, Secure SQL Toolset, Security Guardian, SKILS, smart.partners, smart.parts, smart.script, SQL Advantage, SQL Anywhere, SQL Anywhere Studio, SQL Code Checker, SQL Debug, SQL Edit, SQL Edit/TPU, SQL Everywhere, SQL Modeler, SQL Remote, SQL Server, SQL Server Manager, SQL SMART, SQL Toolset, SQL Server/CFT, SQL Server/DBM, SQL Server SNMP SubAgent, SQL Station, SQLJ, Stage III Engineering, Startup.Com, STEP, SupportNow, S.W.I.F.T. Message Format Libraries, Sybase Central, Sybase Client/Server Interfaces, Sybase Development Framework, Sybase Financial Server, Sybase Gateways, Sybase Learning Connection, Sybase MPP, Sybase SQL Desktop, Sybase SQL Lifecycle, Sybase SQL Workgroup, Sybase Synergy Program, Sybase Virtual Server Architecture, Sybase User Workbench, SybaseWare, Syber Financial, SyberAssist, 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, UltraLite.NET, UNIBOM, Unilib, Uninull, Unisep, Unistring, URK Runtime Kit for UniCode, Versacore, Viewer, VisualWriter, VQL, WarehouseArchitect, Warehouse Control Center, Warehouse Studio, Warehouse WORKS, Watcom, Watcom SQL, Watcom SQL Server, Web Deployment Kit, Web.PB, Web.SQL, WebSights, WebViewer, WorkGroup SQL Server, XA-Library, XA-Server and XP Server are trademarks of Sybase, Inc. or its subsidiaries. All other trademarks are property of their respective owners.

3 &RQWHQWV $ERXW7KLV%RRN 3$5721( [LLL %30*XLGH %XVLQHVV3URFHVV0RGHO%DVLFV Functional overview... 4 What is a BPM?... 5 Business Process Model use cases... 6 Objects in a BPM... 8 Defining the BPM environment BPM process language BPM extended model definitions BPM options BPM extended dependencies Defining a BPM BPM properties Creating a BPM Changing the process language of a BPM Opening an existing BPM Detaching a BPM from the Workspace Saving and closing a BPM Previewing the code of a BPM Defining packages in a BPM Package properties in a BPM Creating a package in a BPM Previewing the code of a package in a BPM Modifying the package display preference in a BPM VLQJ%XVLQHVV5XOHVLQD%30 What is a business rule in a BPM? Defining business rules in a BPM Business rule properties in a BPM BPM User s Guide LLL

4 Types of business rules in a BPM Creating a business rule in a BPM Applying business rules to BPM objects Applying a business rule to a BPM object Attaching an expression to a BPM business rule LY %XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO Defining an analysis BPM Defining a business process diagram Business process diagrams vs. sub-process diagrams Converting a business process diagram to a composite process Defining processes in an analysis BPM Process properties Implementation page of the process Data page of the process Defining composite processes Creating a process Creating a composite process Opening the sub-diagram of a composite process Redisplaying the diagram of the composite process Modifying process properties Modifying the process display preferences Defining organization units in an analysis BPM Organization unit properties in an analysis BPM Creating an organization unit in an analysis BPM Attaching a process to an organization unit Displaying a committee process Detaching a process from an organization unit Modifying organization unit properties in an analysis BPM Managing swimlanes in an analysis BPM Modifying the organization unit display preferences in an analysis BPM Defining a role association in an analysis BPM Role association properties Creating a role association Modifying role association properties Modifying the role association display preferences Defining flows in an analysis BPM Flow properties Creating a flow Modifying flow properties Modifying the flow display preferences Defining message formats in an analysis BPM Message format properties PowerDesigner

5 Creating a message format Modifying message format properties Defining message parts in an analysis BPM Message part properties Creating a message part Modifying message part properties Defining data in an analysis BPM Data properties Creating a data Modifying data properties Linking a data to an object Selecting data for a flow or a message format Selecting data for a process Migrating the data of a flow to a process Exchanging data Defining the CRUD matrix in an analysis BPM Displaying a CRUD matrix Manipulating the CRUD matrix Consulting object properties from the CRUD matrix Copying a CRUD matrix into another application Finding an object symbol in the diagram from the CRUD matrix Adding and removing objects from the CRUD matrix Hiding empty rows and columns in the CRUD matrix Ordering rows and columns in the CRUD matrix Modifying CRUD values Defining resources in an analysis BPM Resource properties Creating a resource Modifying resource properties Modifying the resource display preference Defining resource flows in an analysis BPM Resource flow properties Creating a resource flow Modifying resource flow properties Modifying the resource flow display preferences Defining decisions in an analysis BPM Decision properties in a BPM Creating a decision in a BPM Modifying decision properties in a BPM Modifying the decision display preference in a BPM Defining synchronizations in an analysis BPM Defining forks in a BPM Defining joins in a BPM Synchronization properties in a BPM Creating a synchronization in a BPM BPM User s GuideY

6 Modifying synchronization properties in a BPM Drawing the synchronization symbol in a BPM Defining starts in an analysis BPM Start properties in an analysis BPM Creating a start in an analysis BPM Modifying start properties in an analysis BPM Modifying the start display preferences in an analysis BPM Defining ends in an analysis BPM End properties in a BPM Creating an end in a BPM Modifying end properties in a BPM Modifying the end display preferences in a BPM YL %XLOGLQJD&ROODERUDWLYH%XVLQHVV3URFHVV0RGHO Defining a collaborative BPM Understanding top-level diagram and top-level process in a collaborative BPM Understanding the key concepts of the ebxml BPSS Introducing ebxml CPA Understanding the ebxml BPSS tool palette Designing for ebxml BPSS Designing a Business Transaction Designing a Binary Collaboration Designing a MultiParty Collaboration Generating for ebxml BPSS Selecting ebxml generation options Generating ebxml BPSS files Reverse engineering ebxml BPSS Designing for ebxml CPA Designing a partner s identification Designing CanSend/CanReceive actions Designing a Delivery Channel Designing a Transport element Unsupported concepts Generating for ebxml CPA %XLOGLQJDQ([HFXWDEOH%30:RUNLQJZLWK6HUYLFH 'HVFULSWLRQ2EMHFWV Defining an executable BPM Importing WSDL in an executable BPM Selecting the WSDL file to import in an executable BPM Browsing for WSDL on UDDI in an executable BPM PowerDesigner

7 Importing and exporting an OOM in an executable BPM Importing an OOM in a BPM Exporting an OOM from a BPM Defining service providers Service provider properties Creating a service provider Implementing a service provider using an OOM component Modifying service provider properties Defining service interfaces Service interface properties Creating a service interface Implementing a service interface using an OOM class or interface Modifying service interface properties Defining operations in an executable BPM Operation properties in an executable BPM Creating an operation in an executable BPM Implementing an operation using an OOM operation Modifying an operation in an executable BPM Defining message formats in an executable BPM Dependencies page of the message format in an executable BPM Validation rules on message formats in an executable BPM Defining message parts in an executable BPM %XLOGLQJDQ([HFXWDEOH%300DQDJLQJ'DWDDQG &KRUHRJUDSK\ Understanding top-level diagram and top-level process in an executable BPM Understanding data and choreography management Defining variables Variable properties Creating a variable Modifying variable properties Defining the value of a variable Defining processes in an executable BPM Process properties in an executable BPM Implementation page of the executable process Creating local variables into a process Defining data transformations Data transformation properties BPM User s GuideYLL

8 Creating a data transformation Modifying data transformation properties Modifying the data transformation display preference Defining a transformation in the Transformation page Defining correlations Correlation properties Creating a correlation Modifying correlation properties Adding variables to a correlation Defining conditional branching Defining parallel branching Defining loops Defining events Event properties Creating an event Modifying event properties Defining event handlers Creating an event handler Modifying event handler properties Defining flows in an executable BPM Defining starts in an executable BPM Defining ends in an executable BPM LPXODWLQJD%XVLQHVV3URFHVV0RGHO Defining simulation SIMUL8 support SIMUL8 basics How does simulation work in PowerDesigner? SIMUL8 XEM basics Defining simulation properties Defining diagram simulation properties Defining process simulation properties Defining decision simulation properties Defining synchronization simulation properties Defining start simulation properties Defining end simulation properties Defining resource simulation properties Defining flow simulation properties Defining resource flow simulation properties Exporting a SIMUL8 model Converting BPM objects and properties into SIMUL8 objects and properties Exporting a SIMUL8 model from a BPM Launching a simulation and analyzing the results Importing a SIMUL8 model YLLL PowerDesigner

9 Retrieving BPM objects and properties from SIMUL8 objects and properties Importing a SIMUL8 model into a new BPM Importing a SIMUL8 model into an existing BPM :RUNLQJZLWK%XVLQHVV3URFHVV0RGHOV Checking a BPM BPM check options BPM object selection in the Check Model Checking a global BPM Displaying previously applied check options in a BPM Making corrections based on BPM check results BPM object parameters verified by Check Model Replication check Business rule check in a BPM Package check Process check Decision check Synchronization check Flow check File check Resource check Resource flow check Organization unit check Start check End check Message format check Data check Extended object check Extended link check Service provider check Service interface check Operation check in a BPM Variable check Data transformation check Correlation check Event check Comparing and merging BPM models Opening ProcessAnalyst models Converting PAM objects into BPM objects Opening a PAM into a BPM HYHUVH(QJLQHHULQJLQD%30 What is reverse engineering? Reverse engineering into an existing BPM BPM User s GuideL[

10 Reverse engineering into a new BPM $577:2 *HQHUDWLQJIRUD3URFHVV/DQJXDJH Generation options for process languages Selecting objects to generate in a BPM Defining generation options in a BPM Defining generation tasks in a BPM Defining generation targets (XEM) in a BPM *HQHUDWLQJIURPD%XVLQHVV3URFHVV0RGHO Generation basics Target models parameters Object selection parameters Generating a Business Process Model from a Business Process Model Why generating a BPM into a BPM? Generating and updating a BPM Generating an executable BPM Generating an executable BPM from an analysis BPM. 340 Generating an executable BPM from a collaborative BPM Generating an executable BPM from an executable BPM :RUNLQJZLWK/DQJXDJHV :RUNLQJZLWK%3(/:6 Requirements Designing for BPEL4WS Top-level process Partner ServiceLinkType Scope construct WSDL file Activity CorrelationSet Variable Property Multiple copy construct Property alias construct Link Generating for BPEL4WS Selecting BPEL4WS generation options [ PowerDesigner

11 Selecting BPEL4WS generation tasks Generating BPEL4WS files Reverse engineering BPEL4WS %30*ORVVDU\,QGH[ :RUNLQJZLWK6\EDVH,QWHJUDWLRQ2UFKHVWUDWRU Requirements Introducing Sybase Integration Orchestrator concepts Designing for Sybase Integration Orchestrator Service Orchestrator business process Business process context Service interaction Assign and map activities Split and join activities Complex and iteration (loop) activities Delay and Terminal activities Exception handling activities Outputs from activities Generating for Sybase Integration Orchestrator Selecting Sybase Integration Orchestrator generation options Selecting Sybase Integration Orchestrator generation tasks Generating Sybase Integration Orchestrator files :RUNLQJZLWK6HUYLFH2ULHQWHG$UFKLWHFWXUH62$ Introducing to SOA process language BPM User s Guide[L

12 [LL PowerDesigner

13 $ERXW7KLV%RRN 6XEMHFW $XGLHQFH 'RFXPHQWDWLRQ SULPHU BPM User s Guide This book describes the PowerDesigner Business Process Model environment. It shows you how to do the following: Build the three views of the Business Process Model (BPM): Analysis, Collaborative and Executable Create and use business rules and other modeling objects Simulate a BPM Verify the model, merge and compare models Open V6 PAM models Generate a Business Process Model from the BPM Generate an executable BPM from an analysis, a collaborative or an executable BPM Reverse engineer ebxml BPSS files, BPEL4WS files, and Sybase Integration Orchestrator files Generate ebxml BPSS and CPA files, BPEL4WS files, and Sybase Integration Orchestrator files This book is for anyone who will be designing or building a BPM with PowerDesigner. It requires an understanding of process modeling. Some experience with programming languages might also be helpful but not required. For more information, see the Bibliography section at the end of this chapter. The PowerDesigner modeling environment supports several types of models: &RQFHSWXDO'DWD0RGHO&'0 to model the overall logical structure of a data application, independent from any software or data storage structure considerations 3K\VLFDO'DWD0RGHO3'0 to model the overall physical structure of a database, taking into account DBMS software or data storage structure considerations [LLL

14 $ERXW7KLV%RRN 2EMHFW2ULHQWHG0RGHO220 to model a software system using an object-oriented approach for Java or other object languages %XVLQHVV3URFHVV0RGHO%30 to model the means by which one or more processes are accomplished in operating business practices ;0/0RGHO;60 to model the structure of an XML file using a DTD or an XML schema )UHH0RGHO)(0 to create any kind of chart diagram, in a contextfree environment This book only explains how to use the BPM. For information on other models or aspects of PowerDesigner, consult the following books: *HQHUDO)HDWXUHV*XLGH To get familiar with the PowerDesigner interface before learning how to use any of the models. &RQFHSWXDO'DWD0RGHO*HWWLQJ6WDUWHG To learn the basics of the CDM. &RQFHSWXDO'DWD0RGHO8VHU V*XLGH To work with the CDM. 3K\VLFDO'DWD0RGHO*HWWLQJ6WDUWHG To learn the basics of the PDM. 3K\VLFDO'DWD0RGHO8VHU V*XLGH To work with the PDM. 2EMHFW2ULHQWHG0RGHO*HWWLQJ6WDUWHG OOM. To learn the basics of the 2EMHFW2ULHQWHG0RGHO8VHUV*XLGH To work with the OOM. %XVLQHVV3URFHVV0RGHO*HWWLQJ6WDUWHG To learn the basics of the BPM. ;0/0RGHO8VHUV*XLGH To work with the XSM. 5HSRUWV8VHU V*XLGH To create reports for any or all models. 5HSRVLWRU\*HWWLQJ6WDUWHG To learn the basics of the Repository. 5HSRVLWRU\8VHU V*XLGH To work in a multi-user environment using a central repository. 7\SRJUDSKLF FRQYHQWLRQV PowerDesigner documentation uses specific typefaces to help you readily identify specific items: monospace text (normal and EROG) [LY PowerDesigner

15 $ERXW7KLV%RRN Used for: Code samples, commands, compiled functions and files, references to variables. Example: declare user_defined, the %HIRUH,QVHUW7ULJJHU template. UPPER CASE Object codes, reversed objects, file names + extension. Example: The AUTHOR table appears in the Browser. Open the file OOMAFTER.OOM. EROGWH[W Any new term. Example: A VKRUWFXW has a target object. SMALL CAPS Any key name. Example: Press the ENTER key. %LEOLRJUDSK\ The Workflow reference Model - Business Process Model Language Specification - Document: Business Process Specification Schema - Alan Kotok, David R. Webber, David RR Webber - ebxml: The New Global Standard for Doing Business on the Internet - New Riders Publishing, Business Process Execution Language for Web Services Specification ibm.com/developerworks/webservices/library/ws-bpel/. BPM User s Guide [Y

16 $ERXW7KLV%RRN [YL PowerDesigner

17 PART ONE BPM Guide This part explains how to use the Business Process Model. BPM User's Guide

18 PowerDesigner

19 CHAPTER 1 %XVLQHVV3URFHVV0RGHO%DVLFV About this chapter Contents This chapter presents the PowerDesigner Business Process Model. It provides you with an introduction to the basic notions of business process modeling. 7RSLF 3DJH Functional overview 4 What is a BPM? 5 Defining the BPM environment 10 Defining a BPM 14 Defining packages in a BPM 24 BPM User s Guide

20 )XQFWLRQDORYHUYLHZ )XQFWLRQDORYHUYLHZ PowerDesigner Business Process Model is a powerful design tool for identifying the business needs from a business process or functional standpoint and for graphical process-oriented design implementation. It allows you to implement the work performed on the analysis level with the help of business process languages like BPEL4WS (a standard for executable BPM) or Sybase Integration Orchestrator (a proprietary assembling tool for application integration and Web services). The business process model describes the various internal tasks and internal processes of a business and how the partners interact with these tasks and processes. With this product, you can: Build a %XVLQHVV3URFHVV0RGHO (BPM) Implement an analysis or collaborative BPM for executable process languages (BPEL4WS and Sybase Integration Orchestrator) Use the Service Oriented Architecture (SOA) logical executable process language to orchestrate your processes without being linked to any platform or language Simulate the BPM with Simul8 application Generate and reverse ebxml Business Process Specification Schema (BPSS) XML files Generate and reverse BPEL4WS files and Sybase Integration Orchestrator files Generate a Business Process Model from the BPM to keep two BPM synchronized Convert a BPEL4WS executable BPM into a Sybase Integration Orchestrator executable BPM and conversely Convert an SOA executable BPM into a Sybase Integration Orchestrator executable BPM Open a V6 Process Analyst Model (PAM) Customize the BPM to suit physical and performance considerations Create and print reports PowerDesigner

21 &KDSWHU%XVLQHVV3URFHVV0RGHO%DVLFV :KDWLVD%30" Example A %XVLQHVV3URFHVV0RGHO (BPM) is a process modeling tool which provides a close description of the business logic and rules from a business partner s point of view. A BPM uses a diagram that shows interactions between processes, flows, messages and collaboration protocols from one or several start points to several potential end points. A BPM can be compared to a market place where data or services are exchanged. It usually arises from a compelling business need or opportunity. The Business Process Model offers the following views that you design using the appropriate process language: %30YLHZ 'HVFULSWLRQ 3URFHVVODQJXDJH Analysis It corresponds to the PowerDesigner V9 BPM. It does not include any implementation details and can be used as an input document to do object-oriented analysis Analysis BPM User s Guide

22 :KDWLVD%30" %30YLHZ 'HVFULSWLRQ 3URFHVVODQJXDJH Collaborative Executable It is particularly suitable to describe the collaborations between partners that are all considered at the same level. It allows you to analyze, design or document Business-to- Business exchanges (B2B) It is particularly suitable for designing the process internal to an organization. It focuses on the implementation of one side of the collaboration of a collaborative BPM. It can be generated on a BPM engine It is particularly suitable for designing the orchestration of Web services without being linked to any platform or language. It cannot be generated on a BPM engine ebxml 1.01 and 1.04 BPEL4WS 1.1 or Sybase Integration Orchestrator 4.0 Service Oriented Architecture (SOA) $ For more information on the selection of process languages, see section Creating a BPM. You can implement analysis or collaborative process models using executable process models. $ For more information on this kind of implementation, see section Generating an executable BPM in chapter Generating from a Business Process Model. V9 models Models that you created with PowerDesigner 9 will be automatically linked by default to the Analysis process language. If a XEM was attached to your model, such as ebxml for example, the model will be automatically linked to the most corresponding process language. %XVLQHVV3URFHVV0RGHOXVHFDVHV The Business Process Model lets you design different types of models for your different business needs. The type of the BPM comes from the process language attached to this model (see BPM process language). This section develops how the different types of BPM can be used to analyze and design processes to implement. PowerDesigner

23 &KDSWHU%XVLQHVV3URFHVV0RGHO%DVLFV Case 1 Case 2 Case 3 This case is the most commonly used. Typically design starts using a model with the $QDO\VLV process language. Any non-technical analyst can use the Analysis BPM to draw the business requirements of a system. This stage is pure design, the analyst does not need to take into account implementation considerations. The analyst can then generate the Analysis BPM into an H[HFXWDEOH BPM (Sybase Integration Orchestrator or BPEL4WS process languages) using the 7RROV *HQHUDWH%XVLQHVV3URFHVV0RGHOcommand. Model to model generation allows several levels of abstraction, so the analyst can regenerate the executable model several times. Model to model generation performs some, but not all, WUDQVIRUPDWLRQV to adapt the analysis model to the constraints of the selected executable process language. The remaining transformations need to be applied manually by correcting the errors and warnings highlighted during check model. A more technical user is more likely to perform these changes on the executable model. When analysis is over and the last version of the executable model is generated, the technical user takes over the model to design LPSOHPHQWDWLRQ. At the end of the implementation stage, the technical user can generate the code of the executable BPM and load it in an executable process engine. A user can design a FROODERUDWLYH BPM using the ebxml BPSS process language. This type of model is used to design the technical agreement on exchanges between two business partners. When the collaborative design is done, it is possible to use the model to model generation feature to generate two executable models that implement each partner side. During this generation, some transformations are applied to the generated model in order to respect executable process language constraints. For example collaborative business transactions are converted into WSDL abstract operations. BPEL4WS is a standard format commonly used in the market. You can recover BPEL4WS code into a business process model using the UHYHUVH HQJLQHHU feature. The resulting BPEL4WS model can then be generated into another BPM for a specific process engine like Sybase Integration Orchestrator. You use the model to model generation feature to do so. During this generation, some transformations are also applied to the generated model in order to respect process language constraints. For example, default WSDL operations are built during the BPEL4WS to Sybase Integration Orchestrator generation. BPM User s Guide

24 :KDWLVD%30" 2EMHFWVLQD%30 The BPM includes the following objects: 2EMHFW 7RRO 'HVFULSWLRQ Package Organization unit Used to organize elements into groups. Not available for sub-process diagrams as you cannot create packages within sub-process diagrams Element that hosts or implements processes and resources. It can be a company, a system, a service, an organization, a user or a role. It can also represent business partners for processes Message format Definition of data exchanged between processes Process Task to perform Composite process Start End Decision Synchronization Flow Resource Resource flow Complex process decomposed to be further detailed Starting point of the processes described in the process diagram Termination point of the processes described in the process diagram Decision to take when several flow paths are possible. Only one path will be triggered at execution time Enables synchronization of flows between two or more concurrent actions or allows the design of a split Transition between processes, starts, ends, decisions or synchronizations Storage unit of abstract data circulating within the model, which is accessed by a process to perform actions Access of a process to a resource Data Defines the type of information exchanged between business processes Role association Unidirectional relationship that designs a link between objects Message part Portion of the WSDL (Web Services Description Language) message PowerDesigner

25 &KDSWHU%XVLQHVV3URFHVV0RGHO%DVLFV 2EMHFW 7RRO 'HVFULSWLRQ Top-level process Global service that does not belong to a graph but describes its behavior in a sub-graph Service provider Object that gathers a set of service interfaces, for which it represents a namespace Service interface Object that gathers a set of operations, for which it represents a namespace Operation Implementation for an atomic process (activity) Data transformation Used to copy data from one variable to another Variable Data container local to a process Correlation Ordered list of variables Event Manages interruptions in the normal execution of the process BPM User s Guide

26 'HILQLQJWKH%30HQYLURQPHQW 'HILQLQJWKH%30HQYLURQPHQW The BPM environment includes a set of parameters and configuration options that define various aspects of the model content and behavior. You can set these parameters: At model creation After creating a model with default options and parameters When creating a model template %30SURFHVVODQJXDJH A process language contains specifications for a particular language. It provides PowerDesigner with the syntax and guidelines for implementing stereotypes, scripts and constants for a process language. The availability of some objects depends on the language you choose. For example executable languages do not support data objects. Each BPM is by default attached to a process language. When you create a new BPM, you must choose a process language. You can create a new process language or use the languages delivered with PowerDesigner. The definition of a process language is available from its property sheet. You can select and configure parameters used when defining objects or generating from a BPM. $ For more information on process languages, see chapter Process Languages Reference Guide in the Advanced User Documentation. In a BPM, you can use the List of Process languages to display the properties of process languages, and to compare, or merge process languages. $ For more information on using the list of process languages, comparing or merging process languages, see chapter The Resource Editor in the General Features Guide. %30H[WHQGHGPRGHOGHILQLWLRQV Extended model definitions (.XEM files) provide means for customizing and extending PowerDesigner metaclasses, parameters and generation. Extended model definitions are typed like models in PowerDesigner. You create an extended model definition for a specific type of model and you cannot share these files between heterogeneous models. PowerDesigner

27 &KDSWHU%XVLQHVV3URFHVV0RGHO%DVLFV When you create a new BPM, or when you reverse into a new BPM, you can select one or several extended model definitions and attach them to the model from the New dialog box: When you attach an extended model definition to a process language, you can choose one of the following options: 2SWLRQ Share the extended model definitions Copy the extended model definitions 'HILQLWLRQ Current extended model definition constantly refers to the extended model definition stored in the Resource Files\Extended Model Definitions directory. Any changes made to the extended model definition are shared by all linked XEM Current extended model definition is a unique copy of the extended model definition stored in the Resource Files\Extended Model Definitions directory. The current extended model definition is independent of the original one, so modifications made to the extended model definition in the Resource Files\Extended Model Definitions directory are not available to the copied XEM. This one is saved with the BPM and cannot be used without it $ For more information on extended model definitions, see chapter Extended Model Definitions Reference Guide, in the Advanced User Documentation. BPM User s Guide

28 'HILQLQJWKH%30HQYLURQPHQW %30RSWLRQV You can set the following BPM options: All Objects Default Message Format All Objects Default Message Format You can define the case sensitivity of names and codes for all 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. 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. 2SWLRQ None Undefined 5HVXOW 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 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 on the flow or resource flow properties, see corresponding sections in chapter Building a Business Process Model. v 7RGHILQH%30RSWLRQV 1 Select Tools Model Options. RU Right-click any empty space in the diagram and select Model Options from the contextual menu. PowerDesigner

29 &KDSWHU%XVLQHVV3URFHVV0RGHO%DVLFV The Model Options dialog box opens to the Model Settings page. 2 Select model options in the different groupboxes. 3 Click OK. %30H[WHQGHGGHSHQGHQFLHV Extended dependencies are links between BPM objects. These links help to make object relationships clearer but are not interpreted and checked by PowerDesigner as they are meant to be used for documentation purposes only. You can complement these links by applying stereotypes. Stereotypes are used to define the semantics of extended dependencies between objects in the BPM. You can type stereotypes directly in the Stereotype column of the object property sheet or select a value from the dropdown listbox if you have previously defined stereotypes in an embedded or imported extended model definition (.XEM). $ For more information on extended dependencies, see section Using Extended Dependencies in the *HQHUDO)HDWXUHV*XLGH BPM User s Guide

30 'HILQLQJD%30 'HILQLQJD%30 You can create a new BPM, or open an existing one, close or detach a BPM from the workspace. A BPM is attached to one process language that must be selected at creation. %30SURSHUWLHV The Model property sheet displays the definition of the current model. A BPM has the following model properties: 3URSHUW\ Name Code Comment Filename Author Version Process language Default diagram 'HVFULSWLRQ Name for the model Code for the model Descriptive label for the model Location of the model file. This box is empty if the model has never been saved Author of the model. You can insert a name, a space, or nothing. If you insert a space, the Author field in the title box remains empty. If you intentionally leave the box empty, the Author field in the title box displays the user name from the Version Info page of the model property sheet 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 Current process language for the model Diagram displayed by default when you open the model v 7RPRGLI\WKHSURSHUWLHVRID%30 1 Select Model Model Properties. RU Right click the diagram background and select Properties from the contextual menu. PowerDesigner

31 &KDSWHU%XVLQHVV3URFHVV0RGHO%DVLFV The model property sheet appears. 2 Type changes to model properties. 3 Click OK. &UHDWLQJD%30 There are several ways to create a BPM: Create a new BPM Create a new BPM using a template Create a BPM using existing elements (opening a V6 Process Analyst Model, reverse engineering a process language, etc.) &UHDWLQJD%30XVLQJWKH1HZPRGHORSWLRQ Process Language selection When you create a new BPM using the New model option, you have to select a process language to define the type of BPM view you want to design. In PowerDesigner, the current process language is a text file in XML format that contains all the syntax and specifications for a target language. BPM User s Guide

32 'HILQLQJD%30 PowerDesigner has a process language file for each supported language. Each process language allows you to design the following corresponding views of a BPM. 3URFHVVODQJXDJH Analysis ebxml BPSS BPEL4WS, Sybase Integration Orchestrator and SOA &RUUHVSRQGLQJ%30YLHZ Analysis Collaborative Executable You can customize your process language. All process languages are stored in the Process Languages directory in your installation path.. $ For more information on customizing a process language, see section Understanding the process language editor, in chapter Process Languages Reference Guide in the Advanced User Documentation. Each process language has the extension.xpl which signifies XML Process Language. You have to attach the new BPM to a target language, for example Analysis or ebxml BPSS. When you attach a process language to a model, you can choose one of the following options: 2SWLRQ Share Copy 'HILQLWLRQ Current process language constantly refers to the process language stored in the Resource Files\Process Languages directory. Any changes made to the process language are shared by all linked BPM Current process language is a unique copy of the process language stored in the Resource Files\Process Languages directory. The current process language is independent of the original process language, so modifications made to the process language in the Process Languages directory are not available to the BPM. The copied process language is saved with the BPM and cannot be used without it v 7RFUHDWHD%30XVLQJWKH1HZPRGHORSWLRQ 1 Select File New to display the New dialog box. 2 Select Business Process Model in the list of model types. 3 Select the New model radio button in the upper right part of the dialog box. PowerDesigner

33 &KDSWHU%XVLQHVV3URFHVV0RGHO%DVLFV 4 Select a process language from the Process language dropdown listbox of the General page. $ For more information on process language properties, see section Understanding the process language editor, in chapter Process Languages Reference Guide in the Advanced User Documentation. 5 Select either Share or Copy. 6 <optional> If you want to attach one or more extended model definitions to complement the selected process language, click the Extended Model Definitions tab, and select the extended model definitions of your choice. $ For more information on attaching extended model definition to a model, see section Selecting extended model definitions at model creation. 7 Click OK. A new BPM opens in the current Workspace. 8 Select Model Model Properties. RU Right-click any empty space in the diagram window and select Properties from the contextual menu. The model property sheet appears. BPM User s Guide

34 'HILQLQJD%30 9 Type a model name and model code. 10 Click OK. 'HPRH[DPSOH An example of a BPM is available in the Examples directory. &UHDWLQJD%30XVLQJWKH1HZPRGHOIURPWHPSODWHRSWLRQ v 7RFUHDWHDQHZ%30XVLQJWKH1HZPRGHOIURPWHPSODWHRSWLRQ 1 Select File New to display the New dialog box. 2 Select Business Process Model in the list of model types. 3 Select the New model from template radio button in the upper right part of the dialog box to display the Template page. 4 Select a model template from the list. PowerDesigner

35 &KDSWHU%XVLQHVV3URFHVV0RGHO%DVLFV /LVWRIWHPSODWHV You can select user-defined model templates (use the Change User- Defined Model Templates Folder tool to specify the user templates folder) and copy some existing models as model templates using the Copy Model to User-Defined Model Templates Folder tool. You can also create your own templates. $ For more information on model templates, see section Creating a model in chapter Managing Models, in the *HQHUDO)HDWXUHV*XLGH. 5 Click OK. A new BPM is created in the Workspace. 6 Select Model Model Properties. RU Right-click any empty space in the diagram window and select Properties from the contextual menu. The model property sheet appears. 7 Type a model name and model code. 8 Click OK. &KDQJLQJWKHSURFHVVODQJXDJHRID%30 You can change the process language of a model using the Change Current Language command from the Language menu. If you change the process language of a model, the whole model content is automatically modified according to the process language you have selected. For example if you change the process language of a model from the Analysis language to an executable language, objects that are not supported in an executable BPM are automatically removed. The Change Process Language feature is equivalent to a model to model generation, except for the source model that is not preserved. BPM User s Guide

36 'HILQLQJD%30 When you change the process language of a model, you have to define the status of the language: 3URFHVVODQJXDJH Share Copy 'HVFULSWLRQ Use the shared process language stored in the Process Languages directory of your installation. Any changes made to the process language are available to the linked BPM Create a copy of the process language in the model. The current process language is independent from the original process language so any changes made in the process language are not available to other models. The process language is saved with the model and cannot be used by other models &DXWLRQ PowerDesigner is delivered with a set of process languages. It is strongly advised to make a backup copy of each process language before you start modifying them. v 7RFKDQJHWKHSURFHVVODQJXDJHRIDPRGHO 1 Select Language Change current process language. The Change Process Language dialog box appears. 2 Select a process language from the Process Language dropdown listbox. 3 Select the Share or Copy radio button. 4 Click OK. PowerDesigner

37 &KDSWHU%XVLQHVV3URFHVV0RGHO%DVLFV 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. 2SHQLQJDQH[LVWLQJ%30 A Business Process Model has the file extension.bpm. Choose process language If PowerDesigner cannot find the process language attached to the Business Process Model you want to open, the Choose Process Language dialog box appears to let you select another process language to attach to the model. You can select the process language from the Process language dropdown listbox. If the dropdown listbox is empty or does not contain the language you want, you can change the path to look for the appropriate language. v 7RRSHQDQH[LVWLQJ%30 1 Select File Open to display a standard open file dialog box. 2 Select a file with the.bpm extension. 3 Click Open. The model appears in the Browser and a diagram opens in the diagram window. 0RGHOVIURP3RZHU'HVLJQHUSUHYLRXVYHUVLRQV When you open a BPM that was created in a previous version of PowerDesigner (without any process language attached to it), the Analysis process language is automatically attached to the model in the current PowerDesigner version. 'HWDFKLQJD%30IURPWKH:RUNVSDFH You can detach a BPM from a workspace. When a BPM is detached from a workspace, its node is removed from the Browser and it is no longer defined in the workspace, but the file is not deleted from your operating environment. BPM User s Guide

38 'HILQLQJD%30 v 7RGHWDFKD%30IURPWKH:RUNVSDFH 1 Right-click the BPM node in the Browser and select Detach From Workspace from the contextual menu. A confirmation box asks if you want to save the BPM. 2 Click Yes if you want to save modifications to the BPM. Select or browse to a directory. Type a name for the file and click the Save button. RU Click No if you do not want to save modifications to the file. The BPM is removed from the Workspace. 6DYLQJDQGFORVLQJD%30 You save a BPM by selecting File Save. You close a BPM by selecting File Close. 3UHYLHZLQJWKHFRGHRID%30 You can preview the code of a model or package in order to see the generated code, by clicking the Preview tab in their respective property sheet. The displayed code changes according to the process language you have selected in your model. For example, if you have selected a Service Orchestration family language, the Preview page displays the Schema file that corresponds to the XML file to be generated. You can use the following tools and accelerators from the Preview toolbar: 7RRO 'HVFULSWLRQ $FFHOHUDWRU Open Editor Contextual menu SHIFT + F11 Refresh F5 Show Generation Options CTRL + W Select Generation Targets CTRL + F6 PowerDesigner

39 &KDSWHU%XVLQHVV3URFHVV0RGHO%DVLFV Showing generation options Select Generation Targets Script bookmarks If you click the Show Generation Options tool, the Generation Options dialog box appears. You can change generation options from this dialog box. When available, this tool displays the list of target extended model definitions selected for generation. If you add a generation target, the corresponding tab is added to the Preview page. If you deselect a generation target, the corresponding tab disappears from the Preview page. This tool is disabled if no target extended model definition is attached to the model. $ For more information on the generation targets, see section Defining generation targets (XEM), in chapter Generating for a language. In the Preview page, you can add and remove bookmarks at specific points in the code and then navigate forwards or backwards from bookmark to bookmark: $FFHOHUDWRU CTRL + F2 F2 SHIFT + F2 'HVFULSWLRQ Adds a new bookmark. A blue bookmark box appears. If you repeat this action from the same position, the bookmark is deleted and the blue marker disappears Jumps to bookmark Jumps to previous bookmark Note that bookmarks are not printable and are lost if you use the Refresh, or Show Generation Options tools. BPM User s Guide

40 'HILQLQJSDFNDJHVLQD%30 'HILQLQJSDFNDJHVLQD%30 A SDFNDJH is a general purpose mechanism for organizing elements into groups. It contains model objects. When you work with large models, you can split them into smaller subdivisions to avoid manipulating the entire set of data of the model. Packages can be useful to assign portions of a model, representing different tasks and subject areas to different development teams. The Sybase Integration Orchestrator process language does not support packages. Package hierarchy You can create several packages at the same hierarchical level within a model or decompose a package into other packages and continue this process without limitation in decomposition depth. Each package appears with a default diagram window. At each level of decomposition you can create several diagrams. $ For more information on packages, see section Defining a package in chapter Managing models in the *HQHUDO)HDWXUHV*XLGH. 3DFNDJHLQDFRPSRVLWHSURFHVV You cannot create a package in a composite process since this one behaves like a package. Composite view You can expand a package in a diagram to have a global view of the whole sub-diagram content. PowerDesigner

41 &KDSWHU%XVLQHVV3URFHVV0RGHO%DVLFV To do so, you have to right-click a package in a diagram and select Composite View from the contextual menu. You must resize the composite package symbol to visualize its content: To return to the package normal view, re-select the Composite View command in the contextual menu of the expanded package. Note that if you double-click the composite view, you automatically open the sub-package diagram. $ For more information on the composite view feature, see section Displaying the sub-diagram of a composite object within its symbol in chapter Model Graphics in the *HQHUDO)HDWXUHV*XLGH. 3DFNDJHSURSHUWLHVLQD%30 Packages have properties displayed on property sheets. All packages share the following common properties: 3URSHUW\ Name Code Comment Stereotype Use parent namespace Default diagram 'HVFULSWLRQ Name that clearly identifies the package Codes are references for packages Optional label that describes a package and provides additional information Sub-classification used to extend the semantics of an object without changing its structure; it can be predefined or userdefined Defines the package as being the area in which the name of an object must be unique in order to be used Diagram displayed by default when opening the package Stereotype BPM User s Guide The Stereotype dropdown listbox is empty by default. However, it is possible to define stereotypes of your own using the extended model definitions. $ For more information on extended model definitions, see the *HQHUDO )HDWXUHV*XLGH.

42 'HILQLQJSDFNDJHVLQD%30 &UHDWLQJDSDFNDJHLQD%30 A package always belongs to a model. You create a package like any other model objects. The name of each package must be unique in the model. There are several ways to create a package: From a diagram From the Browser From the list of packages At creation, a package has a default name including a number, this number is assigned in the order of creation. $ For more information on the different ways to create a package, see section Creating an object in chapter Managing Objects in the *HQHUDO )HDWXUHV*XLGH. 3UHYLHZLQJWKHFRGHRIDSDFNDJHLQD%30 You can preview the code of a model or package in order to see the generated code, by clicking the Preview tab. The displayed code changes according to the process language you have selected in your model. This feature is not available for the Analysis process language. $ For more information on the code preview, see section Previewing the code of a BPM. 0RGLI\LQJWKHSDFNDJHGLVSOD\SUHIHUHQFHLQD%30 You can modify the following display preference for a package using the Tools Display Preferences command: 3UHIHUHQFH Show stereotype 'HVFULSWLRQ Displays the stereotype of the package PowerDesigner

43 CHAPTER 2 8VLQJ%XVLQHVV5XOHVLQD%30 About this chapter Contents This chapter describes how business rules help you model information. 7RSLF 3DJH What is a business rule in a BPM? 28 Defining business rules in a BPM 29 Applying business rules to BPM objects 32 BPM User s Guide

44 :KDWLVDEXVLQHVVUXOHLQD%30" :KDWLVDEXVLQHVVUXOHLQD%30" Starts as an observation Complements graphics A business rule is a written statement specifying what the information system must do or how it must be structured to support business needs. A business rule is a rule that your business follows. A business rule could be a government-imposed law, a customer requirement, or an internal guideline. Business rules often start as simple observations, for example "customers call toll-free numbers to place orders." During the design process they develop into more detailed expressions, for example what information a customer supplies when placing an order or how much a customer can spend based on a credit limit. Business rules complement model graphics with information that is not easily represented graphically. For example, some rules specify physical concerns in the form of formulas and validation rules. These technical expressions do not have a graphical representation. PowerDesigner

45 &KDSWHU8VLQJ%XVLQHVV5XOHVLQD%30 'HILQLQJEXVLQHVVUXOHVLQD%30 You can define a business rule which can be attached to an object in the BPM. %XVLQHVVUXOHSURSHUWLHVLQD%30 A business rule definition includes the following properties: 3URSHUW\ Name Code Comment Stereotype Type 'HVFULSWLRQ Name for the rule Reference name for the rule Descriptive label for the rule Sub-classification used to extend the semantics of an object without changing its structure; it can be predefined or userdefined It can be a definition, fact, formula, requirement, validation, or constraint A business rule definition also includes the following properties, each with their respective page: 3URSHUW\ Expression Notes 'HVFULSWLRQ Presence of associated expression Presence of associated notes BPM User s Guide

46 'HILQLQJEXVLQHVVUXOHVLQD%30 7\SHVRIEXVLQHVVUXOHVLQD%30 You can define several different types of business rules: 5XOHW\SH 'HVFULEHV ([DPSOH Definition Fact Formula Requirement Validation Constraint Object properties in the information system Certainty, existence in the information system Calculation used in the information system Functional specification in the information system Constraint on a value in the information system Additional check constraint on a value. Constraint business rules are used in the PDM, they are generated in the database A customer is a person identified by a name and an address A client may place one or more orders The total order is the sum of all the order line costs The model is designed so that total losses do not exceed 10% of total sales The sum of all orders for a client must not be greater than that client s allowance The start date should be inferior to the end date of a project $ For more information on constraint, see section Using constraint business rules in a PDM in chapter Using Business Rules in a PDM in the 3K\VLFDO'DWD0RGHO8VHUV*XLGH. &UHDWLQJDEXVLQHVVUXOHLQD%30 Before you create business rules, formulate your rules by asking yourself the following questions: What business problems do I want to address? Are there any procedures that my system must respect? Do any specifications dictate the scope of my project? Do any constraints limit my options? How do I describe each of these procedures, specifications, and constraints? How do I classify these descriptions: as definitions, facts, formulas, or validation rules? PowerDesigner

47 &KDSWHU8VLQJ%XVLQHVV5XOHVLQD%30 v 7RFUHDWHDEXVLQHVVUXOHLQD%30 1 Select Model Business Rules to display the List of Business Rules showing any business rules currently defined for the model. 2 Click a blank line in the list. RU Click the Add a Row tool. An arrow appears at the beginning of the line. 3 Type a name and a code for the business rule. 4 Click Apply. The creation of the new business rule is committed. 5 Click the new business rule line. An arrow appears at the beginning of the line. 6 Click the Properties tool. RU Double click the arrow at the beginning of the line. The property sheet for the new business rule appears. 7 Click the General tab and select a business rule type from the Type dropdown listbox. 8 Click OK in each of the dialog boxes. BPM User s Guide

48 $SSO\LQJEXVLQHVVUXOHVWR%30REMHFWV $SSO\LQJEXVLQHVVUXOHVWR%30REMHFWV From the list of business rules, you can apply a business rule to existing BPM objects. You can also apply a business rule to objects from their respective property sheets or lists. $SSO\LQJDEXVLQHVVUXOHWRD%30REMHFW You can apply a business rule to a BPM object from its property sheet. v 7RDSSO\DEXVLQHVVUXOHWRD%30REMHFW 1 Double-click an object in the model to display the object property sheet. 2 Click the Rules tab to display the Rules page. 3 Click the Add Objects tool. The Selection window appears. It contains a list of all the business rules of the model, except the rules that already belong to the object. 4 Select the business rules you want to add to the object. 5 Click OK. The business rules are added to the object and appear in the list of business rules for the object. 6 Click OK. PowerDesigner

49 &KDSWHU8VLQJ%XVLQHVV5XOHVLQD%30 $WWDFKLQJDQH[SUHVVLRQWRD%30EXVLQHVVUXOH A business rule typically starts out as a description. As you develop your model and analyze your business problem, you can complete a rule by adding a technical expression. Each business rule can include two types of expression: Server that can be generated to a database Client that is used mainly for documentation purposes Expressions are used essentially in a CDM or a PDM. $ For more information on expressions, see chapter Using Business Rules in the &RQFHSWXDO'DWD0RGHO8VHUV*XLGHDQG3K\VLFDO'DWD0RGHO8VHUV *XLGH. BPM User s Guide

50 $SSO\LQJEXVLQHVVUXOHVWR%30REMHFWV PowerDesigner

51 CHAPTER 3 %XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV 0RGHO About this chapter Object visibility in model Contents This chapter describes how to build an analysis Business Process Model (BPM). It explains the role of each object in an analysis BPM diagram and how to create and modify them. When you change the process language of a model, you may see new objects appear or disappear in you model. Some objects are hidden in some target process languages in order to simplify the interface of your model (for example business rules) or because they simply do not make sense in your model (for example data in the executable BPM). Besides, the corresponding tool (if any) in the palette is grayed-out The object visibility is defined in the Profile category of the process language or extended model definition attached to the model. For more information, see section Excluding a metaclass from a model in chapter Managing Profiles, in the Advanced User Documentation. 7RSLF 3DJH Defining an analysis BPM 37 Defining a business process diagram 38 Defining processes in an analysis BPM 41 Defining organization units in an analysis BPM 53 Defining a role association in an analysis BPM 68 Defining flows in an analysis BPM 73 Defining message formats in an analysis BPM 81 Defining message parts in an analysis BPM 86 Defining data in an analysis BPM 89 Defining the CRUD matrix in an analysis BPM 105 Defining resources in an analysis BPM 117 Defining resource flows in an analysis BPM 120 BPM User s Guide

52 'HILQLQJDQDQDO\VLV%30 Defining decisions in an analysis BPM 128 Defining synchronizations in an analysis BPM 133 Defining starts in an analysis BPM 138 Defining ends in an analysis BPM 141 PowerDesigner

53 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO 'HILQLQJDQDQDO\VLV%30 An analysis BPM is used to design the decomposition and choreography of tasks at a business level. Less constrained than the collaborative or the executable BPM, it allows business users to define the business requirements, the way business processes work and how the new system should work. The analysis BPM is totally independent from implementation, thus it is particularly suitable to non-technical users. $ For more information on the collaborative and the executable BPM, see chapters Building a collaborative BPM and Building an executable BPM. You create an analysis BPM using the Analysis process language. $ For more information on how to create an analysis BPM, see section Creating a BPM in chapter Business Process Model Basics. BPM User s Guide

54 'HILQLQJDEXVLQHVVSURFHVVGLDJUDP 'HILQLQJDEXVLQHVVSURFHVVGLDJUDP A EXVLQHVVSURFHVVGLDJUDP shows interactions between business processes. It focuses on flows that convey data among processes. It can be created in a model, a package or within a composite process. %XVLQHVVSURFHVVGLDJUDPVYVVXESURFHVVGLDJUDPV There is a difference between the top business process diagram created within a model or a package, and the sub-process diagram created within a composite process. Business process diagrams Sub-process diagrams You can create several business process diagrams within a package or a model. Each of those diagrams is independent and designs a business process. A business process diagram defines an isolated context in which the integrity of elements can be checked. In a business process diagram, you can: Create packages Convert the business process diagram to a package $ For more information on converting a diagram to a package, see the corresponding section in the *HQHUDO)HDWXUHV*XLGH. Convert the business process diagram to a composite process $ For more information on converting a business process diagram to a composite process, see section Converting a business process diagram to a composite process. A sub-process diagram designs a process decomposition. It details the implementation of a parent process, called FRPSRVLWHSURFHVV. It describes the context of a complex process. All integrity checks are performed on all elements defined in the composite process. In a sub-process diagram, it is QRW possible to create packages. You can only use shortcuts of packages. You can create several sub-process diagrams within a composite process but it is not advised though to decompose a process into too many sub-process diagrams. $ For more information on sub-process diagrams, see section Converting a business process diagram to a composite process. PowerDesigner

55 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO &RQYHUWLQJDEXVLQHVVSURFHVVGLDJUDPWRDFRPSRVLWHSURFHVV PowerDesigner lets you convert a diagram to a composite process using the Convert Diagram to Process wizard from the View Diagram submenu. When you convert a business process diagram to a composite process, you create sub-business process diagrams within a composite process. You do so, when you want to describe the context of a complex process. The diagram must contain objects to proceed to the conversion in the wizard. v 7RFRQYHUWDEXVLQHVVSURFHVVGLDJUDPWRDFRPSRVLWHSURFHVV 1 Right-click the diagram node in the Browser and select Convert to Composite Process from the contextual menu. RU Right-click the diagram background window and select Diagram Convert to Composite Process from the contextual menu. RU Select View Diagram Convert to Composite Process. The Convert Diagram to Process page appears. 2 Type a name and a code for the composite process. 3 Click Next. BPM User s Guide

56 'HILQLQJDEXVLQHVVSURFHVVGLDJUDP The Selecting objects to move page appears. It displays only relevant tabbed pages. By default, all objects are selected in order for them to be moved to the composite process. Objects you want to keep in the original package must be deselected. 4 Click Finish if you want all the selected objects to be moved into the composite process. RU Deselect the objects you do not want to be moved into the composite Process and click Finish. $ For more information on how to select items in a selection list, see section Adding an item from a selection list in chapter Using the PowerDesigner interface in the *HQHUDOIHDWXUHV*XLGH. The selected objects are moved into the composite process. From the Browser, you can see that sub-objects appear directly under the composite process node at the same level as the sub-process diagram. PowerDesigner

57 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO 'HILQLQJSURFHVVHVLQDQDQDO\VLV%30 A SURFHVV can be the design of a service (implementation process) or the invocation of a manual or automated action, like "getting money from an incoming order", or "building a software system according to the specifications" for example. When the process gains the control, it performs the action, then, depending on the result of the action, the flow is passed to another process. A process can be viewed as an action to reach a goal. A process must have one input flow and one output flow at least. A process can be atomic or composite: An DWRPLFSURFHVV does not contain any sub-processes. It is called process in a BPM, or sometimes activity A FRPSRVLWHSURFHVV uses sub-processes to describe its actions. It is called composite process in a BPM $ For more information on composite processes, see section Defining composite processes. Activity processes in an analysis BPM do not detail the way they are implemented but rather insist on their functional aspects. Implementation details are defined in the executable languages. $ For more information on executable processes, see section Defining processes in an executable BPM in chapter Building an Executable BPM: Managing Data and Choreography. Reusing existing processes You can use internal and external shortcuts of processes to reference your model. $ For more information on shortcuts, see chapter Managing shortcuts in the *HQHUDO)HDWXUHV*XLGH. BPM User s Guide

58 'HILQLQJSURFHVVHVLQDQDQDO\VLV%30 3URFHVVSURSHUWLHV You can double-click any process symbol in a diagram to display its properties: 3URSHUW\ Name Code Comment Stereotype Organization unit Timeout Duration Composite 'HVFULSWLRQ Name of the process Reference name of the process Descriptive comment for the process Sub-classification used to extend the semantics of an object without changing its structure; it can be predefined or user-defined Displays the available organization units defined in the model and allows you to display a committee process in the diagram. You can click the Properties tool beside this box to display the property sheet of the selected organization unit or click the ellipses tool to open the list of organization units and create new ones Zero is the default value. If 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) Specifies estimated or statistic duration to execute the action. This information is for documentation purposes only; estimate on the global duration is not computed If selected, implies that the process becomes a composite process A process also include the following properties, each with their respective page: 3URSHUW\ Implementation Data 'HVFULSWLRQ Contains existing action description fields and allows you to define how the process is implemented List of data associated with the process to identify the type of action the process performs on the data to proceed to its execution. You can also define CRUD values $ For more information on data, see section Defining data in an analysis BPM. PowerDesigner

59 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO Stereotype Organization unit Composite You can type stereotypes directly in the Stereotype box of the object property sheet or select a value from the dropdown listbox if you have previously defined stereotypes in an embedded or imported extended model definition (.XEM) or in the process language. $ For more information on extended model definitions, see section Working with extended model definitions in chapter Managing Objects in the *HQHUDO)HDWXUHV*XLGH. An organization unit is an optional element that allows you to define which organization is responsible for which process. It can represent a company, a system, a service, an organization, a user or a role. The Organization Unit box lists the organization units defined in the model to specify which organization unit is linked to a process. It also allows you to assign the Committee Process value to a composite process to graphically show the links between organization units designed as swimlanes and sub-processes. You can click the Ellipsis tool beside the Organization unit box to create a new organization unit in the List of Organization Units. $ For more information on organization units, see section Defining organization units in an analysis BPM. $ For more information on committee processes, see section Displaying a committee process. The Composite check box allows you to create or delete a composite process. It is not selected by default. If you select the Composite check box, a sub-process diagram is created within the process. This specifies the decomposition of a process. You can then create the same objects as in a business process diagram If you deselect the Composite check box, or select Change to atomic from the contextual menu of a composite process, a confirmation dialog box asks you to confirm the objects deletion. The existing sub-process diagram and all its objects are then deleted. There is no confirmation dialog box if no objects have been defined in the sub-process diagram,psohphqwdwlrqsdjhriwkhsurfhvv,psohphqwdwlrq is a parameter that applies to a process. In the Implementation page, you can define how the process is implemented. Only logical implementations are provided for an analysis BPM. Implementation processes semantically behave as shortcuts, however you can redefine some properties such as name, code, timeout or duration. BPM User s Guide

60 'HILQLQJSURFHVVHVLQDQDQDO\VLV%30 $ For more information on implementation processes, see section Process properties. Depending on your choice of implementation, the properties contained in the Implementation page change accordingly. However the following properties always display: 3URSHUW\ Type Action type 'HVFULSWLRQ Allows you to select a type of implementation: None, Loop, Reuse process. None is the default Specifies the way the action should be executed. It can be a manual, automated or a user-defined type. This box is grayed out when you select Loop in the Type box 2SHQLQJWKH,PSOHPHQWDWLRQSDJH You can open the Implementation page by right-clicking the process symbol in the diagram, and selecting Implementation from the contextual menu. 7\SHSURSHUW\RIWKH,PSOHPHQWDWLRQSDJH From the Type dropdown listbox of the Implementation page, you can select the following types of implementation: 7\SH None Loop Reuse process 8VH When no implementation type is defined yet or when the process has no other implementation than the one defined in the Action box When you want to provide simple declaration of loops When you want to implement processes by other processes You access each of these types of implementation from processes contained in a composite process. PowerDesigner

61 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO The following table summarizes the symbols that appear on the lower center part of the process symbol to identify graphically the kind of implementation:,psohphqwhge\ Loop *UDSKLFDOV\PERO Reuse process Loop implementation A /RRSLPSOHPHQWDWLRQ provides simple declaration of loops. When you select /RRS in the 7\SH dropdown listbox, the process automatically becomes composite and the sub-graph details the actions to perform inside the loop. If you change the composite loop process to atomic, the Implementation Type automatically changes to None. The following properties display in the Implementation page: 3URSHUW\ Loop expression Loop type Editor 'HVFULSWLRQ Allows you to specify the loop condition Allows you to specify the kind of loops. You can click the dropdown listbox to select a predefined loop type Allows you to edit the selected implementation type within a text editor Reuse process implementation The 5HXVHSURFHVVLPSOHPHQWDWLRQ is used to share the implementation details of an existing process and overload other properties like name, code, timeout or duration. The process you selected in the Implemented By box can be considered as a call for the implementation process. The implemented process semantically behaves as a shortcut. It is equivalent to using a shortcut in the graph of activities. When you select 5HXVHSURFHVV in the 7\SH dropdown listbox, the following properties display in the Implementation page: 3URSHUW\ Implemented by Editor 'HVFULSWLRQ Displays the available implementation processes in the model. You can click the Properties tool beside this box to display the property sheet of the selected implementation process or click the Select an implementation object to open a selection list and select a process from all opened models in the workspace Allows you to edit the selected implementation type within an XML colored syntax editor BPM User s Guide

62 'HILQLQJSURFHVVHVLQDQDQDO\VLV%30 'DWDSDJHRIWKHSURFHVV The Data page displays the way a process uses a data, using a CRUD (Create, Read, Update, Delete) matrix. $ For more information on the CRUD matrix, see chapter Using the CRUD Matrix. In the Data page you can: Add a data to a process from a selection list using the Add a data tool Update the data access (Create, Read, Update, Delete) Delete a data used by a process $ For more information on the use of a data by a process, see section Selecting data for a process. 'HILQLQJFRPSRVLWHSURFHVVHV A FRPSRVLWH SURFHVV contains child processes used to describe the actions of the parent process. There is no limitation on the number of decompositions. Each process can be decomposed into a composite process. The lowest level processes do not need to be further decomposed because they intrinsically contain enough detail, or because they represent an atomic task. The composite process symbol appears with the following icon in the lower central part: A composite process always contains a default sub-process diagram. You can create several sub-process diagrams within a composite process, but it is not recommended, as when you are in a sub-process diagram it means that you are within the context of a process. Unless you want to design some exception cases like error management for example, it would not be consistent to create too many sub-process diagrams within a composite process. The composite process behaves like a VSHFLDOL]HG package or container that contains a sub-process diagram, for this reason, it is not possible to create a package in a composite process. PowerDesigner

63 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO 'UDJJLQJEXVLQHVVSURFHVVGLDJUDPREMHFWVLQWRDFRPSRVLWH SURFHVV You can drag any business process diagram objects from the Browser and drop them into a sub-process diagram. These objects are automatically inserted into the target sub-process diagram. All sub-processes defined within a composite process share the same namespace as the parent process. When you work within a composite process, the associated objects appear under the Processes node in the Browser. The Processes node can be expanded to display its children nodes, this allows you to see the process decomposition in a quick and convenient way. Composite view You can expand a composite process in a diagram to have a global view of the whole sub-diagram content. To do so, you have to right-click a composite process and select Composite View from the contextual menu. You must resize the composite process symbol to visualize its content: To return to the composite process normal view, re-select the Composite View command in the contextual menu of the expanded composite process. Note that if you double click the composite view, you automatically open the sub-process diagram. $ For more information on the composite view feature, see section Displaying the sub-diagram of a composite object within its symbol in chapter Model Graphics in the *HQHUDO)HDWXUHV*XLGH. )LQGLQ%URZVHU You can locate any object or any diagram in the Browser tree view from the current diagram window by right-clicking the object symbol or the diagram background, and select Edit Find in Browser. BPM User s Guide

64 'HILQLQJSURFHVVHVLQDQDQDO\VLV%30 Committee process A composite process can contain sub-processes managed by several organization units. You can select the Committee Process value in the Organization Unit box of a composite process property sheet to graphically show which organization unit designed as swimlane manages sub-processes of the composite process. $ For more information on committee processes, see section Displaying a committee process. $ For more information on organization units, see section Defining organization units in an analysis BPM. &UHDWLQJDSURFHVV There are several ways to create a process: From a diagram From the Browser From the list of processes At creation, a process has a default name including a number, this number is assigned in the order of creation. $ For more information on the different ways to create a process, see section Creating an object in chapter Managing Objects in the *HQHUDO )HDWXUHV*XLGH. v 7RFUHDWHDSURFHVVIURPDGLDJUDP 1 Click the Process tool. 2 Click anywhere in the diagram. The following symbol appears at the click position: 3 Click the Pointer tool. RU Click the right mouse button. You release the Process tool. 4 Double-click the process symbol to display the process property sheet. PowerDesigner

65 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO 5 Type a name and a code. 6 Click OK. &UHDWLQJDFRPSRVLWHSURFHVV You create a composite process from the symbol of the parent process: From a diagram From the contextual menu When you create a composite process, a default sub-process diagram is automatically created. A composite process must always have one start and one end at least. BPM User s Guide

66 'HILQLQJSURFHVVHVLQDQDQDO\VLV%30 &UHDWLQJDFRPSRVLWHSURFHVVIURPDGLDJUDP v 7RFUHDWHDFRPSRVLWHSURFHVVIURPWKHGLDJUDP Press CTRL + double-click the process symbol to create the composite process. A default sub-process diagram opens in the diagram window. The composite process node is visible in the Processes category of the Browser marked with a + sign. If you expand the composite process node, you see that a default subprocess diagram node is automatically created: &UHDWLQJDFRPSRVLWHSURFHVVIURPWKHFRQWH[WXDOPHQX You can create a composite process from the process contextual menu, it is equivalent to selecting the Composite checkbox in the process property sheet. v 7RFUHDWHDFRPSRVLWHSURFHVVIURPWKHFRQWH[WXDOPHQX Right-click the parent process symbol in the diagram window and select Change to Composite from the contextual menu. The process symbol changes to the following symbol: PowerDesigner

67 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO 2SHQLQJWKHVXEGLDJUDPRIDFRPSRVLWHSURFHVV When you open the sub-diagram of a composite process, the diagram that contains the composite process symbol is replaced with the default subprocess diagram that displays the content of the composite process, but stays however open in the background. You can open a composite process sub-diagram using the following methods: Press CTRL + double-click the composite process symbol in the diagram. RU Select Open Diagram from the contextual menu of the composite process symbol in the diagram. The default sub-process diagram opens in the diagram window. Composite view You can also wish to only display a global view of the content of the composite process within its symbol in the diagram. To do so right-click the composite process, and select Composite View from the contextual menu. The composite process symbol is expanded in order to display the whole diagram content. Re-select the Composite View command to come back to the previous view. Note that if you double click the composite view, you automatically open the sub-process diagram. $ For more information on the composite view feature, see section Displaying the sub-diagram of a composite object within its symbol in chapter Model Graphics in the *HQHUDO)HDWXUHV*XLGH. 5HGLVSOD\LQJWKHGLDJUDPRIWKHFRPSRVLWHSURFHVV When you redisplay the diagram of the composite process, the sub-diagram of the composite process is replaced with the diagram that contains the composite process symbol, but stays however open in the background. You can redisplay the diagram of the composite process using the following methods: Press CTRL + U in the sub-process diagram to go up to the default diagram. RU Select Diagram Go Up One Level from the contextual menu and select the parent business process diagram. If several diagrams are opened in the workspace, you are requested to select the parent process diagram. BPM User s Guide

68 'HILQLQJSURFHVVHVLQDQDQDO\VLV%30 6HWWLQJDGLDJUDPDVGHIDXOWGLDJUDP You can set a diagram to be the default diagram by selecting the Default Diagram check box in the diagram property sheet. 0RGLI\LQJSURFHVVSURSHUWLHV You can modify the process properties using the following methods: From the process property sheet From the list of processes $ For more information on the different ways to modify the process properties, see section Modifying object properties in chapter Managing Objects in the *HQHUDO)HDWXUHV*XLGH. 0RGLI\LQJWKHSURFHVVGLVSOD\SUHIHUHQFHV You can modify the following display preferences for a process using the Tools Display Preferences command: 3UHIHUHQFH Show stereotype Show "Implemented by" icon Show "Composite" icon 'HVFULSWLRQ Displays the stereotype of the process Displays the "Implemented by" icon on the symbol process Displays the "Composite" icon on the symbol process PowerDesigner

69 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO 'HILQLQJRUJDQL]DWLRQXQLWVLQDQDQDO\VLV%30 Swimlane representation An RUJDQL]DWLRQXQLW is an optional element that allows you to define which organization is responsible for which process. It can represent a company, a system, a service, an organization, a user or a role. It can also be considered as a business partner who uses high level processes. An organization unit is assigned to a process. You can use internal and external shortcuts of organization units. The organization unit is equivalent to the VZLPODQH in UML. It allows you to have an organizational view of your processes and displays as follows: A swimlane can contain all the symbols of a process diagram: processes, flows, decisions, etc. Icon representation A general option allows you to switch to the icon representation of the organization unit to express the relationship that exists between a process and the user of that process. You must use role associations between both objects to materialize that relationship. If you want to switch to the icon representation, you have to select the Tools Display Preferences General command and deselect the Organization Unit Swimlane check box. You can also select the Disable Swimlane Mode from the Diagram or swimlane contextual menu. 2UJDQL]DWLRQXQLWVDVVZLPODQHQRWDOORZHGLQWRSOHYHOGLDJUDPV For Business Process Models that support the concept of top-level diagrams, organization units represented as swimlanes are not allowed in top-level diagrams, only the icon representation is allowed. $ For more information on top-level diagrams, see sections Understanding top-level diagram and top-level process in a collaborative BPM in chapter Building a Collaborative Business Process Model and Understanding top-level diagram and top-level process in an executable BPM in chapter Building an Executable BPM: Managing Data and Choreography. BPM User s Guide

70 'HILQLQJRUJDQL]DWLRQXQLWVLQDQDQDO\VLV%30 An organization unit with an icon representation displays as follows and behaves like any other PowerDesigner objects: In the following example, the organization unit (Buyer) uses the process (Order): 8VLQJPRGHOVIURPYHUVLRQ For models that have been created in version 9, organization units are represented with an icon. If you want to switch to the swimlane representation, you have to select the Tools Display Preferences General command and select the Organization Unit Swimlane check box. Switching from one representation to another When you switch from one representation to another, the following occurs in the diagram: )URP Swimlane to icon Icon to swimlane :KDWKDSSHQV The swimlane symbol is deleted, but the corresponding organization unit still exists in the Browser. To view the corresponding icon symbol, right-click the diagram background, select Show Symbols from the contextual menu, and select the check box for the corresponding organization unit. If processes are attached to the swimlane, their attachment still appears in the property sheet of the processes. For more information on how to attach a process to an organization unit, see section Attaching a process to an organization unit The icon symbol for the organization unit is deleted and automatically replaced with a swimlane if the icon organization unit had a process attached to it, otherwise you must display the swimlane symbol using the Show Symbols feature PowerDesigner

71 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO 2UJDQL]DWLRQXQLWSURSHUWLHVLQDQDQDO\VLV%30 When the organization unit is a swimlane, you do not open its property sheet by double-clicking the object as you do for any other PowerDesigner objects. You must: Position the cursor above the organization unit symbol until you see a vertical arrow pointing to the frame Click with the left mouse button to display a selection frame around the symbol. Double-click the zone between the selection frame and the swimlane to open the property sheet of the organization unit. BPM User s Guide

72 'HILQLQJRUJDQL]DWLRQXQLWVLQDQDQDO\VLV%30 The organization unit property sheet displays the following properties: 3URSHUW\ Name Code Comment Stereotype Parent organization 'HVFULSWLRQ Name of the organization unit Reference name of the organization unit Descriptive comment for the organization unit Sub-classification used to extend the semantics of an object without changing its structure; it can be predefined or userdefined Displays the parent organization unit Stereotype You can select a predefined stereotype from the dropdown listbox. You can also type stereotypes directly in the Stereotype column of the object property sheet or select a value from the dropdown listbox if you have previously defined stereotypes in an embedded or imported extended model definition (.XEM) or in the process language. $ For more information on extended model definitions, see section Working with extended model definitions in chapter Managing Objects in the *HQHUDO)HDWXUHV*XLGH. An organization unit has the following predefined stereotypes: 6WHUHRW\SH Role User Group Company Organization Division Service 'HVFULSWLRQ Defines a role a user plays Defines a user Defines a group of users Defines a company Defines an organization as a whole Defines a division in a global structure Defines a service in a global structure Parent organization The Parent dropdown listbox lists all organization units in the model. Each time an organization unit is selected, it becomes the parent of another organization unit, the latter becoming the child. This relationship is also displayed in the Organization Units tabbed page of the Dependencies page in the property sheet of the child organization unit. PowerDesigner

73 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO &UHDWLQJDQRUJDQL]DWLRQXQLWLQDQDQDO\VLV%30 There are several ways to create an organization unit: From a diagram From the Browser From the list of organization units At creation, an organization unit has a default name including a number, this number is assigned in the order of creation. $ For more information on the different ways to create an organization unit, see section Creating an object in chapter Managing Objects in the *HQHUDO)HDWXUHV*XLGH. You can choose to create an organization unit as a swimlane or as an icon. &UHDWLQJDQRUJDQL]DWLRQXQLWDVDVZLPODQHIURPDGLDJUDP Before you create an organization unit from a diagram with the swimlane representation, you must select the Organization Unit Swimlane check box in the Display Preferences dialog box or right-click the diagram background and select the Enable Swimlane Mode command from the contextual menu. v 7RFUHDWHDQRUJDQL]DWLRQXQLWDVDVZLPODQHIURPDGLDJUDP 1 Click the Organization Unit tool. 2 Click anywhere in the diagram. The following symbol appears at the click position: 3 Click the right mouse button to release the Organization Unit tool. BPM User s Guide

74 'HILQLQJRUJDQL]DWLRQXQLWVLQDQDQDO\VLV%30 4 Position the cursor above the organization unit symbol until you see a vertical arrow pointing to the frame. 5 Click with the left mouse button to display a selection frame around the symbol. 6 Double-click the zone between the selection frame and the swimlane to open the property sheet of the organization unit. PowerDesigner

75 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO 7 Type a name and a code. 8 <Optional> Type or select a stereotype in the Stereotype dropdown listbox. 9 <Optional> Type or select a parent organization in the Parent Organization dropdown listbox. 10 Click OK. *URXS6\PEROVQRWDYDLODEOH You cannot use the Symbol Group Symbols feature to group organization units/swimlanes in the business process diagram. &UHDWLQJDQRUJDQL]DWLRQXQLWDVDQLFRQIURPDGLDJUDP Before you create an organization unit from a diagram with the icon representation, you must deselect the Organization Unit Swimlane check box in the Display Preferences dialog box or right-click the diagram background and select the Disable Swimlane Mode command from the contextual menu. v 7RFUHDWHDQRUJDQL]DWLRQXQLWDVDQLFRQIURPDGLDJUDP 1 Click the Organization Unit tool. 2 Click anywhere in the diagram. BPM User s Guide

76 'HILQLQJRUJDQL]DWLRQXQLWVLQDQDQDO\VLV%30 The following symbol appears at the click position: 3 Click the Pointer tool. RU Click the right mouse button. You release the Organization Unit tool. 4 Double-click the organization unit symbol to display the organization unit property sheet. 5 Type a name and a code. 6 <Optional> Type or select a stereotype in the Stereotype dropdown listbox. 7 <Optional> Type or select a parent organization in the Parent Organization dropdown listbox. 8 Click OK. PowerDesigner

77 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO $WWDFKLQJDSURFHVVWRDQRUJDQL]DWLRQXQLW When a process is attached to an organization unit, the organization unit name appears in the Organization Unit dropdown listbox of the process property sheet.,iwkhrujdql]dwlrqlvdvzlpodqh This attachment is graphically materialized by displaying the process within the swimlane in the process diagram,iwkhrujdql]dwlrqxqlwlvdqlfrq This attachment is not graphically materialized. You can only see it by opening the process property sheet v 7RDWWDFKDSURFHVVWRDQRUJDQL]DWLRQXQLW Double-click the process in the diagram to open the process property sheet. Select an organization unit from the Organization Unit dropdown listbox and click OK. RU (For swimlane organization units only) Click the Process tool in the palette and click in the required swimlane. The organization unit name automatically appears in the Organization Unit dropdown listbox. 3UHVVLQJWKH$/7NH\ You can easily attach an existing process to a swimlane by selecting the process symbol in the diagram, pressing the ALT key and dragging the process to the swimlane. 'LVSOD\LQJDFRPPLWWHHSURFHVV A committee process is a composite process whose sub-processes are managed by several organization units designed as swimlanes. To do so, you must select the Committee Process value in the Organization Unit box of the composite process property sheet. This value is not available for atomic processes, or composite processes turned into atomic. When you select the Committee Process value, the composite process symbol is allowed to cover several swimlane organization units in order to show their links with sub-processes. BPM User s Guide

78 'HILQLQJRUJDQL]DWLRQXQLWVLQDQDQDO\VLV%30 The background of the composite process symbol becomes lighter and hatched when it covers: An organization unit that does not manage a sub-process An organization unit that does not have a symbol in the sub-process diagram Note that this display does not appear in composite view mode. In the following example, all sub-processes of Payment are managed in the Accountancy organization unit. The symbol background of the committee process is lighter and hatched on Sales and Delivery that do not manage any sub-process and do not appear in the sub-process diagram. v 7RPDQDJHWKHGLVSOD\RIDFRPPLWWHHSURFHVV 1 Open the property sheet of a composite process. 2 Select <Committee Process> from the Organization Unit dropdown listbox. 3 Click OK. 4 In the diagram, move the composite process on the swimlane organization units and resize the process symbol in order to cover all the swimlanes. The symbol background color changes on the swimlanes corresponding to organization units that do not manage any sub-process. 'HWDFKLQJDSURFHVVIURPDQRUJDQL]DWLRQXQLW v 7RGHWDFKDSURFHVVIURPDQRUJDQL]DWLRQXQLW Select <None> in the Organization Unit dropdown listbox in the process property sheet. RU (For swimlane organization units only) Press the ALT key while clicking the process symbol in the diagram, and drag the process outside the swimlane. PowerDesigner

79 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO 0RGLI\LQJRUJDQL]DWLRQXQLWSURSHUWLHVLQDQDQDO\VLV%30 You can modify the organization unit properties using the following methods: From the organization unit property sheet From the list of organization units $ For more information on the different ways to modify the organization unit properties, see section Modifying object properties in chapter Managing Objects in the *HQHUDO)HDWXUHV*XLGH. If the organization unit is a swimlane, you open its property sheet by doubleclicking the zone between the selection frame and the swimlane: $ For more information on how to open the property sheet of a swimlane, see section Creating an organization unit as a swimlane from a diagram. 0DQDJLQJVZLPODQHVLQDQDQDO\VLV%30 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 on attaching a process to a swimlane, see section Attaching a process to an organization unit. You can move, copy and paste, resize, or delete a swimlane. You can also modify its format preferences. BPM User s Guide

80 'HILQLQJRUJDQL]DWLRQXQLWVLQDQDQDO\VLV%30 6HOHFWLQJVZLPODQHVLQDQDQDO\VLV%30 Selecting a single swimlane To select a swimlane, position the cursor above the organization unit symbol until you see a vertical arrow pointing to the frame, then click the left mouse button. Selecting all swimlanes All swimlanes within a diagram are called a VHWRIVZLPODQHV. There can only be one set of swimlanes per diagram. To select the entire set of swimlanes, click in the header of one of the swimlanes. 0RYLQJFRS\LQJDQGSDVWLQJVZLPODQHVLQDQDQDO\VLV%30 You can move an individual swimlane to another location. You can also move the HQWLUH set of swimlane to another location but it is not possible to move several swimlanes simultaneously. PowerDesigner

81 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO Your can move or copy a swimlane and paste it to the following locations: 'LDJUDP Different Same :KDWKDSSHQV When you move or copy the swimlane as an individual symbol to another folder or diagram, the symbols that exist inside the swimlane are not copied 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 attached processes inside a swimlane, the width or height of the swimlane varies to include all attached processes. When you move or copy an entire set of swimlanes and paste it into a different diagram, the symbols that exist inside the swimlanes are not copied. $XWR/D\RXWIXQFWLRQ The auto-layout function is unavailable with organization units displayed as swimlanes. 5HVL]LQJVZLPODQHVLQDQDQDO\VLV%30 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: BPM User s Guide

82 'HILQLQJRUJDQL]DWLRQXQLWVLQDQDQDO\VLV%30 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. $ For more information on the selection of swimlanes and set of swimlanes, see section Selecting swimlanes in an analysis BPM. $ For more information on how to select swimlane orientation, see section Modifying the organization unit display preferences in an analysis BPM. &KDQJLQJWKHV\PEROIRUPDWRIDVZLPODQHLQDQDQDO\VLV%30 You can change the format of a swimlane individually or the format of the entire set of swimlanes from the Symbol Format dialog box. v 7RFKDQJHWKHV\PEROIRUPDWRIDVZLPODQH 1 Position the cursor above the swimlane until you see a vertical arrow pointing to the frame, click the right mouse button and select Format from the contextual menu to display the Symbol Format dialog box. 2 Type or select changes in the different tabbed pages. 3 Click OK. 0RGLI\LQJWKHRUJDQL]DWLRQXQLWGLVSOD\SUHIHUHQFHVLQDQDQDO\VLV %30 You can define the following display preferences for an organization unit using the Tools Display Preferences General command: 3UHIHUHQFH Organization unit swimlane Vertical Horizontal 'HVFULSWLRQ Displays the organization unit as a swimlane. If the check box is deselected, the organization unit displays as an icon When the Organization unit swimlane check box is selected, displays swimlane horizontally in the diagram When the Organization unit swimlane check box is selected, displays swimlane vertically in the diagram PowerDesigner

83 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO Note For Business Process Models that support the concept of top-level diagrams, organization units represented as swimlanes are not allowed in top-level diagrams, only the icon representation is allowed. The swimlane representation can only be used in diagrams contained in composite processes. $ For more information on top-level diagrams, see sections Understanding top-level diagram and top-level process in a collaborative BPM in chapter Building a Collaborative Business Process Model and Understanding top-level diagram and top-level process in an executable BPM in chapter Building an Executable BPM: Managing Data and Choreography. Another display preference is available for an organization unit using the Tools Display Preferences Object View command: 3UHIHUHQFH Show stereotype 'HVFULSWLRQ Displays the stereotype of the organization unit BPM User s Guide

84 'HILQLQJDUROHDVVRFLDWLRQLQDQDQDO\VLV%30 'HILQLQJDUROHDVVRFLDWLRQLQDQDQDO\VLV%30 A role association is a relationship that designs an interaction between an organization unit and a process. You can create a role association between: A process and an organization unit An organization unit and a process To express this kind of relationship, you should use the icon representation of the organization unit. To do so, you must deselect the Organization Unit Swimlane check box in the Display Preferences dialog box or right-click the diagram background and select the Disable Swimlane Mode command from the contextual menu. If you switch to the Swimlane mode again, you delete all the role associations you have defined and the Role Association tool is grayed-out in the palette. Role associations in a BPM are very close to associations in the UML use case diagram in the OOM. The orientation of the role association is defined by the way it is created graphically. A role association between an organization unit and a process is an,qlwldwlqj UROH. A role association between a process and an organization unit is a 5HVSRQGLQJUROH. The orientation of the role association may not be displayed. If you want to display it, you should modify the role association display preferences. $ For more information on how to modify the role association display preferences, see section Modifying the role association display preferences. ([DPSOH A role association can link a shortcut to a source object or to a destination object. PowerDesigner

85 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO 5ROHDVVRFLDWLRQSURSHUWLHV You can double-click any role association symbol in a diagram to display its properties: 3URSHUW\ Name Code Comment Stereotype Orientation Initiating role Responding role Source Destination 'HVFULSWLRQ Name of the role association Reference name of the role association Descriptive comment for the role association Sub-classification used to extend the semantics of an object without changing its structure; it can be predefined or userdefined Defines the direction of the role association, provided the Show Direction option is selected in the display preferences. The calculated value depends on how you draw the role association symbol Object the role association starts from. It can be an organization unit or a process. You can click the Properties tool beside this box to display the object property sheet Object the role association ends on. It can be an organization unit or a process. You can click the Properties tool beside this box to display the object property sheet &UHDWLQJDUROHDVVRFLDWLRQ There are several ways to create a role association: From a diagram From the Browser From the list of role associations At creation, a role association has a default name including a number, this number is assigned in the order of creation. You cannot create a role association under a composite process. $ For more information on the different ways to create an association role in a BPM, see section Creating an object in chapter Managing objects in the *HQHUDO)HDWXUHV*XLGH. BPM User s Guide

86 'HILQLQJDUROHDVVRFLDWLRQLQDQDQDO\VLV%30 v 7RFUHDWHDUROHDVVRFLDWLRQ 1 Click the Role Association tool. 2 Click inside an organization unit and while continuing to hold down the mouse button, drag the cursor to a process. Release the mouse button inside the process. You can also create a role association from a process to an organization unit. The role association link appears between both objects. 'UDJJLQJDUROHDVVRFLDWLRQWRDGLIIHUHQWREMHFW You change the objects at either end of a role association by clicking the role association to select it, holding the CTRL key down, and dragging one of the attach points to a different object. 3 Click the Pointer tool. RU Click the right mouse button. You release the Role Association tool. 4 Double-click the role association to display its property sheet. PowerDesigner

87 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO 5 Type a name and a code. You can open the property sheet of the source and destination objects by clicking the Source and Destination buttons located in the upper part of the role association property sheet. 6 Click OK. 0RGLI\LQJUROHDVVRFLDWLRQSURSHUWLHV You can modify the role association properties using the following methods: From the role association property sheet From the list of role associations $ For more information on the different ways to modify the role association properties, see section Modifying object properties in chapter Managing objects in the *HQHUDO)HDWXUHV*XLGH. BPM User s Guide

88 'HILQLQJDUROHDVVRFLDWLRQLQDQDQDO\VLV%30 0RGLI\LQJWKHUROHDVVRFLDWLRQGLVSOD\SUHIHUHQFHV You can modify the following display preferences for role associations using the Tools Display Preferences command: 3UHIHUHQFH Show name Show stereotype Show direction 'HVFULSWLRQ Displays the name of the role association Displays the stereotype of the role association Displays the orientation of the association If you deselected the Show Direction checkbox, no direction is displayed. The position of organization units in the diagram implicitly provides the direction of associations. When an organization unit is positioned to the left of the process, the role association goes from the organization unit to the process; inversely, when an organization unit is positioned to the right of the process, the role association goes from the process to the organization unit. PowerDesigner

89 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO 'HILQLQJIORZVLQDQDQDO\VLV%30 A IORZ describes an interaction between two objects with potential exchange of data. It is represented as a line going from one object to another. It is a route the flow transits on to link objects. The routing of the flow is made using guard conditions defined on the flow. If the condition is true, the flow is passed to the next object in the sequence. Two flows can be defined between the same source and destination objects (SDUDOOHOIORZV). The flow link is represented as a simple line with a direction (arrow): You can draw a flow from and to the following business process diagram objects: )URP?7R 6WDUW 'HFLVLRQ 6\QFKURQL]DWLRQ 3URFHVV (QG Start á á á Synchronization á á á á Decision á á á á Process á á á á End á = allowed = not allowed 'UDJJLQJDIORZWRDGLIIHUHQWREMHFW You change the object at either end of a flow by clicking the flow to select it, holding the CTRL key down, and dragging one of the attach points to a different object. Outgoing flows in an executable BPM allow you to manage process events. $ For more information on flows in an executable BPM, see section Defining flows in an executable BPM in chapter Building an Executable BPM: Working with Service Description Objects. Message format You can associate a message format to a flow in case of data exchange between objects, in order to define the type of the accessed data. With the Check Model feature you can verify the coherence between the message format defined in the flow and the message format accepted by the object. BPM User s Guide

90 'HILQLQJIORZVLQDQDQDO\VLV%30 $ For more information on message formats, see section Defining message formats in an analysis BPM. $ For more information on the Check Model feature, see chapter Working with Business Process Models. Linking shortcuts Constraints on flows A flow can link shortcuts. As process shortcuts in a diagram designate the invocation of external processes, a flow between two process shortcuts designate a transition between two processes invocation. 5HIOH[LYHIORZV only exist on processes (same source and destination process) )ORZFUHDWLRQLQDFROODERUDWLYHRUH[HFXWDEOH%30 You cannot create a flow in a top-level diagram for a collaborative or executable BPM. For these types of models, flows can only be created under a composite process. )ORZSURSHUWLHV You can double-click any flow symbol in a diagram to display its properties. 3URSHUW\ Name Code Comment Source Destination Stereotype Transport Flow type Message format 'HVFULSWLRQ Name of the flow Reference name of the flow Descriptive comment for the flow Where the flow starts from. You can click the Properties tool beside this box to display the source object property sheet Where the flow ends on. You can click the Properties tool beside this box to display the destination object property sheet Sub-classification used to extend the semantics of an object without changing its structure; it can be predefined or userdefined Definition of the way data flow is conveyed Definition of the type of the flow Definition of data exchanged between processes PowerDesigner

91 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO 7UDQVSRUW Transport is meant to be used for documentation purposes only. It gives information on the way the data flow is conveyed. You can create your own type of transport in the Transport dropdown listbox, or you can choose one of the following values: Fax delivery Mail Telephone )ORZW\SH You can create your own type of flow in the Flow Type dropdown listbox, or you can choose one of the following values: )ORZW\SH Success Timeout Technical error Business error Compensation 'HVFULSWLRQ Defines a successful flow Defines the occurrence of a timeout limit Represents a technical error Represents a business error Defines a compensation flow 0HVVDJHIRUPDW You can choose one of the following values: 0HVVDJHIRUPDW None Undefined 'HVFULSWLRQ When selected, it indicates that no data are exchanged Default value. When selected, it indicates that message formats will be defined later You can click the Create tool beside the Message Format dropdown listbox to create a message format for your flow. $ For more information on message format, see section Defining message formats in an analysis BPM. This property is not available when designing an executable BPM, as the exchange of information is not managed by flows. BPM User s Guide

92 'HILQLQJIORZVLQDQDQDO\VLV%30 $ For more information on flows in an executable BPM, see section Defining flows in an executable BPM in chapter Building an executable BPM: Working with Service Description Objects. &RQGLWLRQSDJHRIWKHIORZ A condition is a parameter that applies to a flow. When there are several flows, each condition is evaluated in order to choose the one the flow will transit on. The Condition page defines the nature of the condition attached to a flow. The Condition page contains the following parameters: 3DUDPHWHU Alias Editor 'HVFULSWLRQ Summarizes the condition attached to a flow. It is recommended to write an alias (short editor) when using a long condition in order to display the alias instead of the condition in the diagram Details the condition. For example, you can write information on the condition to execute, as well as open, insert and save any text files containing valuable information The Alias (or Editor, if the Alias box is empty) is displayed near the source symbol as shown below: If you do not type any alias or editor in the corresponding boxes and if the flow type is not the default value (Success), then the displayed condition will be the flow type. In an executable BPM, the Condition page allows you to select an event to create an event handler. $ For more information on event handlers in an executable BPM, see section Defining event handlers in chapter Building an executable BPM: Managing Data an Choreography. 2SHQLQJWKH&RQGLWLRQSDJH You can open the Condition page by right-clicking the flow symbol in the diagram, and selecting Condition from the contextual menu. PowerDesigner

93 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO 'DWDSDJHRIWKHIORZ A data represents an information exchanged between business processes and transported by a flow. It is different from the message format that represents the description format of all the data exchanged. The Data page allows you to select data that will be transported by the flow from a selection list. You can view in the diagram the list of data transported by a flow by selecting Tools Display Preferences Flow and select the Show Data List check box. The list of data appears on the flow in the diagram. $ For more information on how to select data for a flow, see section Selecting data for a flow or a message format. You can also migrate the data of a flow to its source or destination process, using the Migrate to destination process and Migrate to source process tools in the property sheet toolbar. $ For more information on how migrate data to process, see section Migrating the data of a flow to a process. &UHDWLQJDIORZ There are several ways to create a flow: From a diagram From the Browser From the list of flows At creation, a flow has a default name including a number, this number is assigned in the order of creation. When you create a flow from the Browser or from the list of flows, you must previously define source and destination objects for the flow. $ For more information on the different ways to create a flow, see section Creating an object in chapter Managing Objects in the *HQHUDO)HDWXUHV *XLGH. )ORZFUHDWLRQLQDFROODERUDWLYHRUH[HFXWDEOH%30 You cannot create a flow in the top-level diagram of a collaborative or executable BPM. For these types of models, flows can only be created under a composite process. BPM User s Guide

94 'HILQLQJIORZVLQDQDQDO\VLV%30 v 7RFUHDWHDIORZIURPDGLDJUDP 1 Click the Flow/Resource Flow tool. 2 Click inside the first process and while continuing to hold down the mouse button, drag the cursor to the second process. Release the mouse button inside the second process. The flow link appears between the two processes. 'UDJJLQJDIORZWRDGLIIHUHQWSURFHVV You change the process at either end of a flow by clicking the flow to select it, holding the CTRL key down, and dragging one of the attach points to a different process. 3 Click the Pointer tool. RU Click the right mouse button. You release the Flow/Resource Flow tool. PowerDesigner

95 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO 4 Double-click the flow in the diagram to display its property sheet. 2SHQLQJWKHSURSHUW\VKHHWRIREMHFWVDWHQGV You can open the property sheet of the source and destination objects by clicking the Source and Destination buttons located in the upper part of the flow property sheet. 5 Type or select flow properties as required in the tabbed pages. 6 Click OK. 'LVSOD\LQJIORZVIURPWKHSURFHVVSURSHUW\VKHHW Flows coming in and out the process are also displayed in the process property sheet. You can display those flows from the Input Flows or Output Flows tabbed page of the Dependencies page. BPM User s Guide

96 'HILQLQJIORZVLQDQDQDO\VLV%30 0RGLI\LQJIORZSURSHUWLHV You can modify the flow properties using the following methods: From the flow property sheet From the list of flows $ For more information on the different ways to modify the flow properties, see section Modifying object properties in chapter Managing Objects in the *HQHUDO)HDWXUHV*XLGH. 0RGLI\LQJWKHIORZGLVSOD\SUHIHUHQFHV You can modify the following display preferences for a flow using the Tools Display Preferences command: 3UHIHUHQFH Show stereotype Show message format symbol Show Data List Show name None 'HVFULSWLRQ Displays the stereotype of the flow Displays the symbol of the message format for the flow Displays the list of data for the flow Displays the name of the flow Displays nothing on the flow Except for the Show stereotype preference, which is a check box, all other preferences are mutually exclusive. PowerDesigner

97 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO 'HILQLQJPHVVDJHIRUPDWVLQDQDQDO\VLV%30 A PHVVDJHIRUPDW defines the format of a piece of information exchanged between business processes. The format depends on the nature of the exchanged piece of information and allows objects to find an agreement to communicate. Business processes exchange information using resource flows and process flows. You can have a flow without any message format if no information is exchanged. $ For more information on resource flows, see section Defining resource flows in an analysis BPM. A message format can be an XML document, for which you will have to specify the DTD (Document Type Definition) or the XML schema, or parameters of a procedure call. For these parameters, you will have to specify the list of exchanged parameters with their data types, the parameter names and the in/out information. An administrative form can also represent a message format. The message format can be decomposed into message parts that specify its contents. $ For more on message parts, see section Defining message parts in an analysis BPM. In an executable BPM, a message format can also be used to specify the format of the message associated with a fault or with Request-Response and Solicit-Response operations. $ For more information, see section Validation rules on message formats in an executable BPM in chapter Building an Executable BPM: Working with Service Description Objects. The message format is displayed in the diagram only in association with the flow that uses it. As you create a message format from the flow property sheet, its symbol is linked to the flow symbol, and appears centered on the flow line as shown below: If you move the flow, the message format moves accordingly. You cannot copy a message format symbol, and if you delete its symbol in the diagram, the message format value is set to None in the Message Format box of the flow property sheet. BPM User s Guide

98 'HILQLQJPHVVDJHIRUPDWVLQDQDQDO\VLV%30 $ For more information on message format options, see section Defining BPM options in chapter Business Process Model Basics. 0HVVDJHIRUPDWSURSHUWLHV You can double-click any message format symbol in a diagram to display its properties. 3URSHUW\ Name Code Comment Stereotype 'HVFULSWLRQ Name of the message format Reference name of the message format Descriptive comment for the message format Sub-classification used to extend the semantics of an object without changing its structure; it can be predefined or user-defined 'HILQLWLRQSDJHRIWKHPHVVDJHIRUPDW The Definition page specifies the definition of the message format attached to the flow. It contains the following parameters: 3DUDPHWHU Definition type External definition 'HVFULSWLRQ Indicates whether the message format definition is a complete definition (embedded or external file), or is decomposed into several parts (Message Parts): Embedded file: Indicates that the message format definition is stored within the object. You can directly type the definition in the Editor box External file and URL: Indicates that the message format definition is specified outside the model. It can be a file that you access on your disk or via a given drive or a Web address Message Parts: Indicates that the message format definition is decomposed into parts that specify its contents. You can create these message parts from the list of message parts located in the lower part of the dialog box Allows you to define the location path of an external file or an URL. This box is grayed out when you select Embedded file or Message Parts in the Definition Type zone PowerDesigner

99 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO 3DUDPHWHU Message format Editor List of message parts 'HVFULSWLRQ Definition of the type of the schema language used for the message format description. You can type your own type of message format or you can choose one of the following values in the Message Format Type dropdown listbox: XML Schema, DTD, or RELAX NG. This box is unavailable when you select Message Parts for the definition type of your message format Allows you to detail the definition. For example, you can write information about the DTD or the list of parameters, as well as open, insert and save any text files containing valuable information. This box is only accessible when you selected Embedded File for the definition type of your message format Allows you to create message parts. For more information on message parts, see section Defining message parts in an analysis BPM. Only available when you select the Message Parts radio button 2SHQLQJWKH'HILQLWLRQSDJH You can open the Definition page by right-clicking the message format symbol in the diagram, and selecting Definition from the contextual menu. 'DWDSDJHRIWKHPHVVDJHIRUPDW A data defines the type of information exchanged between business processes and transported by a message format. The Data page allows you to select data that will be transported by the message format from a selection list. You can display in the diagram the list of data transported by a message format by selecting Tools Display Preferences Flow (or Resource Flow) and select the Show Data List check box. The list of data appears on the flow in the diagram. $ For more information on how to select data for a flow, see section Selecting data for a flow or a message format. BPM User s Guide

100 'HILQLQJPHVVDJHIRUPDWVLQDQDQDO\VLV%30 &UHDWLQJDPHVVDJHIRUPDW There are several ways to create a message format: From a flow property sheet From the Browser From the list of message formats At creation, a message format has a default name including a number, this number is assigned in the order of creation. $ For more information on the different ways to create a message format, see section Creating an object in chapter Managing Objects in the *HQHUDO )HDWXUHV*XLGH. v 7RFUHDWHDPHVVDJHIRUPDWIURPDIORZSURSHUW\VKHHW 1 Double-click a flow symbol in the diagram to display its property sheet. 2 Click the Create tool beside the Message Format dropdown listbox located in the lower part of the flow property sheet. A confirmation box asks you to commit the object creation. 3 Click Yes. The message format property sheet appears. PowerDesigner

101 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO 4 Type or select message format properties as required in the tabbed pages. 5 Click OK. 0RGLI\LQJPHVVDJHIRUPDWSURSHUWLHV You can modify the message format properties using the following methods: From the message format property sheet From the list of message formats $ For more information on the different ways to modify the message format properties, see section Modifying object properties in chapter Managing Objects in the *HQHUDO)HDWXUHV*XLGH. BPM User s Guide

102 'HILQLQJPHVVDJHSDUWVLQDQDQDO\VLV%30 'HILQLQJPHVVDJHSDUWVLQDQDQDO\VLV%30 A PHVVDJHSDUW represents a sub-division of the whole message format into several independent parts. It is attached to the message format and cannot be moved without it. This object is usually associated with executable BPM objects. It represents a portion of the WSDL (:HE6HUYLFHV'HVFULSWLRQ/DQJXDJH) message in an executable BPM. In BPEL4WS models, the message part is used in the Transformation page of the data transformation property sheet for PropertyAlias definition. $ For more information on data transformations, see section Defining data transformations in chapter Building an Executable BPM: Managing Data and Choreography. 0HVVDJHSDUWSURSHUWLHV You can access message part properties from a message format property sheet: 3URSHUW\ Name Code Comment Stereotype Data type Element type 'HVFULSWLRQ Name of the message part Reference name of the message part Descriptive comment for the message part Sub-classification used to extend the semantics of an object without changing its structure; it can be predefined or userdefined Definition of the type of the message part (XML element, simple or complex type). You can choose from a list of simple data type in the dropdown listbox Indicates whether the variable is an XSD element type or not. If you have defined a complex type (XSD element) in the Data type dropdown listbox, you should select that checkbox for the complex type element to be generated. The value of the data type is the name of the element prefixed by the namespace PowerDesigner

103 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO &UHDWLQJDPHVVDJHSDUW You create a message part from the message format property sheet. To display the message format property sheet, you can: Double-click the message format symbol Right-click the message format node in the Browser and select Properties At creation, a message part has a default name including a number, this number is assigned in the order of creation of objects. v 7RFUHDWHDPHVVDJHSDUW 1 Click the Definition tab in the message format property sheet to open the corresponding page. 2 Select the Message Parts radio button beside Type to display the list of message parts in the lower part of the dialog box. 3 Click a blank line in the list. RU Click the Add a Row tool. An arrow appears at the beginning of the line. 4 Type a message part name and a message part code. You can then double-click the new message part to display its properties. BPM User s Guide

104 'HILQLQJPHVVDJHSDUWVLQDQDQDO\VLV%30 5 Click OK in each of the dialog boxes. 0RGLI\LQJPHVVDJHSDUWSURSHUWLHV You can modify the message part properties from the message format property sheet. $ For more information on how to display the message format property sheet, see section Creating a message part. PowerDesigner

105 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO 'HILQLQJGDWDLQDQDQDO\VLV%30 A GDWD allows you to identify the type of information exchanged between business processes at a high conceptual level, focusing more on the semantic of the information than on technical aspects, such as physical data type, check parameters, etc. Business processes exchange information using resource flows and process flows. A data can be attached to: A flow or a resource flow A message format A process :KHQDGDWDLV Transported by a flow or a resource flow Associated with a message format Used by a process,wdoorzv\rxwr Identify the type of information exchanged between a resource and a process or between processes Identify the type of information a message format can represent Identify the type of action the process does on the data for the process to be executed $ For more information on how to attach a data to a flow or resource flow, to a message format or to a process, see sections Selecting data for a flow or a message format, and Selecting data for a process. A data can be transported by several flows and message formats, but a flow or a message format cannot transport the same data twice. Same for the process, which cannot use the same data twice. You can specify a type to a data and link the data to an object in order to specify the nature of the piece of information exchanged between business processes. Business data can be considered as the entry point for specifying structural elements that you can analyze afterwards in Conceptual Data Models or UML Class Diagrams. A data belongs to a package and can be referenced in other packages. A data has no graphical symbol. You can nevertheless display a list of data on the flow symbol. BPM User s Guide

106 'HILQLQJGDWDLQDQDQDO\VLV%30 $ For more information on how to display a list of data on a process flow symbol or resource flow symbol, see section Modifying the flow display preferences or section Modifying the resource flow display preferences. Data are not available in the executable and collaborative Business Process Models. 'DWDSURSHUWLHV You access the data property sheet by double-clicking a data in the List of Data. You can display the following properties: 3URSHUW\ Name Code Comment Type Stereotype Definition 'HVFULSWLRQ Name of the data Reference name of the data Descriptive comment for the data Type of the data Sub-classification used to extend the semantics of an object without changing its structure; it can be predefined or user-defined Object represented by the data. It can be OOM or CDM objects 7\SH The following types can be used for a data to specify the kind of information exchanged between objects: Undefined. When you simply manipulate a data and do not yet know its nature Structured data. When the data contains a set of elementary data Elementary data. When the data cannot be decomposed 'HILQLWLRQGDWD You can link a data to an object in another model according to the type you selected in the Type dropdown listbox. The Definition box is filled when you select an object to link to the data in the Select an Object dialog box. PowerDesigner

107 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO The Select Object Definition button located beside the Definition box allows you to open that dialog box and select either a CDM entity, a CDM data item, or an OOM class depending on the selected type of data in the Type box and on the opened models in the workspace. If there is no adequate CDM or OOM objects available in the workspace, the Select Object Definition button is grayed out: 'DWDW\SH Undefined Elementary Structured 2EMHFWWRVHOHFW CDM entity, CDM data item, and OOM class CDM data item CDM entity, and OOM class The <Undefined> type automatically changes in the Type box according to the object you define in the Definition box. However, if you explicitly define a type before you select an object, you can only access objects related to the selected type. In addition, if you change the type of the data so that it is no longer coherent with the object defined in the Definition box, a message box asks you to confirm the change, and the link between the data and the object is removed. After you have selected an object to be linked to the data, the text (Shortcut) appears after its name in the Definition box. When you click the Properties button beside the Definition box, you can open the shortcut property sheet and access the target object. $ For more information on how to link a data to an object, see section Linking a data to an object. &UHDWLQJDGDWD You create a data from the List of Data. At creation, a data has a default name including a number, this number is assigned in the order of creation. v 7RFUHDWHDGDWDIURPWKHOLVWRIGDWD 1 Select Model Data. The list of data appears. 2 Click the Add a Row tool. A new data is added to the list, with a default name you can modify. 3 Type a name and a code for the data. BPM User s Guide

108 'HILQLQJGDWDLQDQDQDO\VLV%30 4 Click OK. 0RGLI\LQJGDWDSURSHUWLHV You can modify the data properties using the following methods: From the data property sheet From the list of data $ For more information on the different ways to modify the data properties, see section Modifying object properties in chapter Managing Objects in the *HQHUDO)HDWXUHV*XLGH. /LQNLQJDGDWDWRDQREMHFW After you have identified the type of information exchanged between business processes, you can specify the nature of the transported data by linking the data to a CDM or OOM object. The object you can select for linking depends on the type you defined for the data. $ For more information on the different types a data object can have, see section Definition (data). Only objects contained in models opened in the workspace can be selected. When you link a data to an object, the object name appears in the Definition box of the data property sheet. $ For more information on the Definition box, see section Definition (data). v 7ROLQNDGDWDWRDQREMHFW 1 Open the data property sheet. PowerDesigner

109 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO 2 Select a type from the Type dropdown listbox. 3 Click the Select Definition Object tool beside the Definition box. The Select an Object dialog box appears. It allows you to select an object from a model opened in the workspace corresponding to the type of data you selected. 4 Select an object in the tree view and click OK. The object name followed by (Shortcut) appears in the Definition box of the data property sheet. You can double-click the Properties tool beside the Definition box to open the shortcut property sheet and access the target object. BPM User s Guide

110 'HILQLQJGDWDLQDQDQDO\VLV%30 'HOHWLQJWKHOLQNZLWKDQREMHFWIURPWKHGDWDSURSHUW\VKHHW You can click the Remove Link tool beside the Definition button to break the link between the data and the object. 0RGLI\LQJWKHW\SHRIDGDWDIURPWKHGDWDSURSHUW\VKHHW When you change the type of the data so that it no longer corresponds to the object defined in the Definition box, a message box asks you to confirm the change, and the link between the data and the object is broken. 6HOHFWLQJGDWDIRUDIORZRUDPHVVDJHIRUPDW You can select data transported by process flows, resource flows and message formats from the Data page of their respective property sheet. Each time you select a data from the list, it is added to the Data page of the flow or message format property sheet and no longer appears in the list of available data. v 7RVHOHFWGDWDIRUDIORZRUDPHVVDJHIRUPDW 1 Double-click a process flow, a resource flow or a message format symbol in the diagram to open its property sheet. 2 Click the Data tab to open the corresponding page. 3 Click the Add Data tool to open a data selection list. 4 Click the down arrowhead in the upper part of the list to select a model or package from the dropdown list. PowerDesigner

111 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO 5 Select the data you want. 6 Click OK to close the selection list. The selected data are added to the Data page of the flow, resource flow or message format property sheet and no longer appear in the available data selection list. BPM User s Guide

112 'HILQLQJGDWDLQDQDQDO\VLV%30 7 Click OK to close the property sheet. 9LHZLQJWKHOLVWRIGDWDWUDQVSRUWHGE\DIORZRUDPHVVDJHIRUPDW You can view in the diagram the list of data transported by a flow by selecting Tools Display Preferences Flow (or Resource Flow) and select the Show Data List check box. The list of data appears on the flow in the diagram or instead the message format symbol. 6HOHFWLQJGDWDIRUDSURFHVV You can add data to a process to identify the type of action the process does on the data to proceed to its execution from the Data page of its property sheet. Thus, you define a data access for that process. Each time you select a data from the list, it is added to the Data page of the process property sheet and no longer appears in the list of available data. Once the data is added to the process, its access mode is Read by default. You can directly modify this value in the Data page. v 7RVHOHFWGDWDIRUDSURFHVV 1 Double-click a process symbol in the diagram to open its property sheet. 2 Click the Data tab to open the corresponding page. 3 Click the Add Data tool to open a data selection list. 4 Click the down arrowhead in the upper part of the list to select a model or package from the dropdown list. PowerDesigner

113 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO 5 Select the data you want. 6 Click OK to close the selection list. The selected data is added to the Data page of process property sheet and no longer appears in the available data selection list. Its access mode is Read by default. 7 Click OK to close the property sheet. BPM User s Guide

114 'HILQLQJGDWDLQDQDQDO\VLV%30 $GGLQJDGDWDWRDSURFHVVIURPWKHIORZSURSHUW\VKHHW You can migrate the data of a flow to its source or destination process, using the Migrate to destination process and Migrate to source process tools in the flow property sheet. For more information, see section Migrating the data of a flow to a process. 0LJUDWLQJWKHGDWDRIDIORZWRDSURFHVV A flow can bring data to a process, using the Migrate to destination process and Migrate to source process tools in the flow property sheet. This functionality automatically creates a data access in the process property sheet for the data you migrated. Depending on the data migration direction, the CRUD values in the process property sheet are as follows: :KHQWKHGDWDLVPLJUDWHGWR Source process Destination process &58'YDOXHV Create Read You can multi-select data to migrate to a process in the flow property sheet. v 7RPLJUDWHWKHGDWDRIDIORZWRDSURFHVV 1 Open a flow property sheet. 2 Click the Data tab to open the corresponding page. PowerDesigner

115 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO 3 Select the row for the data you want to migrate. 4 Click the Migrate to destination process or Migrate to source process tool. A message box appears to indicate to which process the data was migrated. The General tab of the Output window also displays information on the migrated data. 5 Click OK to close the message box. 6 Click OK to close the property sheet. ([FKDQJLQJGDWD You can export and import data using the Tools menu. BPM User s Guide

116 'HILQLQJGDWDLQDQDQDO\VLV%30 Data export Business data are conceptual pieces of information that can be specified with more details in a Conceptual Data Model (CDM) or a class diagram of an Object Oriented Model (OOM). You export data from the current business process model to: A Conceptual Data Model (CDM) An Object-Oriented Model (OOM) When you export data, you create objects in the CDM or OOM from the exported data. Exported data are automatically linked to the created objects in the BPM. Data import You import data to create or enrich a reference database that you will use to identify information exchanged between processes. You import data in a business process model from: A Conceptual Data Model (CDM) An Object-Oriented Model (OOM) When you import data, you create data in the current BPM from objects selected in a CDM or OOM. Imported data are automatically linked to the selected objects in the source model. ([SRUWLQJGDWD You export data to a CDM and an OOM using the Tools menu. You select data to export from the Data Export Wizard. Only elementary and structured data that are not already linked to an object can be exported. Also, the model in which you want to export data must be opened in the workspace, otherwise the Data Export Wizard command is grayed out. The export process converts data to CDM and OOM objects as follows: 'DWDW\SH &'0 220 Elementary Data item Structured Entity Class When you export a data that has the same name and code as an object contained in the CDM or OOM, no object will be created for that data. The data will be automatically linked to the existing object. PowerDesigner

117 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO v 7RH[SRUWGDWD 1 Select Tools Data Export Wizard. The Data Export Wizard opens. It contains all models and packages opened in the workspace to which you can export data. 2 Select the CDM or OOM model or package to which you want to export data and click the Next button. A data selection page appears. It contains a list of all the data you can export according to the type of model. 3 Click the down arrowhead in the upper part of the list to select a model or package from the dropdown list. BPM User s Guide

118 'HILQLQJGDWDLQDQDQDO\VLV%30 4 Select data to export. 5 Click the Finish button. The result of the export is displayed in the Output window. You can view in the Browser tree view the creation of objects that correspond to the data you exported to the CDM or OOM: 'DWDUHH[SRUW As the link with the business data is saved in the exported CDM or OOM, you cannot re-export data already exported. If you want to re-export all the data of your BPM, you have to select Model Target Models and delete the target model created during the export in order to delete all the shortcuts that reference it in the current BPM and be able to export the data again. If you want to re-export a data individually, you can also remove the link to the object for the data you want to re-export. PowerDesigner

119 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO,PSRUWLQJGDWD You import CDM and OOM objects as data into a BPM using the Tools menu. You select objects to import from the Data Import Wizard. If there is no CDM or OOM opened in the workspace, the Data Import Wizard command is grayed out. The import process converts CDM and OOM objects to data as follows: 0RGHO 2EMHFW 'DWDW\SH CDM Data item Elementary Entity Structured OOM Class Structured When you import an object that has the same type, name and code as an existing data in the BPM, the new data is automatically renamed and linked to the selected object in the OOM or CDM. v 7RLPSRUWGDWD 1 Select Tools Data Import Wizard. The Data Import Wizard opens. It contains all models or packages opened in the workspace from which you can import data. 2 Select the CDM or OOM model or package from which you want to import data and click the Next button. BPM User s Guide

120 'HILQLQJGDWDLQDQDQDO\VLV%30 An object selection page appears. It contains a list of all the objects you can import according to the type of model. 3 Click the down arrowhead in the upper part of the list to select a model or package from the dropdown list. 4 Select objects to import. 5 Click the Finish button. The result of the import is displayed in the Output window. You can view in the Browser tree view the creation of data that correspond to the objects you imported in the current model: PowerDesigner

121 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO 'HILQLQJWKH&58'PDWUL[LQDQDQDO\VLV%30 A &58'PDWUL[&UHDWH5HDG8SGDWH'HOHWHis a table that shows the links between processes and data, or between processes and resources. When a link exists, it shows whether the process performs a Create, Read, Update, or Delete operation on the data or resource. When the CRUD matrix shows the links between a process and a data, it is called a 'DWD&58'PDWUL[. When the CRUD matrix shows the links between a process and a resource, it is called a 5HVRXUFH&58'PDWUL[. What are the different types of matrices? There are two types of CRUD matrices in the BPM: A process/data CRUD matrix that is available from the Data CRUD matrix command in the Tools menu. It shows the links between a process and a data, and the type of operation the process performs on the data A process/resource CRUD matrix that is available from the Resource CRUD matrix command in the Tools menu. It shows the links between a process and a resource using resource flows, and the type of operation the process performs on the resource Since both matrices share mostly the same features, the term &58'PDWUL[ is used in this manual when specifying is not required. When to use a CRUD matrix? CRUD matrix structure BPM User s Guide You can use a CRUD matrix in the BPM to observe how a process handles data or resources, and what type of action it performs on them. This can help you perform a reality check on the model. A CRUD matrix is made up of headers and cells. The KHDGHU appears along the top and down the left side of the CRUD matrix, and contains the names or codes (depending on the model options you have defined) of the processes and resources (or data) displayed in the CRUD matrix. $ For more information on model options, see section Defining name/code format in chapter Managing Models in the *HQHUDO)HDWXUHV *XLGH. Processes display in rows and resources or data display in columns. The FHOOV are the boxes inside the CRUD matrix that contain the CRUD values (Create, Read, Update, Delete). The cell is empty when there is no link between objects, In a Data CRUD matrix, CRUD values come from the access modes defined in the Data page of the process flow property sheet.

122 'HILQLQJWKH&58'PDWUL[LQDQDQDO\VLV%30 In a Resource CRUD matrix, CRUD values come from the access modes defined in the resource flow property sheet, which determines its direction. $ For more information on CRUD values, see section Modifying CRUD values. $ For more information on the access mode of a resource flow, see section Defining resource flows in an analysis BPM. $ For more information on the access mode of a data by a process, see section Selecting data for a process. 'LVSOD\LQJD&58'PDWUL[ You can display a matrix from the model, or from a package. The matrix shows the links between all processes and data (or resources) of the current package, in alphabetical order. You can nevertheless show the links between objects located in other packages by clicking the Include Sub- Packages tool in the Select Objects dialog box. You can also hide rows and columns that correspond to objects that are not linked. $ For more information on how to show the links between objects located in other packages, see section Adding and removing objects from the CRUD matrix. $ For more information on how to hide rows and columns in a CRUD matrix, see section Hiding empty rows and columns in the CRUD matrix. What you need To display a matrix, the current package or sub-package must contain a minimum number of objects, otherwise the Resource CRUD matrix or the Data CRUD matrix command is grayed out: 7RGLVSOD\DPDWUL[RI W\SH Process/data Process/resource <RXQHHGDWOHDVW A process and a data A process and a resource To display CRUD values in the matrix, you must have previously selected data for a process or a resource flow from the Data page of their respective property sheet. $ For more information on how to select data for a resource flow, see section Selecting data for a flow or a message format. $ For more information on how to select data for a process, see section Selecting data for a process. PowerDesigner

123 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO v 7RGLVSOD\D&58'PDWUL[ Select Tools Data CRUD Matrix. RU Select Tools Resource CRUD Matrix. The Data CRUD Matrix or the Resource CRUD Matrix appears. By default, it displays all the data and processes or all the resources and processes of the current package and allows you to modify CRUD values. Empty cells correspond to objects that are not linked with each other. Thus, the corresponding check boxes are grayed out in the Current Cell Value groupbox in the lower part of the CRUD Matrix dialog box. The Data CRUD Matrix looks as follows: BPM User s Guide

124 'HILQLQJWKH&58'PDWUL[LQDQDQDO\VLV%30 The Resource CRUD Matrix looks as follows: 0RYLQJIURPFHOOWRFHOO You can move from a cell to another using the Arrow keys of your keyboard 0DQLSXODWLQJWKH&58'PDWUL[ You can perform the following actions from the CRUD matrix toolbar: 7RRO $FWLRQ 'HVFULSWLRQ Properties Open the property sheet of the object selected in the CRUD matrix: Copy Process property sheet, if you select a row header Resource or Data property sheet, if you select a column header Resource flow or data property sheet, if you select a cell Copy a CRUD matrix to paste it into another application like Excel PowerDesigner

125 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO 7RRO $FWLRQ 'HVFULSWLRQ Find Symbol in Diagram Select Objects Hide Empty Row/Column Find in the diagram the symbol of the object selected in the CRUD matrix: Process symbol, if you select a row header Resource symbol, if you select a column header Resource flow symbol or process symbol that contains the CRUD values, if you select a cell Select objects located in other packages to let you change the list of rows and columns in the CRUD matrix Hide or Show empty rows and columns In addition, you can modify existing CRUD values in the CRUD matrix, and change the order of rows in the matrix using the move buttons located in the lower left part of the matrix. $ For more information on how to modify the order of rows in the matrix, see section Ordering rows and columns in the CRUD matrix. $ For more information on how to find an object symbol in the diagram, see section Finding an object symbol in the diagram in chapter Managing models in the *HQHUDO)HDWXUHV*XLGH. &RQVXOWLQJREMHFWSURSHUWLHVIURPWKH&58'PDWUL[ You can consult process, resource, resource flow, and data properties from the CRUD matrix. v 7RFRQVXOWWKHSURSHUWLHVRIDQREMHFWIURPWKH&58'PDWUL[ 1 Open a CRUD matrix. 2 Click a process, a resource, a resource flow (a cell) or a data in the matrix and click the Properties tool in the toolbar. RU Double-click a process, a resource or a data in the matrix. BPM User s Guide

126 'HILQLQJWKH&58'PDWUL[LQDQDQDO\VLV%30 The object property sheet appears. 3 Navigate through the different object properties. 4 Click Close. Resource flow properties When you click a cell that has several associated resource flows, the Select Resource Flow dialog box opens to let you choose the resource flow, whose properties you want to consult: PowerDesigner

127 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO &RS\LQJD&58'PDWUL[LQWRDQRWKHUDSSOLFDWLRQ In a CRUD matrix, information displays in table format. You can copy the information in Excel in CSV (Comma Separated Value) format and in Word in text format. The textual information is separated by tabs that let you to quickly convert it into a table. v 7RSDVWHD&58'PDWUL[LQWRDQRWKHUDSSOLFDWLRQ 1 Open a CRUD matrix. 2 Click the Copy tool in the toolbar. The CRUD matrix is placed in the Clipboard. 3 Open the desired application and paste the CRUD matrix. )LQGLQJDQREMHFWV\PEROLQWKHGLDJUDPIURPWKH&58'PDWUL[ You can find in the diagram the symbol of a process, a resource and a resource flow from the CRUD matrix. v 7RILQGDQREMHFWV\PEROLQWKHGLDJUDPIURPWKH&58'PDWUL[ 1 Open a CRUD matrix. 2 Click a process, a resource, or a resource flow (a cell) in the matrix and click the Find Symbol in Diagram tool in the toolbar. The object symbol is selected and centered in the diagram. You have to move the CRUD Matrix dialog box to view the symbol. BPM User s Guide

128 'HILQLQJWKH&58'PDWUL[LQDQDQDO\VLV%30 Resource flow properties When you click a cell that has several associated resource flows, the Select Resource Flow dialog box opens to let you choose the resource flow, whose symbol you want to find in the diagram. $GGLQJDQGUHPRYLQJREMHFWVIURPWKH&58'PDWUL[ You can choose the objects you want to display in the CRUD matrix by adding and removing processes and resources (or data). v 7RDGGRUUHPRYHREMHFWVIURPWKH&58'PDWUL[ 1 Open a CRUD matrix. 2 Click the Select Objects tool in the toolbar. PowerDesigner

129 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO The Select Objects dialog box appears. It displays the list of all the processes and resources (or data) in the current package in tabbed pages. You can click the Include Sub-packages tool to displays objects contained in other packages. 3 Select a package. 4 Click a tab in the lower part of the dialog box. 5 Select or deselect objects you want to add or remove from the CRUD matrix and click OK. $GG$OODQG'HVHOHFW$OOWRROV You can click the Add All or Deselect All tools to select or deselect all objects at once. The CRUD matrix is automatically updated according to the selections you have made. BPM User s Guide

130 'HILQLQJWKH&58'PDWUL[LQDQDQDO\VLV%30 +LGLQJHPSW\URZVDQGFROXPQVLQWKH&58'PDWUL[ Empty rows and columns in a matrix indicate the following: 7\SHRI&58' PDWUL[ Process/resource Process/data &RQWDLQVDQHPSW\ URZZKHQ«A resource is used by no process A data is used by no process &RQWDLQVDQHPSW\ FROXPQZKHQ«A process does not use any resource A process does not use any data You can hide all empty rows and columns in the CRUD matrix at once. Hiding of empty rows and columns only applies to the current session. v 7RKLGHDOOHPSW\URZVDQGFROXPQVLQWKH&58'PDWUL[ 1 Open a CRUD matrix. 2 Click the Hide Empty Row/Column tool in the toolbar. All empty rows and columns are hidden. 3 Click Close. 2UGHULQJURZVDQGFROXPQVLQWKH&58'PDWUL[ You can order rows and columns in two ways in the CRUD matrix: From the CRUD matrix itself, using the drag and drop feature for columns and the move buttons located in the lower left part of the CRUD matrix for rows From the Select Objects dialog box that you open using the Select Objects tool from the CRUD matrix toolbar 2UGHULQJURZVDQGFROXPQVIURPWKH&58'PDWUL[ Row order You can change the order of rows and columns from the CRUD matrix. You can click a row in the CRUD matrix and click one of the different move buttons in the lower left part of the CRUD matrix to change the order of rows. PowerDesigner

131 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO Column order You can click a column header in the CRUD matrix and drag the column to another location to change the order of columns. When you drag the column, a thin red line appears to indicate the new location. 2UGHULQJURZVDQGFROXPQVIURPWKH6HOHFW2EMHFWVGLDORJER[ You can change the order of rows and columns from the Select Objects dialog box using the move buttons in the lower part of the dialog box. Thus, you can order all columns and rows at a time. v 7RRUGHUURZVDQGFROXPQVIURPWKH6HOHFW2EMHFWVGLDORJER[ 1 Open the Select Objects dialog box from the CRUD matrix. 2 Click a tab in the lower part of the dialog box to display the corresponding list of objects. 3 Click an object then click a move button until the object reaches the position you want. 4 Click OK to close the Select Objects dialog box. The object in row or column is moved to the appropriate position. 0RGLI\LQJ&58'YDOXHV You can modify the CRUD values of a CRUD matrix. The link between a process and a resource in a Resource CRUD matrix is established by a resource flow. When you modify CRUD values in a Resource CRUD matrix, you modify the CRUD values of the resource flow between the process and the resource. The link between a process and a data in a Data CRUD matrix is defined in the Data page of the process property sheet. When you modify CRUD values in a Data CRUD matrix, you modify the CRUD values of the data assigned to the process in the process property sheet. CRUD values are displayed in the cells of the matrix, but are only modifiable from the Current Cell Value groupbox located in the lower part of the CRUD Matrix dialog box. You cannot multi-select cells to modify their CRUD values. BPM User s Guide

132 'HILQLQJWKH&58'PDWUL[LQDQDQDO\VLV%30 The following CRUD values are available in a CRUD matrix: Create Read Update Delete v 7RPRGLI\&58'YDOXHV 1 Open a CRUD matrix. 2 Click the cell that corresponds to the resource flow or the process that contains the data access mode whose CRUD values you want to modify. The corresponding CRUD values in the Current Cell Value groupbox appear. 3 Select or deselect check boxes according to your needs. The CRUD values automatically reflect the changes in the corresponding cell in the matrix. 4 Click OK to close the matrix. Changes automatically appear graphically in the diagram for the resource flow when required. The Access Mode groupbox of the resource flow property sheet changes accordingly or the CRUD values in the Data page of the process property sheet change accordingly. PowerDesigner

133 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO 'HILQLQJUHVRXUFHVLQDQDQDO\VLV%30 A UHVRXUFH is similar to a data store. It can be a data, a document, a database, a component, or an executable. It is a special asset that a process can use. You access data stored in the resource using the resource flow object. $ For more information on the resource flow, see section Defining resource flows in an analysis BPM. You are not allowed to create shortcuts of a resource. Resources are not available in the executable and collaborative Business Process Models. 5HVRXUFHSURSHUWLHV You can double-click any resource symbol in a diagram to display its properties. 3URSHUW\ Name Code Comment Stereotype 'HVFULSWLRQ Name of the resource Reference name of the resource Descriptive comment for the resource Sub-classification used to extend the semantics of an object without changing its structure; it can be predefined or user-defined Stereotype You can select a predefined stereotype from the dropdown listbox. You can also type stereotypes directly in the Stereotype column of the object property sheet or select a value from the dropdown listbox if you have previously defined stereotypes in an embedded or imported extended model definition (.XEM) or in the process language. $ For more information on extended model definitions, see section Working with extended model definitions in chapter Managing Objects in the *HQHUDO)HDWXUHV*XLGH. BPM User s Guide

134 'HILQLQJUHVRXUFHVLQDQDQDO\VLV%30 &UHDWLQJDUHVRXUFH There are several ways to create a resource: From a diagram From the Browser From the list of resources At creation, a resource has a default name including a number, this number is assigned in the order of creation. $ For more information on the different ways to create a resource, see section Creating an object in chapter Managing Objects in WKH*HQHUDO )HDWXUHV*XLGH. v 7RFUHDWHDUHVRXUFHIURPDGLDJUDP 1 Click the Resource tool. 2 Click anywhere in the diagram. The following symbol appears at the click position: 3 Click the Pointer tool. RU Click the right mouse button. You release the Resource tool. 4 Double-click the resource symbol to display the resource property sheet. PowerDesigner

135 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO 5 Type a name and a code. 6 Click OK. 0RGLI\LQJUHVRXUFHSURSHUWLHV You can modify the resource properties using the following methods: From the resource property sheet From the list of resources $ For more information on the different ways to modify the resource properties, see section Modifying object properties in chapter Managing Objects in the *HQHUDO)HDWXUHV*XLGH. 0RGLI\LQJWKHUHVRXUFHGLVSOD\SUHIHUHQFH You can modify the following display preference for a resource using the Tools Display Preferences command: 3UHIHUHQFH Show stereotype 'HVFULSWLRQ Displays the stereotype of the resource BPM User s Guide

136 'HILQLQJUHVRXUFHIORZVLQDQDQDO\VLV%30 'HILQLQJUHVRXUFHIORZVLQDQDQDO\VLV%30 A UHVRXUFHIORZ allows a process to access a resource. The resource flow link is represented as a dashed line with a direction (arrow): Access modes The access mode to a resource determines the resource flow direction. When the resource flow comes from the process, the access to a resource can be of the following types: Create, Update, or Delete. The following schema illustrates a resource flow coming from a process indicating that the process creates, updates or deletes data contained in the resource depending on the access modes selected: When the resource flow comes from the resource, the access to a resource is always Read. The following schema illustrates a resource flow coming from a resource indicating that the data contained in the resource are read by the process: If you select several access modes on a resource flow ; Read access together with one or several other access modes (Create, Update, Delete), the flow looks as follows: PowerDesigner

137 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO Two resource flows can be defined between the same process and resource (SDUDOOHOUHVRXUFHIORZV). Message format You can associate a message format to the resource flow in case of data exchange between a process and a resource, in order to define the type of the accessed data. With the Check Model feature you can verify the coherence between the message format defined in the resource flow and the message format accepted by the process. $ For more information on message formats, see section Defining message formats in an analysis BPM $ For more information on the Check Model feature, see chapter Working with Business Process Models. 'UDJJLQJDUHVRXUFHIORZWRDGLIIHUHQWREMHFW You change the object at either end of a resource flow by clicking the resource flow to select it, holding the CTRL key down, and dragging one of the attach points to a different object. Constraints on resource flows The following constraints apply to resource flows: 5HIOH[LYHIORZV only exist on processes (same source and destination process) A resource flow cannot link shortcuts 2EMHFWYLVLELOLW\LQPRGHO When you change the process language of a model, you may see new objects appear or disappear in you model. Some objects are hidden in some target process languages in order to simplify the interface of your model (for example business rules) or because they simply do not make sense in your model (for example resource flows in the executable BPM). The object visibility is defined in the Profile category of the process language or extended model definition attached to the model. For more information, see section Excluding a metaclass from a model in chapter Managing Profiles, in the Advanced User Documentation. BPM User s Guide

138 'HILQLQJUHVRXUFHIORZVLQDQDQDO\VLV%30 5HVRXUFHIORZSURSHUWLHV You can double-click any resource flow symbol in a diagram to display its properties. 3URSHUW\ Name Code Comment Process Resource Stereotype Message format Access mode 'HVFULSWLRQ Name of the resource flow Reference name of the resource flow Descriptive comment for the resource flow One extremity of the resource flow (process). You can click the Properties tool beside this box to display the process property sheet Other extremity of the resource flow (resource). You can click the Properties tool beside this box to display the resource property sheet Sub-classification used to extend the semantics of an object without changing its structure; it can be predefined or user-defined Abstract definition of data exchanged between a resource and a process Way to access data. Defines the resource flow direction 0HVVDJHIRUPDWRIWKHUHVRXUFHIORZ You can choose one of the following values: 0HVVDJHIRUPDW None Undefined 'HVFULSWLRQ When selected, it indicates that you do not want any message format for your flow as the event is of minor importance When selected, it indicates that message formats will be defined later You can click the Create tool beside the Message Format dropdown listbox to create a message format for your flow. PowerDesigner

139 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO $FFHVVPRGH Access modes determine the direction of the resource flow. You can choose one of the following access modes to access data in a resource: 'LUHFWLRQ Resource to process Process to resource $FFHVV0RGH Read Create, Update, Delete &RQGLWLRQSDJHRIWKHUHVRXUFHIORZ A condition is a parameter that applies to a resource flow. When there are several flows, each condition is evaluated in order to choose the one the resource flow will transit on. The Condition page defines the nature of the condition attached to a resource flow. The Condition page contains the following parameters: 3DUDPHWHU Alias Editor 'HVFULSWLRQ Summarizes the condition attached to a resource flow. It is recommended to write an alias (short editor) when using a long condition in order to display the alias instead of the condition in the diagram Details the condition. For example, you can write information on the condition to execute, as well as open, insert and save any text files containing valuable information Whatever the direction of the resource flow, the condition is displayed near the process symbol as shown below: 2SHQLQJWKH&RQGLWLRQSDJH You can open the Condition page by right-clicking the resource flow symbol in the diagram, and selecting Condition from the contextual menu. BPM User s Guide

140 'HILQLQJUHVRXUFHIORZVLQDQDQDO\VLV%30 'DWDSDJHRIWKHUHVRXUFHIORZ A data represents an information exchanged between business processes and transported by a flow. It is different from the message format that represents the description format of all the data exchanged. The Data page allows you to select data that will be transported by the resource flow from a selection list. You can view in the diagram the list of data transported by a resource flow by selecting Tools Display Preferences Resource Flow and select the Show Data List check box. The list of data appears on the flow in the diagram. $ For more information on how to select data for a resource flow, see section Selecting data for a flow or a message format. &UHDWLQJDUHVRXUFHIORZ There are several ways to create a resource flow: From a diagram From the Browser From the list of resource flows At creation, a resource flow has a default name including a number, this number is assigned in the order of creation. When you create a resource flow from the Browser or from the list of resource flows, you must previously define a process object and a resource object for the resource flow. $ For more information on the different ways to create a resource flow, see section Creating an object in chapter Managing Objects in WKH*HQHUDO )HDWXUHV*XLGH. v 7RFUHDWHDUHVRXUFHIORZIURPDGLDJUDP 1 Click the Flow/Resource Flow tool. 2 Click inside the process and while continuing to hold down the mouse button, drag the cursor to the resource. Release the mouse button inside the resource. The access mode is Update by default. RU Click inside the resource and while continuing to hold down the mouse button, drag the cursor to the process. Release the mouse button inside the process. The access mode is Read by default. PowerDesigner

141 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO The resource flow link appears between the process and the resource. 'UDJJLQJDUHVRXUFHIORZWRDGLIIHUHQWSURFHVVRUUHVRXUFH You change the process or resource at either end of a resource flow by clicking the resource flow to select it, holding the CTRL key down, and dragging one of the attach points to a different process or resource. 3 Click the Pointer tool. RU Click the right mouse button. You release the Flow/Resource Flow tool. 4 Double-click the resource flow in the diagram to display its property sheet. 2SHQLQJWKHSURSHUW\VKHHWRIREMHFWVDWHQGV You can open the property sheet of the process and resource objects by clicking the Process and Resource buttons located in the upper part of the resource flow property sheet. BPM User s Guide

142 'HILQLQJUHVRXUFHIORZVLQDQDQDO\VLV%30 5 Type or select resource flow properties as required in the tabbed pages. 6 Click OK. 'LVSOD\LQJUHVRXUFHIORZVIURPWKHSURFHVVRUUHVRXUFHSURSHUW\ VKHHWV Resource flows linked to a resource or a process are also displayed in the process or resource property sheet. You can display those resource flows from the Resource Flows tabbed page of their Dependencies page. 0RGLI\LQJUHVRXUFHIORZSURSHUWLHV You can modify the resource flow properties using the following methods: From the resource flow property sheet From the list of resource flows $ For more information on the different ways to modify the resource flow properties, see section Modifying object properties in chapter Managing Objects in the *HQHUDO)HDWXUHV*XLGH. PowerDesigner

143 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO 0RGLI\LQJWKHUHVRXUFHIORZGLVSOD\SUHIHUHQFHV You can modify the following display preferences for a resource flow using the Tools Display Preferences command: 3UHIHUHQFH Show stereotype Show message format symbol Show Data List Show name None 'HVFULSWLRQ Displays the stereotype of the resource flow Displays the symbol of the message format for the resource flow Displays the list of data for the resource flow Displays the name of the resource flow Displays nothing on the resource flow Except for the Show stereotype preference, which is a check box, all other preferences are mutually exclusive. BPM User s Guide

144 'HILQLQJGHFLVLRQVLQDQDQDO\VLV%30 'HILQLQJGHFLVLRQVLQDQDQDO\VLV%30 A GHFLVLRQ specifies which alternate path has to be taken when several flow paths are possible. It can have one or more incoming flows and one or more outgoing flows, each labeled with a distinct guard condition. The global process of a decision is based on some defined editors that direct the control flow towards the valid flow by dynamically evaluating guard conditions. A JXDUGFRQGLWLRQ is a condition that must be satisfied for an associated flow to execute some action. Across all these flows, guard conditions should not overlap to avoid ambiguity but they should cover all possibilities to avoid global process freeze. 'HFLVLRQFUHDWLRQLQDFROODERUDWLYHRUH[HFXWDEOH%30 You cannot create a decision in the top-level diagram of a collaborative or executable BPM. For these types of models, decisions can only be created under a composite process. In executable BPM, all conditions on the outgoing flows of the decision must be of the same type (Exception or Event). $ For more information on decisions in executable BPM, see section Defining conditional branching in chapter Building an Executable BPM: Managing Data and Choreography. Applicability A decision allows you to create complex flows like: if then else switch case do while loop for next Symbol PowerDesigner

145 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO +DQGOLQJV\PEROVLQWKHGLDJUDP It is not possible to attach two flows of opposite directions to the same corner on a decision symbol. )DFWRUL]LQJFRQGLWLRQV Example If you are working with a decision, it is useful to write a condition on the decision in order to factorize the conditions attached to the flows, it allows you to simplify the global process whenever you are using long and complex conditions. Use the Condition page in the decision property sheet to write the following condition: Total * NB + VAT > Then use the Condition page in both flows property sheet: enter True in one and False in the other. The decision object is not mandatory. You can build an equivalent structure with several flows outgoing from a process with guard conditions on each flow. 'HFLVLRQSURSHUWLHVLQD%30 You can double-click any decision symbol in a diagram to display its properties. 3URSHUW\ Name Code Comment Stereotype 'HVFULSWLRQ Name of the decision Reference name of the decision Descriptive comment for the decision Sub-classification used to extend the semantics of an object without changing its structure; it can be predefined or user-defined Stereotype BPM User s Guide You can select a predefined stereotype from the dropdown listbox. You can also type stereotypes directly in the Stereotype column of the object property sheet or select a value from the dropdown listbox if you have previously defined stereotypes in an embedded or imported extended model definition (.XEM) or in the process language.

146 'HILQLQJGHFLVLRQVLQDQDQDO\VLV%30 $ For more information on extended model definitions, see section Working with extended model definitions in chapter Managing Objects in the *HQHUDO)HDWXUHV*XLGH. &RQGLWLRQSDJHLQD%30GHFLVLRQ A condition is a parameter that applies to a decision. It contains the following parameters: 3DUDPHWHU Alias Editor 'HVFULSWLRQ Summarizes the condition attached to a decision. It is recommended to write an alias (short editor) when using a long condition in order to display the alias instead of the condition in the diagram Details the condition. For example, you can write information on the condition to execute, as well as open, insert and save any text files containing valuable information 2SHQLQJWKH&RQGLWLRQSDJH You can open the Condition page by right-clicking the decision symbol in the diagram, and selecting Condition from the contextual menu. &UHDWLQJDGHFLVLRQLQD%30 There are several ways to create a decision: From a diagram From the Browser From the list of decisions At creation, a decision has a default name including a number, this number is assigned in the order of creation. $ For more information on the different ways to create a decision, see section Creating an object in chapter Managing Objects in the *HQHUDO )HDWXUHV*XLGH. v 7RFUHDWHDGHFLVLRQIURPDGLDJUDP 1 Click the Decision tool. 2 Click anywhere in the diagram. PowerDesigner

147 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO The following symbol appears at the click position: 3 Click the Pointer tool. RU Click the right mouse button. You release the Decision tool. 4 Double-click the decision symbol to display the decision property sheet. 5 Type a name and a code. 6 Click OK. 0RGLI\LQJGHFLVLRQSURSHUWLHVLQD%30 You can modify the decision properties using the following methods: From the decision property sheet From the list of decisions BPM User s Guide

148 'HILQLQJGHFLVLRQVLQDQDQDO\VLV%30 0RGLI\LQJWKHGHFLVLRQGLVSOD\SUHIHUHQFHLQD%30 You can modify the following display preference of a decision using the Tools Display Preferences command: 3UHIHUHQFH Show stereotype 'HVFULSWLRQ Displays the stereotype of the decision PowerDesigner

149 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO 'HILQLQJV\QFKURQL]DWLRQVLQDQDQDO\VLV%30 A V\QFKURQL]DWLRQ is an object that enables synchronization of control between two or more concurrent actions. It can also design a split of the control flow into several parallel paths. Its symbol is usually a thick horizontal line, like shown below, but it can also be drawn vertically. A synchronization object can have different layouts, depending on its number of input and output flows. When working with a synchronization object, you can choose to either use a fork or a join. 'HILQLQJIRUNVLQD%30 A IRUN is the splitting of an input flow into several output flows executed in parallel. It creates several concurrent branches below its symbol. The processes associated with each of these paths continue in parallel. A fork should have only one input flow and have more than one output flow. It is a complex flow within which one source process is replaced with two or more destination processes, each of which representing an independent flow. It is equivalent to several flows outgoing from a process with guard conditions on each flow. Symbol 'HILQLQJMRLQVLQD%30 A MRLQ is the synchronization of several parallel flows. It is a complex flow with two or more source processes and one destination process. A join should have more than one input flow, and have only one output flow. BPM User s Guide

150 'HILQLQJV\QFKURQL]DWLRQVLQDQDQDO\VLV%30 Symbol The processes associated with each of the paths above the join symbol are parallel. In a join, concurrent flows synchronize. Each flow waits until all input flows reach the join before continuing; the first executed flow waiting for the last one to complete. After the join, only one flow continues below the join. 6\QFKURQL]DWLRQSURSHUWLHVLQD%30 You can double-click any synchronization symbol in a diagram to display its properties. 3URSHUW\ Name Code Comment Stereotype 'HVFULSWLRQ Name of the synchronization Reference name of the synchronization Descriptive comment for the synchronization Sub-classification used to extend the semantics of an object without changing its structure; it can be predefined or userdefined A synchronization also includes the Action property, within a distinct page, that lets you define the action a synchronization executes. Action page of the synchronization An action is a parameter that applies to a synchronization. The Action page defines the nature, the type and the duration of an action that a synchronization executes. PowerDesigner

151 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO It contains the following parameters: 3DUDPHWHU Editor Timeout 'HVFULSWLRQ Details how the action is executed. Example: you can write a pseudo code or an information on the program to execute, as well as open, insert and save any text files containing valuable information If 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) &UHDWLQJDV\QFKURQL]DWLRQLQD%30 There are several ways to create a synchronization: From a diagram From the Browser From the list of synchronizations At creation, a synchronization has a default name including a number, this number is assigned in the order of creation. $ For more information on the different ways to create a synchronization, see section Creating an object in chapter Managing Objects in the *HQHUDO )HDWXUHV*XLGH. v 7RFUHDWHDV\QFKURQL]DWLRQIURPDGLDJUDP 1 Click the Synchronization tool. 2 Click anywhere in the diagram. The following symbol appears at the click position: 3 Click the Pointer tool. RU Click the right mouse button. You release the Synchronization tool. 4 Double-click the synchronization symbol to display the synchronization property sheet. BPM User s Guide

152 'HILQLQJV\QFKURQL]DWLRQVLQDQDQDO\VLV%30 5 Type a name and a code. 6 Click OK. 0RGLI\LQJV\QFKURQL]DWLRQSURSHUWLHVLQD%30 You can modify the synchronization properties using the following methods: From the synchronization property sheet From the list of synchronizations $ For more information on the different ways to modify the synchronization properties, see section Modifying object properties in chapter Managing Objects in the *HQHUDO)HDWXUHV*XLGH. 'UDZLQJWKHV\QFKURQL]DWLRQV\PEROLQD%30 The synchronization symbol is by default created horizontally. However, you can change the symbol from a horizontal to a vertical position, and conversely to better fit the layout of your diagram. PowerDesigner

153 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO 'UDZLQJDYHUWLFDOV\QFKURQL]DWLRQV\PEROLQ%30 v 7RGUDZDYHUWLFDOV\QFKURQL]DWLRQV\PERO 1 Right-click the synchronization symbol you want to modify. 2 Select Change to Vertical from the contextual menu. 'UDZLQJDQKRUL]RQWDOV\QFKURQL]DWLRQV\PEROLQD%30 v 7RGUDZDQKRUL]RQWDOV\QFKURQL]DWLRQV\PERO 1 Right-click the synchronization symbol you want to modify. 2 Select Change to Horizontal from the contextual menu. BPM User s Guide

154 'HILQLQJVWDUWVLQDQDQDO\VLV%30 'HILQLQJVWDUWVLQDQDQDO\VLV%30 A VWDUWis a starting point of the whole process represented in the business process diagram. It represents an external entry point between a process and the outside. You can create several starts within a package or a model since you can use several business process diagrams in the same model or package. You can also create graphical synonyms of a start. However, you cannot create shortcuts for a start. 6WDUWFUHDWLRQLQDFROODERUDWLYHRUH[HFXWDEOH%30 You cannot create a start in a top-level diagram for a collaborative or executable BPM. For these types of models, you can only create RQH start under a composite process. 6WDUWSURSHUWLHVLQDQDQDO\VLV%30 You can double-click any start symbol in a diagram to display its properties: 3URSHUW\ Name Code Comment Stereotype 'HVFULSWLRQ Name of the start Reference name of the start Descriptive comment for the start Sub-classification used to extend the semantics of an object without changing its structure; it can be predefined or user-defined &UHDWLQJDVWDUWLQDQDQDO\VLV%30 There are several ways to create a start: From a diagram From the Browser From the list of starts At creation, a start has a default name including a number, this number is assigned in the order of creation. PowerDesigner

155 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO $ For more information on the different ways to create a start, see section Creating an object in chapter Managing Objects in the *HQHUDO)HDWXUHV *XLGH. v 7RFUHDWHDVWDUWIURPDGLDJUDP 1 Click the Start tool. 2 Click anywhere in the diagram. The following symbol appears at the click position: 3 Click the Pointer tool. RU Click the right mouse button. You release the Start tool. 4 Double-click the start symbol to display the start property sheet. 5 Type a name and a code. 6 Click OK. BPM User s Guide

156 'HILQLQJVWDUWVLQDQDQDO\VLV%30 0RGLI\LQJVWDUWSURSHUWLHVLQDQDQDO\VLV%30 You can modify the start properties using the following methods: From the start property sheet From the list of starts $ For more information on the different ways to modify the start properties, see section Modifying object properties in chapter Managing Objects in the *HQHUDO)HDWXUHV*XLGH. 0RGLI\LQJWKHVWDUWGLVSOD\SUHIHUHQFHVLQDQDQDO\VLV%30 You can modify the following display preferences for a start using the Tools Display Preferences command: 3UHIHUHQFH Show name Show stereotype 'HVFULSWLRQ Displays the name of the start Displays the stereotype of the start When you define display preferences for a start, you automatically define them for an end also. $ For more information on defining display preferences for an end, see section Modifying the end display preferences in a BPM. PowerDesigner

157 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO 'HILQLQJHQGVLQDQDQDO\VLV%30 An HQG is a termination point of the processes described in the business process diagram. It represents an interface with the outside world. You can create several ends within a package or a model since you may use several business process diagrams in the same model or package. You can also create several ends within the same business process diagram if you want to show divergent end cases, like errors scenarios, for example: There can also be no end at all if you want to show an endless process. But a composite process must always contain one end at least. Ends support graphical synonyms. Besides you cannot create shortcuts for an end. (QGSURSHUWLHVLQD%30 You can double-click any end symbol in a diagram to display its properties: 3URSHUW\ Name Code Comment Stereotype Type 'HVFULSWLRQ Name of the end Reference name of the end Descriptive comment for the end Sub-classification used to extend the semantics of an object without changing its structure; it can be predefined or user-defined Type of the end Type BPM User s Guide Type property is used for document purposes. You can create your own type of end in the Type dropdown listbox, or you can choose one of the following values: Success Timeout

158 'HILQLQJHQGVLQDQDQDO\VLV%30 Business error Technical error Compensation &UHDWLQJDQHQGLQD%30 There are several ways to create an end: From a diagram From the Browser From the list of ends At creation, an end has a default name including a number, this number is assigned in the order of creation. $ For more information on the different ways to create an end, see section Creating an object in chapter Managing Objects in the *HQHUDO)HDWXUHV *XLGH. v 7RFUHDWHDQHQGIURPDGLDJUDP 1 Click the End tool. 2 Click anywhere in the diagram. The following symbol appears at the click position: 3 Click the Pointer tool. RU Click the right mouse button. You release the End tool. 4 Double-click the end symbol to display the end property sheet. PowerDesigner

159 &KDSWHU%XLOGLQJDQ$QDO\VLV%XVLQHVV3URFHVV0RGHO 5 Type a name and a code. 6 Click OK. 0RGLI\LQJHQGSURSHUWLHVLQD%30 You can modify the end properties using the following methods: From the end property sheet From the list of ends $ For more information on the different ways to modify the end properties, see section Modifying object properties in chapter Managing Objects in the *HQHUDO)HDWXUHV*XLGH. 0RGLI\LQJWKHHQGGLVSOD\SUHIHUHQFHVLQD%30 You can modify the following display preferences for an end using the Tools Display Preferences command: 3UHIHUHQFH Show name Show stereotype 'HVFULSWLRQ Displays the name of the end Displays the stereotype of the end BPM User s Guide

160 'HILQLQJHQGVLQDQDQDO\VLV%30 When you define display preferences for a end, you automatically define them for a start also. $ For more information on defining display preferences for a start, see section Modifying the start display preferences in an analysis BPM. PowerDesigner

161 CHAPTER 4 %XLOGLQJD&ROODERUDWLYH%XVLQHVV3URFHVV 0RGHO About this chapter This chapter describes how to build a collaborative Business Process Model (BPM). It explains the role of the main objects in a collaborative BPM. It also describes how to work with the ebxml process language. Contents 7RSLF 3DJH Defining a collaborative BPM 146 Understanding top-level diagram and top-level process in a collaborative BPM 148 Understanding the key concepts of the ebxml BPSS 150 Introducing ebxml CPA 153 Understanding the ebxml BPSS tool palette 155 Designing for ebxml BPSS 158 Generating for ebxml BPSS 169 Reverse engineering ebxml BPSS 171 Designing for ebxml CPA 172 Generating for ebxml CPA 179 BPM User s Guide

162 'HILQLQJDFROODERUDWLYH%30 'HILQLQJDFROODERUDWLYH%30 A collaborative BPM is used to design Business-to Business exchange. It displays the exchange of messages between partners in WRSOHYHO SURFHVVHV. Each top-level process can then be decomposed into a choreography that represents the sequence of message exchanges. You create a collaborative BPM using the ebxml BPSS process language. $ For more information on how to create a collaborative BPM, see section Creating a BPM in chapter Business Process Model Basics. ebxml BPSS basics PowerDesigner supports the following process languages for a collaborative BPM: ebxml BPSS v1.01 ebxml BPSS v1.04 HE;0/%366 ((OHFWURQLF%XVLQHVV;0/%XVLQHVV3URFHVV6SHFLILFDWLRQ 6FKHPD) is a global electronic business standard that allows enterprises of any size, and in any location to safely and securely transact business through the exchange of XML-based messages. The Specification Schema deals with the business process. It identifies such things as the overall business process, the roles, transactions, identification of the business documents used (the DTDs or schemas), document flows, legal aspects, security aspects, business level acknowledgements, and status. A Specification Schema can be used by a software application to configure the business details of conducting business electronically with another organization. The ebxml BPSS supports the specification of Business Transactions and the choreography of Business Transactions into Business Collaborations. A specification created using the ebxml BPSS is referred to as an ebxml Business Process Specification. This specification is a declaration of the partners, roles, collaborations, choreography and business document exchanges that make up a business process. Why building a collaborative BPM? You build a collaborative BPM to describe the collaborations between partners that are all considered at the same level. In a collaborative BPM, atomic processes correspond to a predefined message exchange between two partners. This exchange only contains a request potentially followed by a response. Atomic processes (activities) must be defined under a top-level process that represents the sequence of exchanges between partners. PowerDesigner

163 &KDSWHU%XLOGLQJD&ROODERUDWLYH%XVLQHVV3URFHVV0RGHO 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. Other common objects are defined in the analysis BPM chapter. $ For more information on common objects, see chapter Building an Analysis Business Process Model. BPM User s Guide

164 8QGHUVWDQGLQJWRSOHYHOGLDJUDPDQGWRSOHYHOSURFHVVLQDFROODERUDWLYH%30 8QGHUVWDQGLQJWRSOHYHOGLDJUDPDQGWRSOHYHO SURFHVVLQDFROODERUDWLYH%30 Top level-diagram When you create a collaborative BPM, you must always have a WRSOHYHO GLDJUDP defined under a model or a package. It represents the subject of the process model, and sets the model scope and orientation. The top-level diagram should only contain: Atomic transactions between two partners (Business Transaction) Collaborations between two partners (Binary Collaboration) Collaborations between several partners (Multiparty Collaboration) $ For more information on Business Transaction and Binary and Multiparty Collaboration, see section Understanding the key concepts of the ebxml BPSS. To design these concepts, you use the following PowerDesigner objects: Top-level processes Organization units 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, RUJDQL]DWLRQXQLWV 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 associated with operations. $ For more information on how to associate a process with an operation, see section Defining processes in an executable BPM in chapter Building an executable BPM: Managing Data and Orchestration. PowerDesigner

165 &KDSWHU%XLOGLQJD&ROODERUDWLYH%XVLQHVV3URFHVV0RGHO 9PRGHOV 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. Top-level process The WRSOHYHOSURFHVV 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 subgraph (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 $ For more information on atomic activities and orchestration elements, see section Defining processes in an executable BPM in chapter Building an executable BPM: Managing Data and Orchestration see section. BPM User s Guide

166 8QGHUVWDQGLQJWKHNH\FRQFHSWVRIWKHHE;0/%366 8QGHUVWDQGLQJWKHNH\FRQFHSWVRIWKHHE;0/ %366 The main concepts of ebxml BPSS are the following: Business Collaboration (Binary and MultiParty) Business Transaction Business Document Flow Choreography You use the ebxml BPSS specific tool palette to create Business Transactions and Business Collaborations in a BPM. $ For more information on the ebxml BPSS tool palette, see section Understanding the ebxml BPSS tool palette. Business Collaboration A %XVLQHVV&ROODERUDWLRQ consists in a set of roles that interact through %XVLQHVV7UDQVDFWLRQV by exchanging %XVLQHVV'RFXPHQWV. Business Collaboration can either be a: %LQDU\&ROODERUDWLRQbetween two roles only 0XOWL3DUW\&ROODERUDWLRQbetween more than two roles, but such MultiParty Collaborations are always a synthesis from two or more Binary Collaborations Binary Collaborations are expressed as a set of Business Activities, which can consist in conducting a Business Transaction (Business Transaction Activity) or another complete Binary Collaboration (Collaboration Activity). The business activities are sequenced in a choreography. Placing a purchase order or requesting a catalog can be an example of a Business Transaction Activity; negotiating a contract can be an example of a Collaboration Activity. The ability of a Binary Collaboration to have activities that execute other Binary Collaborations is the key to recursive compositions of Binary Collaboration, and to the re-use of Binary Collaborations. A Binary Collaboration must have exactly two associated roles (Initiating and Responding). To do so, you must define role associations in the top-level diagram. Only one start is allowed in a Binary Collaboration. Its sub-processes must always be implemented by a Business Transaction process or a Binary Collaboration process. Decision objects are not allowed and the activities must be created using ALT+drag and drop. PowerDesigner

167 &KDSWHU%XLOGLQJD&ROODERUDWLYH%XVLQHVV3URFHVV0RGHO Business Transaction 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. Each %XVLQHVV7UDQVDFWLRQ 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.,ilwvxffhhgv it may be designated as legally binding between the two partners, otherwise it governs their collaborative activity.,ilwidlov it is null and void, and each partner must relinquish any mutual claim established by the transaction. Business Document flows A business transaction is realized using %XVLQHVV'RFXPHQWIORZV between 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 %XVLQHVV3URFHVV6SHFLILFDWLRQ can point to. This schema is referenced with a message format object. BPM User s Guide

168 8QGHUVWDQGLQJWKHNH\FRQFHSWVRIWKHHE;0/%366 Choreography The %XVLQHVV7UDQVDFWLRQ&KRUHRJUDSK\ describes the ordering and transitions between business transactions or sub-collaborations within a binary collaboration. The choreography is described in the ebxml %XVLQHVV 3URFHVV6SHFLILFDWLRQ6FKHPD 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. PowerDesigner

169 &KDSWHU%XLOGLQJD&ROODERUDWLYH%XVLQHVV3URFHVV0RGHO,QWURGXFLQJHE;0/&3$ In addition to ebxml BPSS1.04 support, PowerDesigner generates optionally an ebxml &ROODERUDWLRQ3URWRFRO$JUHHPHQW (CPA) template. You perform the generation using the ebxml BPSS 1.04 process language. An ebxml Collaboration Protocol Profile defines a business partner s technical capabilities to engage in electronic business collaborations with other partners by exchanging electronic messages. An ebxml CPA documents the technical agreement between two (or more) partners to engage in electronic business collaboration. The CPA can be seen as an intersection of the collaborative partners CPP (&ROODERUDWLYH3DUWQHU3URILOH). ebxml CPA is an XML format for describing agreement information for partners that agree to collaborate. This agreement is based on the ebxml architecture. The Collaborative Partner Agreement captures critical information for communications between applications and business processes and also records specific technical parameters for conducting electronic business. Information agreed by the two parties includes BPSS documents, choreography (Requests, Responses, ordering), and parameters for exchanging messages: transport (protocol, security, addresses), document exchange (protocol, security), and message packaging. A CPA document can be produced in the following ways: Based on the same BPSS document instance, two partners negotiate technical and/or functional details of their collaboration and draw up the result in the form of a CPA 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 One trading partner registers a CPA template document based on the BPSS document and the technical parameters he can support. In this "almost complete" CPA, some items must be completed or negotiated. Other items (such as endpoint address) should be provided by another party Since PowerDesigner allows you to generate BPSS documents, it also provides the functionality to generate a CPA template. The generated CPA document cannot be directly registered; you must open it in a text editor and modify manually the parts that are in commentary. BPM User s Guide

170 ,QWURGXFLQJHE;0/&3$ $ For more information on how to design ebxml CPA concepts and produce a CPA document in PowerDesigner, see sections Designing for ebxml CPA and Generating for ebxml CPA. PowerDesigner

171 &KDSWHU%XLOGLQJD&ROODERUDWLYH%XVLQHVV3URFHVV0RGHO 8QGHUVWDQGLQJWKHHE;0/%366WRROSDOHWWH When you create a collaborative BPM, a specific tool palette corresponding to the process language you have selected appears. It allows you to rapidly create the type of collaborative objects you need. Depending on the tool you click, you display: A default composite process with a sub-process in composite view mode (Business Transaction tool and Binary Collaboration tool) A default composite process with the following message <<you can only use shortcut of binary collaboration here>> (MultiParty Collaboration) $ For more information on composite view, see section Opening the subdiagram of a composite process in chapter Building an Analysis Business Process Model. If you deselect the composite view mode in the contextual menu of these processes, you display composite processes with a stereotype corresponding to the tool you have selected. It can either be a: Business Transaction stereotype Binary Collaboration stereotype MultiParty Collaboration stereotype 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 section Defining a stereotype in chapter Managing Profiles in the $GYDQFHG 8VHU'RFXPHQWDWLRQ. 7RRO 1DPH 'HVFULSWLRQ ([DPSOH Business Transaction To create a Business Transaction BPM User s Guide

172 8QGHUVWDQGLQJWKHHE;0/%366WRROSDOHWWH 7RRO 1DPH 'HVFULSWLRQ ([DPSOH Binary Collaboration To create a Binary Collaboration MultiParty Collaboration To create a MultiParty Collaboration When you open the composite process, the ebxml BPSS tool palette is disabled. Business Transaction tool There are several tools to create a Business Transaction (BT); each one 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 PowerDesigner

173 &KDSWHU%XLOGLQJD&ROODERUDWLYH%XVLQHVV3URFHVV0RGHO Binary Collaboration tool The Binary Collaboration tool creates a Binary Collaboration process. This tool also attaches two organization units as initiating and responding roles and creates an initial choreography inside the Binary Collaboration process. You must complete the choreography by specifying a Business Transaction process for implementation. BPM User s Guide

174 'HVLJQLQJIRUHE;0/%366 'HVLJQLQJIRUHE;0/%366 This section explains how to design ebxml objects in the PowerDesigner Business process Model. 'HVLJQLQJD%XVLQHVV7UDQVDFWLRQ You design a Business Transaction using a process with a %XVLQHVV7UDQVDFWLRQ!! stereotype. The following extended attributes (accessible from the Extended Attributes page of the process property sheet) apply to the Business Transaction process. The table shows what attributes are available for ebxml BPSS 1.01 or for ebxml BPSS 1.04 process language: ([WHQGHG DWWULEXWH 'HVFULSWLRQ %366 %366 IsGuaranteedDeliver yrequired Both partners must agree to use a transport that guarantees delivery Yes Yes (true false) "false" preconditions A description of a state external to this transaction that is required before this transaction can start Yes No postconditions A description of a state that does not exist before the execution of this transaction but will exist as a result of the execution of this transaction Yes No beginswhen A description of an event external to the collaboration/transaction that normally causes this collaboration/transaction to start Yes No endswhen A description of an event external to this collaboration/transaction that normally causes this collaboration/transaction to end Yes No PowerDesigner

175 &KDSWHU%XLOGLQJD&ROODERUDWLYH%XVLQHVV3URFHVV0RGHO ([WHQGHG DWWULEXWH 'HVFULSWLRQ %366 %366 IsSecureTransportRe quired Both partners must agree to exchange business information using a secure Delivery Channel. The following security controls ensure that business document content is protected against unauthorized disclosure or modification and that business services are protected against unauthorized access. This is a point-to-point security requirement. Note that this requirement does not protect business information once it is off the network and inside an enterprise No Yes Pattern The optional name of the pattern that this business transaction is based on No Yes Requesting and Responding Business Activities The Business Transaction process is a composite process with a sub-diagram that designs the Business Signal exchanges between partners. This subdiagram contains one 5HVSRQGLQJ%XVLQHVV$FWLYLW\ (a process with <<RespondingBusinessActivity>> stereotype) and one 5HTXHVWLQJ%XVLQHVV $FWLYLW\ (a process with <<RequestingBusinessActivity>> stereotype): BPM User s Guide

176 'HVLJQLQJIRUHE;0/%366 The Signals are designed with flows between Requesting and Responding activities. The 5HFHLSW$FN!! and $FFHSWDQFH$FN!! flow stereotypes allow the design of a Receipt Acknowledgment Signal and Acceptance Acknowledgment Signal. The Request Document and Response Document are also designed with flows with message formats that design the document format. The following extended attributes (accessible from the Extended Attributes page of the process property sheet) apply to both the Requesting and Responding Business Activity processes: ([WHQGHGDWWULEXWH IsAuthorizationRequired (true false) "false" IsIntelligibleCheckRequired (true false) "false" IsNonRepudiationRequired (true false) "false" 'HVFULSWLRQ If a partner role needs authorization to request a business action or to respond to a business action, then the sending partner role must sign the business document exchanged and the receiving partner role must validate this business control and approve the authorizer. A responding partner must signal an authorization exception if the sending partner role is not authorized to perform the business activity. A sending partner must send notification of failed authorization if a responding partner is not authorized to perform the responding business activity Receiving partner role must check that a requesting document is not garbled (unreadable, unintelligible) before sending acknowledgement of receipt If non-repudiation of origin and content is required, then the business activity must store the business document in its original form for the duration mutually agreed to in a trading partner agreement. A responding partner must signal a business control exception if the sending partner role has not properly delivered their business document. A requesting partner must send notification of failed business control if a responding partner has not properly delivered their business document PowerDesigner

177 &KDSWHU%XLOGLQJD&ROODERUDWLYH%XVLQHVV3URFHVV0RGHO ([WHQGHGDWWULEXWH isnonrepudiationreceiptrequ ired (true false) "false" TimeToAcknowledgeAcceptan ce (specific to the Requesting Activity) TimeToAcknowledgeReceipt retrycount 'HVFULSWLRQ Both partners agree to mutually verify the receipt of a requesting business document and that the receipt must be non-reputable. A receiving partner must send notification of failed business control (possibly revoking a contractual offer) if a responding partner has not properly delivered its business document. Non-repudiation of receipt provides the following audit controls: 9HULI\UHVSRQGLQJUROHLGHQWLW\ (authenticate) Verify the identity of the responding role (individual or organization) that received the requesting business document 9HULI\FRQWHQWLQWHJULW\ Verify the integrity of the original content of the business document request The time a receiving role has to nonsubstantively acknowledge business acceptance of a business document The time a receiving role has to acknowledge receipt of a business document Business level retries. For requesting business activity and available only for BPSS 1.04 )ORZ A specific ebxml tool palette allows you to directly create a Business Transaction composite process in the current diagram and initialize the composite process with the Requesting and Responding Activities. The following table summarizes the distinct flows that exist between the Requesting and the Responding Activity: 5HTXHVW 'RFXPHQW 5HVSRQVH 'RFXPHQW 5HFHLSWRQ 5HVSRQVH $FFHSWDQFH RQ5HVSRQVH Without response Yes No No No No Default Yes Yes No No No With receipt on response With receipt and acceptance on response Yes Yes Yes No No Yes Yes Yes Yes No Full Yes Yes Yes Yes Yes 5HFHLSWRQ 5HTXHVW BPM User s Guide

178 'HVLJQLQJIRUHE;0/%366 Document Envelope A 'RFXPHQW(QYHORSH 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 page of the message format property sheet) apply to the Document Envelope: ([WHQGHGDWWULEXWH DocTypeDocumentation IsPositiveResponse isauthenticated (true false) "false" isconfidential (true false) "false" istamperproof (true false) "false" 'HVFULSWLRQ Documentation of DocumentType If TRUE the Document Envelope is intended as a positive response to the request. This parameter is only relevant on the response envelope There is a digital certificate associated with the document entity. This provides proof of the signatory identity The information entity is encrypted so that unauthorized parties cannot view the information The information entity has an encrypted message digest that can be used to check if the message has been tampered with. This requires a digital signature (sender s digital certificate and encrypted message digest) associated with the document entity 'HVLJQLQJD%LQDU\&ROODERUDWLRQ You design a Binary Collaboration using a process with a %LQDU\&ROODERUDWLRQ!! stereotype. Organization units design the initiating and responding roles of the Binary Collaboration. They are linked to the process using roles associations. ([DPSOH: PowerDesigner

179 &KDSWHU%XLOGLQJD&ROODERUDWLYH%XVLQHVV3URFHVV0RGHO The following extended attributes (accessible from the Extended Attributes page of the process property sheet) apply to the Binary Collaboration process: ([WHQGHG $WWULEXWH Pattern preconditions postconditions beginswhen endswhen 'HVFULSWLRQ Optional name of the pattern on which this binary collaboration is based Description of a state external to this collaboration/transaction that is required before this collaboration/transaction ends Description of a state that does not exist before the execution of this collaboration/transaction but will exist as a result of the execution of this collaboration/transaction Description of an event external to the collaboration/transaction that normally causes this collaboration/transaction to start Description of an event external to this collaboration/transaction that normally causes this collaboration/transaction to end Choreography The Binary Collaboration is a composite process with a sub-diagram designing the FKRUHRJUDSK\: BPM User s Guide

180 'HVLJQLQJIRUHE;0/%366 The choreography is a sequence of activities, which can be: A Business Transaction Activity. It specifies the use of a shared Business Transaction in the context of a Binary Collaboration and is designed with a process with the <<BusinessTransactionActivity>> stereotype. This Business Transaction Activity process references the Business Transaction process using the Implemented By attribute that you access by selecting Reuse Process in the Type dropdown listbox of the Implementation page in the Business Transaction Activity process property sheet: PowerDesigner

181 &KDSWHU%XLOGLQJD&ROODERUDWLYH%XVLQHVV3URFHVV0RGHO A Collaboration Activity. It specifies the use of a shared Binary Collaboration in the context of another Binary Collaboration. It is designed with a process with the <<CollaborationActivity>> stereotype. This Collaboration Activity process references the Binary Collaboration process using the Implemented By attribute that you access by selecting Reuse Process in the Type dropdown listbox of the Implementation page in the Business Transaction Activity process property sheet: The following extended attributes (accessible from the Extended Attributes page of the process property sheet) apply to the Business Transaction Activity process. The table shows what attributes are available for ebxml BPSS 1.01 or for ebxml BPSS 1.04 process language: ([WHQGHG DWWULEXWH 'HVFULSWLRQ %366 %366 isconcurrent (true false) "false" If the business transaction activity is concurrent, then more than one business transaction can be opened at a time. If the business transaction activity is not concurrent, then only one business transaction activity can be opened at a time Yes Yes BPM User s Guide

182 'HVLJQLQJIRUHE;0/%366 ([WHQGHG DWWULEXWH 'HVFULSWLRQ %366 %366 islegallybinding (true false) "true" The Business Transaction performed by this activity is intended by the trading parties to be binding. Default value is True Yes Yes issynchronous (true false) "false" The Business Transaction is intended to be performed by this activity in a synchronous way Yes Yes preconditions A description of a state external to this transaction that is required before this transaction can start No Yes postconditions A description of a state that does not exist before the execution of this transaction but will exist as a result of the execution of this transaction No Yes beginswhen A description of an event external to the collaboration/transaction that normally causes this collaboration/transaction to start No Yes endswhen A description of an event external to this collaboration/transaction that normally causes this collaboration/transaction to end No Yes 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. PowerDesigner

183 &KDSWHU%XLOGLQJD&ROODERUDWLYH%XVLQHVV3URFHVV0RGHO Flow The flows in the choreography specify transitions between activities. The following extended attributes (accessible from the Extended Attributes page of the flow property sheet) apply to the flow: ([WHQGHGDWWULEXWH oninitiation (true false) "false" expressionlanguage conditionguard 'HVFULSWLRQ Used to specify a nested BusinessTransactionActivity and a second transaction is performed before returning to this transaction to send the response back to the original requestor Specifies the language in which the condition expression has been written The condition that guards the transition. This attribute is available only for model with BPSS 1.04; it can take one of the following values: ProtocolSuccess, AnyProtocolFailure, RequestReceiptFailure, RequestAcceptanceFailure, ResponseReceiptFailure, ResponseAcceptanceFailure, SignalTimeout, ResponseTimeout, BusinessSuccess, BusinessFailure, Success, Failure. (For BPSS 1.01, the type of the flow indicates the condition) 'HVLJQLQJD0XOWL3DUW\&ROODERUDWLRQ You design a MultiParty Collaboration using a process with a <<MultiPartyCollaboration>> stereotype. BPM User s Guide

184 'HVLJQLQJIRUHE;0/%366 The MultiParty Collaboration process is a composite process with a subdiagram describing the synthesis of Binary Collaborations and Business Partner Roles: This sub-diagram uses organization units to design the Business Partner Roles and role associations to design the Performs link between organization units and processes. The processes used in this MultiParty Collaboration diagram are Binary Collaboration processes. We use shortcuts of processes to reuse Binary Collaborations defined under another package or model. PowerDesigner

185 &KDSWHU%XLOGLQJD&ROODERUDWLYH%XVLQHVV3URFHVV0RGHO *HQHUDWLQJIRUHE;0/%366 This section explains some of the features of the ebxml process language in order to generate ebxml BPSS files in the BPM. 6HOHFWLQJHE;0/JHQHUDWLRQRSWLRQV You can set the following options, available from the Options page of the Generation dialog box in ebxml: 2SWLRQ Generate description Default file name Use XPaths Use relative paths Generate SchemaRef Generate NameIDs Generate CPA Template 'HVFULSWLRQ Allows the generation of Process Description attribute as an ebxml documentation tag Defines the default name of the file to generate Allows the generation of XPaths when a BPSS document references Business Transactions (BT) or Binary Collaborations (BC). When this option is set to False, the BT or BC is referenced by its name only 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 location 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 Enables the generation of the XML schema namespace in BPSS document Enables the generation of the nameid for each element of the BPSS document Enables the generation of a second file that contains a template for CPA associated with ebxml BPSS BPM User s Guide

186 *HQHUDWLQJIRUHE;0/%366 *HQHUDWLQJHE;0/%366ILOHV The generated files have the.xml extension. v 7RJHQHUDWHHE;0/%366ILOHV 1 Select Language Generate ebxml Code to display the ebxml generation dialog box. 2 Type a destination directory for the generated file in the Directory box. RU Click the Select a Path tool 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 to display the corresponding page. 5 Select the objects to include in the generation from the tabbed pages at the bottom of the page. 6HOHFWLRQWRROV 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 dropdown listbox to modify the selection. The Include Sub-Packages tool allows you to include all objects located within packages. 6 Click the Options tab to display the Options page. 7 Select a value for each required option. 8 Click OK to generate. A Progress box appears. 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 ebxml files are generated in the destination directory. PowerDesigner

187 &KDSWHU%XLOGLQJD&ROODERUDWLYH%XVLQHVV3URFHVV0RGHO 5HYHUVHHQJLQHHULQJHE;0/%366 You can reverse engineer from an XML file an ebxml Business Process Specification Schema (BPSS) and build a Business Process Model from it. The supported versions of the Business Process Specification Schema are 1.01 and v 7RUHYHUVHHQJLQHHUHE;0/%366ILOHV 1 Select Language Reverse Engineer ebxml BPSS File to display the Reverse ebxml BPSS File dialog box. 2 Click the Add button in the Selection page to display a standard Open dialog box. 3 Select the.xml files you want to reverse and click Open. 0XOWLVHOHFWLRQ 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 appears. If the model in which you are reverse engineering already contains data, the Merge Models dialog box appears. $ For more information on merging models, see section Merging Models, in chapter Comparing and Merging Models in the *HQHUDO )HDWXUHV*XLGH. 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 page of the Output window, located in the lower part of the main window. 5HYHUVHHQJLQHHULQJLQDQHZ%30 You can also reverse engineer ebxml BPSS files from the File menu and create a new BPM. For more information, see chapter Reverse Engineering in a BPM. BPM User s Guide

188 'HVLJQLQJIRUHE;0/&3$ 'HVLJQLQJIRUHE;0/&3$ This section explains how to design ebxml CPA objects in the PowerDesigner Business process Model. The ebxml CPA document is an option in the ebxml BPSS generation. Since an ebxml CPA document is based on a BPSS document, the two documents share some parameters such as roles, business transaction activities, or business transactions characteristics (business actions, business documents and messages ordering, times to acknowledge receipt, times to acknowledge acceptance). However, CPA values often override BPSS values. Since PowerDesigner generates either BPSS or CPA documents from the same Business Process Model, the shared items have the same value. In order to save BPSS and CPA values separately, you can: Design a BPM to generate a BPSS document 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. PowerDesigner

189 &KDSWHU%XLOGLQJD&ROODERUDWLYH%XVLQHVV3URFHVV0RGHO 'HVLJQLQJDSDUWQHUVLGHQWLILFDWLRQ In ebxml CPA, a trading partner is designated as a party to the agreement, and identified with a party Id. The generated CPA template always includes two parties. Each party can play more than one role defined by the BPSS document on the Binary Collaborations. To define the characteristics of the two parties and some shared parameters (CPA Id, Start and End time, Status, conversation constraints), you can use the following extended attributes available from the model property sheet: ([WHQGHGDWWULEXWH PartyInfo1ID, PartyInfo2ID PartyInfo1Name, PartyInfo2Name PartyRef1, PartyRef2 PartyInfo1defaultMshChannelId, PartyInfo2defaultMshChannelId PartyInfo1defaultMshPackageId, PartyInfo2defaultMshPackageId cpaid hrefbpss Start, End Status ConversationConstraints_invocation Limit, ConversationConstraints_concurrent Conversations 'HVFULSWLRQ Identifier of the party Name of the party Reference to more detailed information on the party Default Delivery channel used by the party to exchange the messages Default message Packaging used by the party An ID of the CPA document Reference to the BPSS document The Start and End time define how long the agreement is valid Defines the status of agreement. By default it is proposed. It can be agreed or signed Place limits on the number of conversations under the CPA 'HVLJQLQJ&DQ6HQG&DQ5HFHLYHDFWLRQV Flow objects define Business Documents and signals exchanged during the Business Transaction. Consequently each flow can be generated as CanSend or CanReceive element depending on whether the party is the Requester or the Receiver of the message. BPM User s Guide

190 'HVLJQLQJIRUHE;0/&3$ The following extended attributes (accessible from the Extended Attributes page of the flow property sheet) apply to the flow. They represent mainly three technical parameters: actions, delivery channels and the message packaging used by the sender and the receiver. Since these parameters can be different in the sender and the receiver side, PowerDesigner associates two extended attributes to each parameter. ([WHQGHGDWWULEXWH ReceiverActionID, SenderActionID ReceiverActionName, SenderActionName ReceiverChannelID, SenderChannelID ReceiverPackageID, SenderPackageID isauthenticated, isconfidential, istamperproof 'HVFULSWLRQ ID of the Receive/Send action Name of the Receive/Send action Delivery channel used by the Receiver/Sender to receive/send the message. The value references the name of a resource object having <<DeliveryChannel>> stereotype Id of the Message packaging used by the receiver/sender. This packaging is not defined by a resource object but will be generated as Packaging template. Receiver and Sender often use the same Packaging Attributes defined only on the flows representing an acknowledgement The Action identification parameters Sender/ Receiver Action ID and Name are not required. Indeed PowerDesigner generates a default ID by combining the name of the Requesting or Responding business activity and a default string. This default string can be: Send or Receive for the business document (Purchase Order Request Action_Send_ID) ReceiptAck or AcceptanceAck for business signals (Purchase Order Request Action_Receive_ReceiptAck_ID) The Sender/Receiver message packaging ID is the string that represents the reference to one packaging element in the CPA. PowerDesigner uses this ID to generate a default packaging template. The Sender/Receiver channel ID references a detailed delivery channel that should have been defined by a resource object having <<Delivery Channel>> as stereotype. PowerDesigner

191 &KDSWHU%XLOGLQJD&ROODERUDWLYH%XVLQHVV3URFHVV0RGHO 'HVLJQLQJD'HOLYHU\&KDQQHO You design a Delivery Channel using a resource with a <<DeliveryChannel>> stereotype. The name of this object constitutes the Id of the Delivery Channel element. If at least, one CanSend/CanReceive action references the Id of the Delivery Channel, then the generation function produces a corresponding Delivery Channel in the CPA template. The following extended attributes (accessible from the Extended Attributes page of the resource property sheet) apply to the Delivery Channel: ([WHQGHGDWWULEXWH DocExchange Transport MsgCharacteristicsSyncReplyMode MsgCharacteristicsAckRequested MsgCharacteristicsDuplicateEliminat ion MsgCharacteristicsAckSignatureReq uested actor 'HVFULSWLRQ References a DocExchange element References a Transport element that should be defined by using a Resource object having <<Transport>> stereotype Possible values are: mshsignalsonly, responseonly, signalsandresponse, signalsonly, or none. With a value different from "None", it indicates what the sending application expects in a synchronous response. This parameter impacts the generation of the sequence of actions in the CPA Possible values are: always, never, or permessage Possible values are: always, never, or permessage Possible values are: always, never, or permessage Possible values are: urn:oasis:names:tc:ebxmlmsg:actor:nextmsh or urn:oasis:names:tc:ebxmlmsg:actor:topartymsh The extended attribute MsgCharacteristicsSyncReplyMode on the resource object with <<DeliveryChannel>> stereotype impacts the sequence of actions in the CPA. BPM User s Guide

192 'HVLJQLQJIRUHE;0/&3$ With a value different from None, PowerDesigner generates: A CanReceive element (Receive action) for the party receiving a business document A nested CanSend elements (Send action) to express that the requests and responses are synchronized The nested CanSend elements can represent: Send signal actions (signalsonly) Send response document actions (responseonly) Send signal actions and Send response document actions (signalsandresponse) If the MsgCharacteristicsSyncReplyMode attribute is None, the CanSend actions using the Delivery Channel are not nested in the CanReceive element. With a value different from None, the Sender and the Receiver must use the same channel Id (SenderChannelId and ReceiverChannelID attributes on the flow must reference the same resource with a <<DeliveryChannel>> stereotype). 'HVLJQLQJD7UDQVSRUWHOHPHQW You design a Transport element using a resource with a <<Transport>> stereotype. The name of this object is the Id of the Transport element. If the name of the resource object with a <<Transport>> stereotype is referenced by a Delivery Channel object, then the generation function produces a corresponding Transport element in the CPA template. PowerDesigner

193 &KDSWHU%XLOGLQJD&ROODERUDWLYH%XVLQHVV3URFHVV0RGHO The following extended attributes (accessible from the Extended Attributes page of the resource property sheet) apply to the Transport element. These attributes allow you to define technical parameters related to the Transport element. PowerDesigner generates CPA Transport element when a <<DeliveryChannel>> resource object references the corresponding resource objects: ([WHQGHGDWWULEXWH SenderTransport_AccessAuthenticati on ReceiverTransport_AccessAuthenticat ion ReceiverTransport_Endpoint ReceiverTransport_Endpoint_type SenderTransport_Protocol ReceiverTransport_Protocol SenderTransport_Protocol_Version ReceiverTransport_Protocol_Version SenderTransport_TransportClientSec urity_transportsecurityprotocol ReceiverTransport_TransportServerS ecurity_transportsecurityprotocol SenderTransport_TransportClientSec urity_transportsecurityprotocol_ver sion ReceiverTransport_TransportServerS ecurity_transportsecurityprotocol_v ersion 'HVFULSWLRQ Values: basic (default) or digest. Sender Transport Access Authentication Receiver Transport Access Authentication ReceiverTransport Endpoint (URI address) Values: allpurpose (default), login, request, response, or error. Type of the ReceiverTransport Endpoint Value: HTTP. SenderTransport_Protocol Receiver Transport Protocol Value: 1.1. SenderTransport_Protocol_Version Version of the ReceiverTransport Protocol Value: SSL. SenderTransport_TransportClientSecuri ty_transportsecurityprotocol ReceiverTransport_TransportServerSec urity_transportsecurityprotocol Value: 3.0. SenderTransport_TransportClientSecuri ty_transportsecurityprotocol_version ReceiverTransport_TransportServerSec urity_transportsecurityprotocol_versi on BPM User s Guide

194 'HVLJQLQJIRUHE;0/&3$ ([WHQGHGDWWULEXWH SenderTransport_TransportClientSec urity_clientcertificateref ReceiverTransport_TransportServerS ecurity_servercertificateref SenderTransport_TransportClientSec urity_serversecuritydetailsref ReceiverTransport_TransportServerS ecurity_clientsecuritydetailsref 'HVFULSWLRQ SenderTransport_TransportClientSecuri ty_clientcertificateref ReceiverTransport_TransportServerSec urity_servercertificateref SenderTransport_TransportClientSecuri ty_serversecuritydetailsref Receiver Transport TransportServerSecurity ClientSecurityDetailsRef 8QVXSSRUWHGFRQFHSWV 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 All DocExchange and Packaging elements referenced by CanSend/CanReceive elements and deliverychannel are generated. The generated XML code constitutes a sample code that you should modify. For the remaining elements, PowerDesigner generates a sample code brought from the ebxml CPA-CPP specification. PowerDesigner

195 &KDSWHU%XLOGLQJD&ROODERUDWLYH%XVLQHVV3URFHVV0RGHO *HQHUDWLQJIRUHE;0/&3$ Generating a CPA template document is an option in ebxml BPSS generation. You generate a CPA template file the same way as you generate an ebxml BPSS file. Before you start the generation process, you must set the Generate CPA Template option to true in the Options tab of the Generation dialog box. $ For more information on generation options, see section Selecting ebxml generation options. BPM User s Guide

196 *HQHUDWLQJIRUHE;0/&3$ PowerDesigner

197 CHAPTER 5 %XLOGLQJDQ([HFXWDEOH%30:RUNLQJZLWK 6HUYLFH'HVFULSWLRQ2EMHFWV About this chapter Audience Contents This chapter describes how to represent the invocation of external services using service description objects in an executable Business Process Model, the role of each of these objects and how to create and modify them. This chapter is primarily directed to anyone, who is already familiar with Web services, as it does not explain the required concepts and technologies in an exhaustive manner. It is intended to guide you through the use of the executable BPM to help you represent Web services. 7RSLF 3DJH Defining an executable BPM 182 Importing WSDL in an executable BPM 185 Importing and exporting an OOM in an executable BPM 191 Defining service providers 196 Defining service interfaces 200 Defining operations in an executable BPM 204 Defining message formats in an executable BPM 211 Defining message parts in an executable BPM 213 BPM User s Guide

198 'HILQLQJDQH[HFXWDEOH%30 'HILQLQJDQH[HFXWDEOH%30 The executable BPM allows you to retrieve the work performed at the analysis level and to refine it by specifying the implementation of atomic processes. The executable BPM focuses on the LPSOHPHQWDWLRQ of one side of the collaboration in a collaborative BPM. It focuses on the execution of distributed components. You use the executable BPM to design a process internal to an organization. The executable BPM is a choreography of different activities. The main activity is the invocation of external services that can be: The call of a stored procedure in a database The call of a component in an application server The exchange of a message with an external partner The executable BPM can help you reduce implementation time. It is a bridge to your choice of implementation environment, as it allows you to generate XML formats or code artifacts for specific process engines. You will not have to redefine the BPM again within the target process engine. The BPM can be executed using generation targets that describe the business process in a way the required engine can process it. Supported generation targets In the executable BPM, the following generation target are supported: BPEL4WS 1.1 Sybase Integration Orchestrator 4.0 %3(/:6 (Business Process Execution Language for Web services) is a public XML-based workflow definition language that allows businesses to describe processes that can both consume and provide Web services. Essentially, BPEL4WS is a common construct for addressing business process semantics within a heterogeneous enterprise and among diverse external business partners. $ For more information BPEL4WS, a bibliography is proposed in the About this book section of this manual. 6\EDVH,QWHJUDWLRQ2UFKHVWUDWRU is a proprietary assembling tool for application integration and Web services. With this tool, companies rapidly integrate systems and can access, analyze and act-upon information from a variety of sources. PowerDesigner

199 &KDSWHU%XLOGLQJDQ([HFXWDEOH%30:RUNLQJZLWK6HUYLFH'HVFULSWLRQ2EMHFWV Why building an executable BPM? It allows you to easily integrate your business activities with those of your partners, disregarding the specific development platform each party has chosen to use and to focus on business solution. The executable BPM corresponds to the implementation phase of the business process modeling. This phase occurs once your BPM is validated, optimized, and that you know exactly what to do to implement the process. Each step within the process corresponds to a single business activity that is implemented as an interaction with a Web service. For each given activity, you need to check whether you can reuse an existing distributed component to accomplish it. If yes, you import the corresponding WSDL in the case of a Web service If not, you create a component in the OOM then import it in the BPM $ For more information on how to retrieve web services in a BPM, see section Importing WSDL in an executable BPM. You can then represent the retrieved Web services using VHUYLFHGHVFULSWLRQ REMHFWV. These objects do not have any graphical symbol in the diagram. $ For more information on service description objects, see sections Defining service providers, Defining service interfaces, and Defining operations in an executable BPM. BPM User s Guide

200 'HILQLQJDQH[HFXWDEOH%30 For the Web service to be properly used by the process (or activity) that calls it, you have to define specific properties in the process property sheet and orchestration elements. $ For more information on the call of a Web service by a process, see section Defining processes in an executable BPM in chapter Building an executable BPM: Managing Data and Orchestration. PowerDesigner

201 &KDSWHU%XLOGLQJDQ([HFXWDEOH%30:RUNLQJZLWK6HUYLFH'HVFULSWLRQ2EMHFWV,PSRUWLQJ:6'/LQDQH[HFXWDEOH%30 The Import WSDL feature allows you to recover Web service description in a BPEL4WS or Sybase Integration Orchestrator model. A :HEVHUYLFH is an interface that describes a collection of operations that are accessible on the network through SOAP messages. Web services are used by processes when you proceed to the implementation phase of the business process modeling. :6'/ stands for Web Services Description Language, it is an XML formatted document that describes what a Web service is capable of and how a client can locate and invoke that service. The Import WSDL process converts Web services and their sub-objects into service providers and their corresponding sub-objects in the BPM. You import a WSDL file when you want to initialize an executable BPM with existing Web services defined in WSDL. Only the abstract description of Web services is imported: messages operations, and port types. 6HOHFWLQJWKH:6'/ILOHWRLPSRUWLQDQH[HFXWDEOH%30 You can launch the Import WSDL feature from the Language menu. The import WSDL feature allows you to create an abstract definition of a Web service using service description objects. When you launch the Import WSDL feature, the Import WSDL dialog box appears. It allows you to select a location for the WSDL, select component or port type to import, and preview the WSDL to import.,whp WSDL URL Preview WSDL 'HVFULSWLRQ Indicates where the WSDL should be published on the web. You can either click the Browse File tool beside this box to select the file from a standard file selection dialog box, or you can click the Browse UDDI tool beside this box to search for a WSDL file on a UDDI server. For more information on browsing UDDI, see section Browsing for WSDL on UDDI in an executable BPM Allows you to preview the WSDL and the unique key used to locate the UDDI. You can select which component or port type to import using the tree view in the Selection page BPM User s Guide

202 ,PSRUWLQJ:6'/LQDQH[HFXWDEOH%30 Imported objects in the executable BPM When importing a WSDL, the import process converts WSDL elements into service description objects and BPM objects as follows: :6'/HOHPHQWV Message PortType Operation WSDL File %30REMHFWV Message format Service interface Operation Service provider The WSDL URL is stored in the /RFDWLRQ box of the service provider property sheet and the message format and service interface objects are associated with it. The data specification is stored in the 'DWD6FKHPD page of the service provider property sheet. v 7RLPSRUWD:6'/LQDQH[HFXWDEOH%30 1 Select Language Import WSDL to display the Import WSDL dialog box. 2 Select the WSDL file that you want to import. 3 Select the Web services and port types you want to import. 4 Click OK to import. PowerDesigner

203 &KDSWHU%XLOGLQJDQ([HFXWDEOH%30:RUNLQJZLWK6HUYLFH'HVFULSWLRQ2EMHFWV A progress box appears. If the model in which you are importing already contains data, the Merge Models dialog box appears. $ For more information on merging models, see section Merging Models, in chapter Comparing and Merging Models in the *HQHUDO )HDWXUHV*XLGH. 5 Click OK. The imported elements are added to your model and are visible in the Browser. They are also listed in the Reverse page of the Output window, located in the lower part of the main window. %URZVLQJIRU:6'/RQ8'',LQDQH[HFXWDEOH%30 You can browse for a WSDL port type on a UDDI server. You need to have Internet Explorer 5 or higher to use the Browse UDDI feature. The Browse UDDI dialog box includes the following items:,whp UDDI operator URL UDDI version Search for Search in 'HVFULSWLRQ You can choose among a list of default UDDI operator URLs, or you can type URLs according to your needs The request sent to the server is different depending on the UDDI version, you must choose the correct UDDI version for the URL You can search for a name of the item selected in the Search In dropdown listbox You can search for a Web service per business entity (company name), Web service name, WSDL name or Model The result is displayed in the Search Result window. It shows the Business entity name, the Service name, the Service description, and the WSDL URL. v 7REURZVH:6'/ILOHVIURP8'', 1 Select Language Import WSDL to display the Import WSDL dialog box. 2 Click the Selection tab to display the Selection page. BPM User s Guide

204 ,PSRUWLQJ:6'/LQDQH[HFXWDEOH%30 3 Click the Browse UDDI tool beside the WSDL URL box to display the Browse UDDI dialog box. 4 Select a UDDI operator URL. 5 Select an item to search from the Search In dropdown listbox. 6 Type a keyword in the Search For dropdown listbox. 7 Click the Search button. The result is displayed in the Search Result window. 8 Click the Preview WSDL button to open the WSDL property sheet. PowerDesigner

205 &KDSWHU%XLOGLQJDQ([HFXWDEOH%30:RUNLQJZLWK6HUYLFH'HVFULSWLRQ2EMHFWV 9 Click the WSDL tab to display the WSDL. 10 <optional> Click the Business Entity tab to display data about the company. BPM User s Guide

206 ,PSRUWLQJ:6'/LQDQH[HFXWDEOH%30 11 <optional> Click the Business Service tab to display data about the service. 12 Click Close to close the WSDL property sheet. 13 Click OK to go back to the Import WSDL dialog box. PowerDesigner

207 &KDSWHU%XLOGLQJDQ([HFXWDEOH%30:RUNLQJZLWK6HUYLFH'HVFULSWLRQ2EMHFWV,PSRUWLQJDQGH[SRUWLQJDQ220LQDQ H[HFXWDEOH%30 The import and export OOM feature is designed to let you define the links between the abstract definition of service interfaces and operations in the BPM and their concrete implementation in the OOM. In the OOM, Web services are designed as components with an implementation class owning the operations. During the import/export process, the following mapping is performed: 220REMHFW Web service, or EJB or any UML component Implementation class in case of Web Service, or a UML interface associated to the component Class (or interface) operations SOAP Input value (Input box content) InputSoapMessageName extended attribute SOAP Input schema text %30REMHFW Service provider Service interface Operations of the service interface Operation Input message Operation Input name Input message format text You can use the import and export OOM feature to: Initialize a BPM with existing implementation defined in an OOM Use the requirement analysis of the BPM to initialize an OOM and start implementing these needs The implementation link between BPM and OOM is preserved after import and export. These links are stored in the Implementation attribute of the property sheet of the BPM service provider, service interface and operation. This attribute references the OOM implementation object (component, class, interface or operation). BPM User s Guide

208 ,PSRUWLQJDQGH[SRUWLQJDQ220LQDQH[HFXWDEOH%30,PSRUWLQJDQ220LQD%30 You import an OOM in a BPM to retrieve the components of the OOM. You use the Web Service Import Wizard that is available from the Tools menu of an executable BPM. The Web Service Import Wizard is not available if no implementation OOM is open in the workspace. The first page of the wizard lets you select the OOM implementation model. The second page proposes a selection of service providers to import. v 7RLPSRUWDQ220LQD%30 1 Select Tools Web Service Component Import. The Web Service Import Wizard appears. It allows you to choose the source model from which importing the components. 2 Select an implementation OOM and click Next. The second page of the wizard appears. PowerDesigner

209 &KDSWHU%XLOGLQJDQ([HFXWDEOH%30:RUNLQJZLWK6HUYLFH'HVFULSWLRQ2EMHFWV 3 Select the components you want to import as service providers and click Finish. The components you have selected are imported as service providers in the BPM and appear in the Service Providers category in the Browser: ([SRUWLQJDQ220IURPD%30 You export an OOM from a BPM to create components from the service providers of the BPM. You use the Web Service Export Wizard that is available from the Tools menu of an executable BPM. The Export Wizard is not available if no service provider is defined in the model. The first page of the wizard lets you select the OOM implementation model. The second page proposes a selection of service providers to export. The third page allows you to select the type of component you want to create. BPM User s Guide

210 ,PSRUWLQJDQGH[SRUWLQJDQ220LQDQH[HFXWDEOH%30 v 7RH[SRUWDQ220IURPD%30 1 Select Tools Web Service Component Export Wizard. The Service Provider Export Wizard appears. It allows you to choose a target model to which exporting the components. 2 Select an implementation OOM and click Next. The second page of the wizard appears. 3 Select the service providers you want to export and click Next. PowerDesigner

211 &KDSWHU%XLOGLQJDQ([HFXWDEOH%30:RUNLQJZLWK6HUYLFH'HVFULSWLRQ2EMHFWV The third page of the wizard appears. It allows you to select the type of components you want to create. If the target OOM language supports Web Services, the Web Service checkbox is selected by default. You can select a Web Service type from the dropdown listbox (for example AXIS RPC, JAX-RPC, etc.). If the target OOM language does not support Web Services, you can select a component type (for example EJB, Servlet, etc.) from the dropdown listbox. 4 Select the type of components you want to create and click Next. 5 Click Finish. The service providers you have selected are exported as components in the OOM and appear in the Components category in the Browser: BPM User s Guide

212 'HILQLQJVHUYLFHSURYLGHUV 'HILQLQJVHUYLFHSURYLGHUV A VHUYLFHSURYLGHU describes an object that gathers a set of service interfaces, for which it represents a namespace. It corresponds to the imported WSDL file. It has no symbol in the diagram, but has the following graphical representation in the Browser: The service provider is mandatory in the design of an executable process, as service interfaces must be created under a service provider. For example a service provider "Travel Agent" may contain the following service interfaces: "TravelAgentToAirline" and "TravelAgentToTraveler". When you copy a service provider, the service interfaces associated with it are also copied. You cannot create shortcuts for a service provider. 6HUYLFHSURYLGHUSURSHUWLHV Each service provider definition includes the following properties: 3URSHUW\ Name Code Comment Stereotype Filename Endpoint URL Target namespace 'HVFULSWLRQ Name of the service provider Reference name of the service provider Descriptive comment for the service provider Sub-classification used to extend the semantics of an object without changing its structure; it can be predefined or userdefined Path of the file that contains the whole service definition. It is set during the import and used during a file generation. You can click the Select a File tool beside the Location box to select a.wsdl file then click the Open a File tool to open the WSDL file Address at which the service can be reached URL linked to a method that uniquely identifies the Web service and avoids conflicts with other Web services of the same name. By default, it is: urn:<service Provider Code> PowerDesigner

213 &KDSWHU%XLOGLQJDQ([HFXWDEOH%30:RUNLQJZLWK6HUYLFH'HVFULSWLRQ2EMHFWV 3URSHUW\ Prefix Implementation 'HVFULSWLRQ Allows you to type a namespace prefix for the target namespace. It is useful to find an element of the WSDL defined on the web. The default value is: "tns" that stands for "This NameSpace", for example: <tns:invoice>, where "tns" is the prefix associated with the XSD document that describes the "invoice" markup OOM component implementing the service provider A service provider also includes the following properties, each with their respective page: 3URSHUW\ Service interfaces Data schema 'HVFULSWLRQ Ordered list of service interfaces owned by the service provider. You can create service interfaces from this list Specification of the schema language of message parts. You can type your own language or choose one from the Language dropdown listbox. You can edit the code of the data schema in the editor code $ For more information on message parts, see section Defining message parts in chapter Building an analysis BPM. $ For more information on service interfaces, see section Defining service interfaces. &UHDWLQJDVHUYLFHSURYLGHU There are several ways to create a service provider: From the list of service providers From the Browser At creation, a service provider has a default name including a number, this number is assigned in the order of creation. $ For more information on the different ways to create a service provider, see section Creating an object in chapter Managing Objects in the *HQHUDO )HDWXUHV*XLGH. v 7RFUHDWHDVHUYLFHSURYLGHU 1 Select Model Service providers to display the List of Service Providers showing any service providers currently defined in the model. BPM User s Guide

214 'HILQLQJVHUYLFHSURYLGHUV 2 Click a blank line in the list. RU Click the Add a Row tool. An arrow appears at the beginning of the line. 3 Type a name and a code for the service provider. 4 Click Apply to commit the creation of the new service provider. 5 Double-click the new service provider line to display the service provider property sheet. 6 Specify properties as required. 7 Click OK.,PSOHPHQWLQJDVHUYLFHSURYLGHUXVLQJDQ220FRPSRQHQW You implement a service provider from its property sheet using an OOM component that can be a Web service, an EJB, or any other UML component. v 7RLPSOHPHQWDVHUYLFHSURYLGHUXVLQJDQ220FRPSRQHQW 1 From the service provider property sheet, click the Select Implementation Object tool, beside the Implementation box to display the Select an Object dialog box. PowerDesigner

215 &KDSWHU%XLOGLQJDQ([HFXWDEOH%30:RUNLQJZLWK6HUYLFH'HVFULSWLRQ2EMHFWV It allows you to select a component from the OOM opened in the workspace. 2 Expand the nodes in the tree view to select a component and click OK. The component name followed by (Shortcut) appears in the Implementation box of the service provider property sheet. You can double-click the Properties tool beside the Implementation box to open the shortcut property sheet and access the target object. 'HOHWLQJWKHOLQNZLWKDFRPSRQHQWIURPWKHVHUYLFHSURYLGHU SURSHUW\VKHHW You can click the Remove Implementation Object tool beside the Implementation box to break the link between the service provider and the component. 0RGLI\LQJVHUYLFHSURYLGHUSURSHUWLHV You can modify the service provider properties using the following methods: From the service provider property sheet From the list of service providers $ For more information on the different ways to modify the service provider properties, see section Modifying object properties in chapter Managing Objects in the *HQHUDO)HDWXUHV*XLGH. BPM User s Guide

216 'HILQLQJVHUYLFHLQWHUIDFHV 'HILQLQJVHUYLFHLQWHUIDFHV A VHUYLFHLQWHUIDFH describes an object that gathers a set of operations, for which it represents a namespace. It corresponds to the Port Type object in WSDL. It has no symbol in the diagram, but has the following graphical representation in the Browser: A service interface must belong to a service provider. When you copy a service interface, the operations associated with it are also copied. You cannot create shortcuts for a service interface. 6HUYLFHLQWHUIDFHSURSHUWLHV Each service interface definition includes the following properties: 3URSHUW\ Provider Name Code Comment Stereotype Implementation 'HVFULSWLRQ Parent of the service interface. Displays the name of the service provider owing the service interface. You can click the Properties tool beside the Provider box to display the service provider properties Name of the service interface Reference name of the service interface Descriptive comment for the service interface Sub-classification used to extend the semantics of an object without changing its structure; it can be predefined or userdefined OOM implementation object A service interface also includes the following property, within a distinct page: 3URSHUW\ Operations 'HVFULSWLRQ Ordered list of operations owned by the service interface. You can create operations from this list PowerDesigner

217 &KDSWHU%XLOGLQJDQ([HFXWDEOH%30:RUNLQJZLWK6HUYLFH'HVFULSWLRQ2EMHFWV &UHDWLQJDVHUYLFHLQWHUIDFH You create a service interface from the service provider property sheet. To display the service provider property sheet, you can: Double-click a service provider in the List of Service Providers Right-click the service provider node in the Browser and select Service Interface At creation, a service interface has a default name including a number, this number is assigned in the order of creation. You must create a service provider before you can create a service interface. 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. $ For more information on service providers, see section Defining service providers. v 7RFUHDWHDVHUYLFHLQWHUIDFH 1 Select the Service Interfaces tab in the service provider property sheet. 2 Click a blank line in the list. RU Click the Add a Row tool. An arrow appears at the beginning of the line. 3 Type a name and a code for the service interface. 4 Click Apply to commit the creation of the new service interface. 5 Double-click the new service interface line to display the service interface property sheet. BPM User s Guide

218 'HILQLQJVHUYLFHLQWHUIDFHV 6 Specify properties as required. 7 Click OK.,PSOHPHQWLQJDVHUYLFHLQWHUIDFHXVLQJDQ220FODVVRULQWHUIDFH You implement a service interface from its property sheet using an OOM interface or class depending on the representation of a service interface in the OOM target language. v 7RLPSOHPHQWDVHUYLFHLQWHUIDFHXVLQJDQ220FODVVRULQWHUIDFH 1 From the service interface property sheet, click the Select Implementation Object tool, beside the Implementation box to display the Select an Object dialog box. It allows you to select an implementation object from the OOM opened in the workspace. PowerDesigner

219 &KDSWHU%XLOGLQJDQ([HFXWDEOH%30:RUNLQJZLWK6HUYLFH'HVFULSWLRQ2EMHFWV 2 Expand the nodes in the tree view to select an implementation object and click OK. The implementation object name followed by (Shortcut) appears in the Implementation box of the service interface property sheet. You can double-click the Properties tool beside the Implementation box to open the shortcut property sheet and access the target object. 'HOHWLQJWKHOLQNZLWKDFODVVRULQWHUIDFHIURPWKHVHUYLFH LQWHUIDFHSURSHUW\VKHHW You can click the Remove Implementation Object beside the Implementation box to break the link between the service interface and the OOM implementation object. 0RGLI\LQJVHUYLFHLQWHUIDFHSURSHUWLHV You can modify service interface properties using the following methods: From the service interface property sheet From the list of service interfaces located in the service provider property sheet The list of service interfaces accessible from the Model menu only allows you to visualize service interfaces for all service providers within the model. You cannot modify service interfaces from this list. $ For more information on the different ways to modify the service interface properties, see section Modifying object properties in chapter Managing Objects in the *HQHUDO)HDWXUHV*XLGH. BPM User s Guide

220 'HILQLQJRSHUDWLRQVLQDQH[HFXWDEOH%30 'HILQLQJRSHUDWLRQVLQDQH[HFXWDEOH%30 An RSHUDWLRQ describes the implementation of an atomic process (activity) in the BPM. It can be sent or received by an activity. It is linked to a process using the Implemented by property in the process property sheet. The Dependencies page of the operation property sheet allows you to visualize all the processes implemented by the operation. The operation has no symbol in the diagram, but has the following graphical representation in the Browser: Copying an operation $ For more information on atomic processes also called atomic activities, see section Defining processes in an executable BPM in chapter Building an executable BPM: Managing Data and Orchestration. You create operations under a service interface. You cannot create shortcuts for an operation. :KHQ\RXFRS\DQRSHUDWLRQXQGHUDQRWKHUVHUYLFHLQWHUIDFHZLWKLQ DQRWKHUPRGHO you also duplicate all messages (input, output and fault) associated with it. :KHQ\RXFRS\DQRSHUDWLRQXQGHUDQRWKHUVHUYLFHLQWHUIDFHZLWKLQ WKHVDPHPRGHO associated messages are reused. Moving an operation :KHQ\RXPRYHDVHUYLFHSURYLGHU within another model, you automatically move its service interfaces and operations. If the associated message format and process using the operation are not moved with the service provider, a copy of the whole service provider remains in the initial model to preserve these links. :KHQ\RXPRYHDQRSHUDWLRQ under another service interface within the same model, it is equivalent to a cut and paste. All the links to processes are lost. However, if you move an operation to another service provider all operation messages are duplicated. :KHQ\RXGUDJDQGGURSDQRSHUDWLRQ from the browser to the diagram window, you create an implemented by process. The process is implemented by the operation you dragged and dropped. $ For more information on processes implemented by operations, see section Execute operation activity in chapter Building an Executable BPM: Managing Data and Choreography. PowerDesigner

221 &KDSWHU%XLOGLQJDQ([HFXWDEOH%30:RUNLQJZLWK6HUYLFH'HVFULSWLRQ2EMHFWV 2SHUDWLRQSURSHUWLHVLQDQH[HFXWDEOH%30 Each operation definition includes the following properties: 3URSHUW\ Provider Interface Name Code Comment Stereotype Implementation 'HVFULSWLRQ Name of the service provider owing the operation. You can click the Properties tool beside the Provider box to display the service provider properties Name of the service interface owing the operation. You can click the Properties tool beside the Interface box to display the service interface properties Name of the operation Reference name of the operation Descriptive comment for the operation Sub-classification used to extend the semantics of an object without changing its structure; it can be predefined or userdefined OOM implementation operation An operation also include the following properties, each with their respective page: 3URSHUW\ Input/Output Faults 'HVFULSWLRQ Allows you to specify the type of the operation, the input message the operation can receive and the output message the operation can send Allows you to select a message format to specify a fault link between a Request-Response operation and a message format or a Solicit-Response operation and message format,qsxw2xwsxwsdjhriwkhrshudwlrq Input and output messages are parameters that apply to an operation. The Input/Output page defines the type of the operation, the input message the operation can receive and the output message the operation can send. BPM User s Guide

222 'HILQLQJRSHUDWLRQVLQDQH[HFXWDEOH%30 It contains the following parameters: 3DUDPHWHU 9DOXH 'HVFULSWLRQ Type Allows you to define the type of the operation: Undefined, One Way, Request-Response, Solicit-Response and Notification. For more information, see table below Input message Name Allows you to define a name for the operation input message Message Allows you to specify the input message an operation can receive Output message Name Allows you to define a name for the operation output message Message Allows you to specify the output message an operation can receive Type parameter The following types of operations are available. Their differences reside in the presence and the sequence of input and output message: 2SHUDWLRQW\SH Undefined One Way operation Request-Response operation Solicit-Response operation Notification operation 'HVFULSWLRQ Default value Only has an input. The system that hosts the Web service just receives a message and does not need to respond. It only performs an internal work Begins with an input that is followed by an output. The system that hosts the Web service receives a message and returns a response message in a synchronous way (the caller is waiting for the response). Fault messages can also be specified and are sent as output in case of error Begins with an output that is followed by an input (unlike the Request-Response operation). The system that hosts the Web service sends an output message and then waits for a synchronous input response. Fault messages can also be specified to be received by the operation in place of the input message in case of error Only has an output. The system that hosts the Web service just sends a message without expecting a response PowerDesigner

223 &KDSWHU%XLOGLQJDQ([HFXWDEOH%30:RUNLQJZLWK6HUYLFH'HVFULSWLRQ2EMHFWV $ For more information on fault messages, see section Faults page of the operation. Depending on the type you select for the operation, the Input message and Output message groupboxes change accordingly: 7\SH,QSXWPHVVDJH JURXSER[ 2XWSXWPHVVDJH JURXSER[ Undefined Empty and read only Empty and read only One Way (Sent by the activity) Request-Response (Sent by the activity) Solicit-Response (Received by the activity) Notification (Received by the activity) You can type a name and select a message format You can type a name and select a message format. The input message is handled first You can type a name and select a message format Empty and read only Empty and read only You can type a name and select a message format You can type a name and select a message format. The output message is handled first You can type a name and select a message format Message Format parameter You can click the dropdown listbox to display the list of available message formats. It contains all the message formats defined under the model. You can click the Create tool beside the Message dropdown listbox to create a new message format. You can also click the Properties tool beside the Create tool to display the message format property sheet. )DXOWVSDJHRIWKHRSHUDWLRQ A Fault message is a parameter that applies to a Request-Response operation or a Solicit-Response operation. These operations can send fault messages in case of error. The Faults page allows you to select a message format using the Add Message Formats tool to specify a fault link between a Request-Response or a Solicit-Response operation and a message format. A fault is created and appears in the list. You can modify the default code assigned to the fault. When you double-click on a fault in the list of fault messages, you open the property sheet of the corresponding message format. BPM User s Guide

224 'HILQLQJRSHUDWLRQVLQDQH[HFXWDEOH%30 The Fault Message Links page in the Dependencies page of the Message format property sheet allows you to visualize all the uses of the message format by operations. &UHDWLQJDQRSHUDWLRQLQDQH[HFXWDEOH%30 You create an operation from the service interface property sheet. At creation, a service provider has a default name including a number, this number is assigned in the order of creation. v 7RFUHDWHDQRSHUDWLRQLQDQH[HFXWDEOH%30 1 Open a service interface property sheet. 2 Click a blank line in the list. RU Click the Add a Row tool. An arrow appears at the beginning of the line. 3 Type a name and a code for the operation. 4 Click Apply to commit the creation of the operation. 5 Double-click the new operation line to display the operation property sheet. PowerDesigner

225 &KDSWHU%XLOGLQJDQ([HFXWDEOH%30:RUNLQJZLWK6HUYLFH'HVFULSWLRQ2EMHFWV 6 Specify properties as required. 7 Click OK.,PSOHPHQWLQJDQRSHUDWLRQXVLQJDQ220RSHUDWLRQ You implement an operation from its property sheet using an OOM operation. v 7RLPSOHPHQWDQRSHUDWLRQXVLQJDQ220RSHUDWLRQ 1 From the operation property sheet, click the Select Implementation Object tool, beside the Implementation box to display the Select an Object dialog box. It allows you to select an operation from the OOM opened in the workspace. 2 Expand the nodes in the tree view to select an operation and click OK. The operation name followed by (Shortcut) appears in the Implementation box of the operation property sheet. You can doubleclick the Properties tool beside the Implementation box to open the shortcut property sheet and access the target object. 'HOHWLQJWKHOLQNZLWKDQ220LPSOHPHQWDWLRQRSHUDWLRQIURPWKH RSHUDWLRQSURSHUW\VKHHW You can click the Remove Implementation Object tool beside the Implementation box to break the link between the BPM operation and the OOM implementation operation. BPM User s Guide

226 'HILQLQJRSHUDWLRQVLQDQH[HFXWDEOH%30 0RGLI\LQJDQRSHUDWLRQLQDQH[HFXWDEOH%30 You can modify operation properties using the following methods: From the operation property sheet From the list of operations located in the service interface property sheet $ For more information on the different ways to modify the service operation properties, see section Modifying object properties in chapter Managing Objects in the *HQHUDO)HDWXUHV*XLGH. PowerDesigner

227 &KDSWHU%XLOGLQJDQ([HFXWDEOH%30:RUNLQJZLWK6HUYLFH'HVFULSWLRQ2EMHFWV 'HILQLQJPHVVDJHIRUPDWVLQDQH[HFXWDEOH%30 A PHVVDJHIRUPDW defines the format of a piece of information exchanged between business processes. The format depends on the nature of the exchanged piece of information and allows objects to find an agreement to communicate. The global definition of the message format in an executable BPM is mainly the same as in other BPM views (Analysis and Collaborative). However some behaviors are added or modified, in order to fully support the executable BPM. Only those specific behaviors are described in the following sections. $ For more information on the global definition of the message format, see section Defining message formats in chapter Building an Analysis Business Process Model. $VVRFLDWLQJDPHVVDJHIRUPDWZLWKDIORZ It is not possible to associate a message format with a flow, as the exchange of information is no longer managed by flows in an executable BPM. 'HSHQGHQFLHVSDJHRIWKHPHVVDJHIRUPDWLQDQH[HFXWDEOH%30 The Dependencies page of the message format property sheet allows you to visualize in distinct pages the following relations the message format has with operations and variables: 3DJH Operation Input Message Operation Output Message Fault Message Links Typed Variables 'HVFULSWLRQ Displays all operations that use the message as input Displays all operations that use the message as output Displays all uses of the message as a fault on an operation Displays all variables that use the message as type (only available in BPEL4WS models) $ For more information on variables, see section Defining Variables in chapter Building an Executable BPM: Managing Data and Choreography. BPM User s Guide

228 'HILQLQJPHVVDJHIRUPDWVLQDQH[HFXWDEOH%30 9DOLGDWLRQUXOHVRQPHVVDJHIRUPDWVLQDQH[HFXWDEOH%30 A message format can be used as a fault by Request-Response and Solicit- Response operations. If you delete the message format, you automatically delete the fault message links associated with it in the Faults page of the operation property sheet. $ For more information on fault messages, see section Faults page of the operation. PowerDesigner

229 &KDSWHU%XLOGLQJDQ([HFXWDEOH%30:RUNLQJZLWK6HUYLFH'HVFULSWLRQ2EMHFWV 'HILQLQJPHVVDJHSDUWVLQDQH[HFXWDEOH%30 A PHVVDJHSDUW represents a portion of the WSDL (Web Services Description Language) message. The global definition of the message part in an executable BPM is mainly the same as in other BPM views (Analysis and Collaborative). However some behaviors are added or modified, in order to fully support the executable BPM. Only those specific behaviors are described in the following sections. $ For more information on the global definition of the message part, see section Defining message parts in chapter Building an Analysis Business Process Model. Data transformation Dependencies page of the message part In BPEL4WS models, the message part is used in the Transformation page of the data transformation property sheet for PropertyAlias definition. $ For more information on data transformations, see section Defining data transformations in chapter Building an Executable BPM: Managing Data and Choreography. The Dependencies page of the message part property sheet allows you to visualize in distinct pages the following relations the message part has with data transformations: 3DJH Assignments Simple Data Transformations 'HVFULSWLRQ Displays all assignments of the message part by data transformations Displays all uses of the message part as input of data transformations $ For more information on data transformations, see section Defining data transformations in chapter Building an Executable BPM: Managing Data and Choreography. BPM User s Guide

230 'HILQLQJPHVVDJHSDUWVLQDQH[HFXWDEOH%30 PowerDesigner

231 CHAPTER 6 %XLOGLQJDQ([HFXWDEOH%300DQDJLQJ 'DWDDQG&KRUHRJUDSK\ About this chapter Contents This chapter describes how processes use the data retrieved from Web services. It also explains the choreography of Web services implied in a business process and how some existing BPM objects are modified for the executable BPM. 7RSLF 3DJH Understanding top-level diagram and top-level process in an executable BPM 216 Understanding data and choreography management 217 Defining variables 219 Defining processes in an executable BPM 223 Defining data transformations 234 Defining correlations 239 Defining conditional branching 244 Defining parallel branching 245 Defining loops 246 Defining events 247 Defining event handlers 251 Defining flows in an executable BPM 253 Defining starts in an executable BPM 255 Defining ends in an executable BPM 256 BPM User s Guide

232 8QGHUVWDQGLQJWRSOHYHOGLDJUDPDQGWRSOHYHOSURFHVVLQDQH[HFXWDEOH%30 8QGHUVWDQGLQJWRSOHYHOGLDJUDPDQGWRSOHYHO SURFHVVLQDQH[HFXWDEOH%30 Top level-diagram When you create an executable BPM, you must always have a WRSOHYHO GLDJUDP defined under a model or a package. It represents the subject of the process model, and sets the model scope and orientation. The top-level diagram should only contain: Top-level processes Organization units 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 packages. In an executable BPM, RUJDQL]DWLRQXQLWV are always displayed using the icon representation to represent the identification of a partner. The swimlane representation can only be used in diagrams contained in composite processes to ease the definition of invoking or invoked partners for processes associated with operations. $ For more information on how to associate a process with an operation, see section Defining processes in an executable BPM in chapter Building an executable BPM: Managing Data and Orchestration. Top-level process The WRSOHYHOSURFHVV 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 subgraph (a stand alone composite process defined at the package level) using atomic activities and orchestration elements. Each top-level process must be related to at least one role association. $ For more information on atomic activities and orchestration elements, see section Defining processes in an executable BPM in chapter Building an executable BPM: Managing Data and Orchestration see section. PowerDesigner

233 &KDSWHU%XLOGLQJDQ([HFXWDEOH%300DQDJLQJ'DWDDQG&KRUHRJUDSK\ 8QGHUVWDQGLQJGDWDDQGFKRUHRJUDSK\ PDQDJHPHQW Two use cases Data management You have an analysis or collaborative model for which you want to automate processes using an executable language. In this case, for each atomic process (activity), you have to indicate the way to implement it using operations and you have to manage data shared by the processes. You may also have a WSDL that only describes the structural aspect of a given functionality, and you want to specify the sequence of operations to perform the global functionality. Once you have defined your business process and the connections with business partners, you need to provide a mechanism to coordinate all the activities involved, in order to generate a reliable outcome. An executable business process involves a number of Web services (represented by service providers) that work together to provide a common solution. Each of those services needs to be able to coordinate their activities in order for the whole process to succeed. Coordination occurs when you have each Web service share a bit of common information that can be used to link the individual activities to the overall process. In analysis models, data are conveyed by flows coming into the process. On the other hand, data in executable models are shared with all the processes of a same level. Acquisition of data is performed by the reception of messages (designed as a process implemented by an operation). Data can be transformed in order to create other data that will be sent by the process. These data can be: Message of response Invoked operation input parameters Information messages exchanged between Web services contain data that are essentially of two kinds: Data used in conditional expressions (for example, if a price is greater than a certain amount, additional checks must be performed) Data that helps identify the collaboration instance (for example, a reservation ID or an Order ID) Data are managed in the executable BPM using the following objects: Variables, detailed in section Defining variables Processes, detailed in section Defining processes in an executable BPM BPM User s Guide

234 8QGHUVWDQGLQJGDWDDQGFKRUHRJUDSK\PDQDJHPHQW Data transformations, detailed in section Defining data transformations Correlations, detailed in section Defining correlations Choreography management Unsupported BPM objects Coordination of Web services is also called FKRUHRJUDSK\. It is a top-down view that describes Web services interactions. It allows you to understand the nature and order of messages exchanged between a Web service and its consumers or peers. The following elements are used in the executable BPM to manage Web services choreography: Conditional branching, detailed in section Defining conditional branching Parallel branching, detailed in section Defining parallel branching Loops, detailed in section Defining loops Events, detailed in section Defining events Event handlers, detailed in section Defining event handlers The following BPM objects are not supported in the executable BPM: Data Resources Resource flows PowerDesigner

235 &KDSWHU%XLOGLQJDQ([HFXWDEOH%300DQDJLQJ'DWDDQG&KRUHRJUDSK\ 'HILQLQJYDULDEOHV A YDULDEOH describes a data container local to a process. It represents data that is important for the correct execution of the process for example, for routing decisions to be made or for constructing messages to be sent. It allows the process to maintain data and process history based on the messages exchanged. The variable value is retrieved from messages received by the process and can be used for loops and conditional branching. It is mainly used to build the messages the process sends to its partners. $ For more information on loops and conditional branching, see sections Defining loops and Defining parallel branching. Variables have no symbol in the diagram, but have the following graphical representation in the Browser: Variable name and code uniqueness Moving variables By default, a variable defined under a given level can be used by any activity defined at the same level or at sub-levels. You cannot create external shortcuts for a variable, however you can replicate a variable. The name and code of a variable should be unique within the parent scope (package, composite process, or model). A variable cannot share the same name and code as another variable that is defined at the same level or under a parent of the current level. However, two variables can share the same name when they belong to different composite processes contained in the same package. Unlike the analysis model, data are not conveyed by flows in the executable model. :KHQ\RXPRYHDYDULDEOHEHWZHHQPRGHOV A copy of the variable stays in the source model, if the variable is used by processes in that model, as external shortcut of variables are not supported. :KHQ\RXPRYHDYDULDEOHZLWKLQWKHVDPHPRGHO A shortcut of the variable stays in the source process or package, when the variable is used by some processes in that package or composite process. BPM User s Guide

236 'HILQLQJYDULDEOHV 9DULDEOHSURSHUWLHV Each variable definition includes the following properties: 3URSHUW\ Name Code Comment Stereotype Data type Element type Constant 'HVFULSWLRQ Name of the variable Reference name of the variable Descriptive comment for the variable Sub-classification used to extend the semantics of an object without changing its structure; it can be predefined or userdefined Allows you to choose the type of the variable. You can select from the dropdown listbox a simple type (int, string, etc.) or a complex type (XSD file, OOM class, XML object, etc.). For BPEL4WS, it can also refer to a message format object. You can click the Create tool to create a new message format Indicates whether the variable is an XSD element type or not. If you have defined a complex type (XSD element) in the Data type dropdown listbox, you should select that checkbox for the complex type element to be generated. The value of the data type is the name of the element prefixed by the namespace Indicates whether the variable is constant or not during the execution of the process A variable also includes the Value property, within a distinct page, that lets you edit the variable initial value, if any within an XML colored syntax editor. &UHDWLQJDYDULDEOH There are several ways to create a variable: From the list of variables From the Browser At creation, a variable has a default name including a number, this number is assigned in the order of creation. $ For more information on the different ways to create a variable, see section Creating an object in chapter Managing Objects in the *HQHUDO )HDWXUHV*XLGH. PowerDesigner

237 &KDSWHU%XLOGLQJDQ([HFXWDEOH%300DQDJLQJ'DWDDQG&KRUHRJUDSK\ Variable visibility The place where you create a variable is particularly important as it determines the variable visibility. A variable can be used by other objects (process, correlation or data transformation) only if they are defined in the same package or composite process as the variable or in a sub-process. v 7RFUHDWHDYDULDEOH 1 Select Model Variables to display the List of Variables showing any variables currently defined for the model. 2 Click a blank line in the list. RU Click the Add a Row tool. An arrow appears at the beginning of the line. 3 Type a name and a code for the variable. 4 Click Apply to commit the creation of the new variable. 5 Double-click the new variable line to display the variable property sheet. 6 Specify properties as required. 7 Click OK. BPM User s Guide

238 'HILQLQJYDULDEOHV 0RGLI\LQJYDULDEOHSURSHUWLHV You can modify the variable properties using the following methods: From the variable property sheet From the list of variables $ For more information on the different ways to modify the variable properties, see section Modifying object properties in chapter Managing Objects in the *HQHUDO)HDWXUHV*XLGH. 'HILQLQJWKHYDOXHRIDYDULDEOH In the Value page of the variable property sheet, you can edit the variable value, within an XML colored syntax editor. The value you define in the Value page depends on the type you have defined in the Data Type dropdown listbox of the General page. For example, if you have defined a complex type, such as an ;0/REMHFW in the Data Type dropdown listbox, the Value page can contain the corresponding ;0/VFKHPD. Or if you have defined a simple type, such as 'XUDWLRQ in the Data Type dropdown listbox, the Value page can contain KRXU. v 7RGHILQHWKHYDOXHRIDYDULDEOH 1 Double-click a variable in the list of variables to open its property sheet. 2 Click the Value tab to display the corresponding page. 3 Type a value in the XML editor that corresponds to the data type you have defined in the General page. 4 Click OK in each of the dialog boxes. PowerDesigner

239 &KDSWHU%XLOGLQJDQ([HFXWDEOH%300DQDJLQJ'DWDDQG&KRUHRJUDSK\ 'HILQLQJSURFHVVHVLQDQH[HFXWDEOH%30 A SURFHVV in an executable BPM can have the following roles: A global service that does not belong to a graph but describes its behavior in a sub-graph called FRPSRVLWHSURFHVV. It corresponds to the top-level process $ For more information on top-level processes, see section Understanding top-level diagrams and top-level processes in an executable BPM in chapter Building an Executable BPM: Working with Service Description Objects processes. $ For more information on composite processes, see section Defining composite processes in chapter Building an Analysis Business Process Model. A composite process within a top-level process in order to restrict the scope or the visibility of some objects An atomic action called DFWLYLW\. Activities are carried out within the composite process, they interact with a service, manipulate the passing data and handle exceptions. You must specify their implementation A business process mainly uses the following activities to interact with Web services: $FWLYLW\W\SH Send message Receive message Throw activity Compensate activity Wait activity 'HVFULSWLRQ Used by a business process to make invocations to Web services provided by partners. The business process sends One-Way or Request-Response operations Used by a business process to provide services to its partners. The business process receives the invocation of Notification or Solicit-Response operations triggered by partners Used by a business process to cause a specific fault to occur to abort a transaction, activity or process. The business process throws a Fault event Used by a business process to cancel the actions performed by an already terminated process The business process sends a Compensation event Used by a business process to pause the process for a specified time. The business process sends a Timer event BPM User s Guide

240 'HILQLQJSURFHVVHVLQDQH[HFXWDEOH%30 $ For more information on the different types of operations, see section Input/Output page of the operation in chapter Building an Executable BPM: Working with Service Description Objects. $ For more information on the different types of events, see section Defining events. 3URFHVVSURSHUWLHVLQDQH[HFXWDEOH%30 You can double-click any process symbol in a diagram to display its properties. The general properties of the process in an executable BPM are mainly the same as in other BPM views (Analysis and Collaborative). However some properties or behaviors are added or modified, in order to fully support the executable BPM. Only those specific behaviors or properties are described in the following sections. $ For more information on the general properties of the process, see section Process properties in chapter Building an Analysis Business Process Model. A process also includes the following properties, each with their respective page: 3URSHUW\ Implementation Local variables 'HVFULSWLRQ Contains existing action description fields and allows you to define how the process is implemented List of variables local to the process. You can create variables from this list. Only available for composite processes,psohphqwdwlrqsdjhriwkhh[hfxwdeohsurfhvv,psohphqwdwlrq is a parameter that applies to an executable process. In the Implementation page, you can define how the process is implemented, in order to be executed by the process language engine you have selected. PowerDesigner

241 &KDSWHU%XLOGLQJDQ([HFXWDEOH%300DQDJLQJ'DWDDQG&KRUHRJUDSK\ Depending on your choice of implementation, the properties contained in the Implementation page change accordingly. However the following properties always display: 3URSHUW\ Type Action type 'HVFULSWLRQ Allows you to select a type of implementation: None, Loop, Execute operation, Generate event. None is the default Specifies the way the action should be executed. It can be a manual, automated or an undefined type. This box is grayed out when you select a type different from None or Execute operation in the Type box 7\SHSURSHUW\RIWKH,PSOHPHQWDWLRQSDJH From the Type dropdown listbox of the Implementation page, you can select the following types of implementation: 7\SH None Loop Execute operation Generate event 8VH When no implementation type is defined or when the composite process defines a scope When you want to provide simple declaration of loops When you want to implement processes by operations (send or receive messages) When you want to specify the generation of events (timer, throw of fault, compensation request) You access each of these types of implementation from processes contained in a composite process. Execute Operation and Generate Event implementation types are not available for composite processes, except when no object is defined under the composite process. BPM User s Guide

242 'HILQLQJSURFHVVHVLQDQH[HFXWDEOH%30 The following table summarizes the symbols that appear on the lower center part of the process symbol to identify graphically the kind of activity that implements it:,psohphqwhge\ $FWLYLW\W\SH *UDSKLFDOV\PERO Loop Execute operation /RRS. It provides simple declaration of loops 5HFHLYH. It allows a business process to provide services to its partners 6HQG. It allows a business process to make invocations to Web services provided by partners Generate Event :DLW. It allows the process to wait for a specific time interval or until a certain deadline is reached 7KURZ. It allows the throw of a fault &RPSHQVDWLRQ. It calls for the compensation of another activity that is already finished A :DLW,7KURZ, and &RPSHQVDWLRQ activities are defined using the Wait, Throw or Compensate stereotype in the event property sheet. $ For more information on the stereotypes of an event, see section Event properties. Each implementation type is developed in the following sections and has its own properties and behavior. ([HFXWHRSHUDWLRQDFWLYLW\ An ([HFXWHRSHUDWLRQ DFWLYLW\ is an activity that is implemented by an operation. It allows you to design the reception or the emission of messages. PowerDesigner

243 &KDSWHU%XLOGLQJDQ([HFXWDEOH%300DQDJLQJ'DWDDQG&KRUHRJUDSK\ These messages can represent: The exchange of information between partners The invocation of remote functions or procedures. In this case, Sent and Received messages are also called Input and Output parameters When you select ([HFXWHRSHUDWLRQ in the 7\SH dropdown listbox, the following properties display:,psohphqwhge\: Allows you to select the implementation operation. BPEL4WS only supports One-Way and Solicit-Response operations. Sybase Integration Orchestrator only supports One-Way and Notification operation $FWLRQW\SH: Allows you to select an action type: Send Message, Receive Message, Receive Message and Reply, Send Response Message, and Send Fault Response Message. For more information, see table below. You do not need to specify that property for Sybase Integration Orchestrator models as it can be calculated from the type of the WSDL Operation $FWLRQGHVFULSWLRQ: Details how the action is executed. You can click the Action Description button to open a text editor, in which you can write pseudo code for example or an information on the program to execute, as well as open, insert and save any text files containing valuable information 5HFHLYHGPHVVDJH: Grayed-out box that displays the received message format associated with the operation you have selected in the Implemented By box. You can click the Properties tool to display the message format properties. The whole Received Message groupbox is grayed-out and empty when the activity sends an operation that does not requires a second message (send without any response). It is only possible when the process language you used supports variables typed by a message or when the message to map contains only one part. In this case, when you change the Action Type value, whereas the mapping is defined, you automatically switch to the Sent Message groupbox &RUUHODWLRQ: Allows you to select a correlation object. A received correlation contains the information that allows the process engine to direct a received message to the correct process instance. Received correlation objects are mostly used for receive messages activities. For activities that send messages, the received message corresponds to a synchronous response of an invoked operation and the engine identifies the process instance without any correlation object BPM User s Guide

244 'HILQLQJSURFHVVHVLQDQH[HFXWDEOH%30 9DULDEOHPDSSLQJ: Allows you to select an existing variable object. The whole content of the received message is retrieved in that variable. The variable object corresponds to the first message of the operation for receive activities, and to the second message of the operation for activities that send messages. It allows you to specify where the information sent by partners to the process is locally stored. 6HQWPHVVDJH: Grayed-out box that displays the sent message format associated with the operation you have selected in the Implemented By box. You can click the Properties tool to display the message format properties. The whole Sent Message groupbox is grayed-out and empty when the activity receives an operation that does not contain a second message (the partner sends an information to the process without expecting a response). In this case, when you change the Action Type value, whereas the mapping is defined, you automatically switch to the Received Message groupbox &RUUHODWLRQ: Allows you to select a correlation object. It contains the information provided to the partner in order for him to use it in a next exchange with the process. Only available for BPEL4WS 9DULDEOHPDSSLQJ: Allows you to select an existing variable object. It specifies the local variable to use to for sending information to a partner. The variable object corresponds to the second message of the operation for receive activities, and to the first message of the operation for activities that send messages. $ For more information on variables and correlations, see respectively sections Defining variables and Defining correlations. Action types You can select one of the following action types: $FWLRQW\SH Send Message Receive Message Receive Message and Reply Send Response Message Send Fault Response Message 'HVFULSWLRQ To initiate a message sent to a partner, the partner can respond or not To receive a message from a partner To receive a message from a partner and send a message in response) To send a message to a partner in response to a received message To send a fault message to a partner in response to a received message PowerDesigner

245 &KDSWHU%XLOGLQJDQ([HFXWDEOH%300DQDJLQJ'DWDDQG&KRUHRJUDSK\ 'UDJJLQJDQGGURSSLQJDQRSHUDWLRQ If you drag and drop an operation from the Browser to the diagram, you automatically create an activity that sends messages implemented by this operation. Received message The following table summarizes the relationships between the input/output messages of the operation and the UHFHLYHG messages of the process: 2SHUDWLRQ?3URFHVV 5HFHLYHPHVVDJH Undefined 5HFHLYHPHVVDJHDQG UHSO\ One-Way Input is received Not available Request-Response Input is received Output is ignored Input is received Output is sent Notification Output is received Not available Solicit-Response Input is ignored Output is received Input is sent Output is received Sent message The following table summarizes the relationships between the input/output messages of the operation and the VHQW messages of the process: 2SHUDWLRQ?3URFHVV 6HQGUHVSRQVH PHVVDJH 6HQGIDXOW UHVSRQVH PHVVDJH Undefined 6HQGPHVVDJH One-Way Not available Not available Input is sent Request-Response Input is ignored Output is sent Input is ignored Output is ignored Fault is sent Input is sent Output is received Notification Not available Not available Output is sent Solicit-Response Input is sent Output is ignored Input is ignored Output is ignored Fault is sent Input is received Output is sent BPM User s Guide

246 'HILQLQJSURFHVVHVLQDQH[HFXWDEOH%30 'HFRPSRVLQJDQ,PSOHPHQWHG%\SURFHVV An Implemented By process cannot be composite. However, in BPEL4WS, a receive activity associated with a request-response operation must specify the actions to perform between the reception of the input message and the emission of the response message. To do so, the activity that receives messages must be decomposed into a sub-graph to specify intermediate activities. If one of these conditions changes, the process becomes atomic again, loosing all its sub-objects. For Sybase Integration Orchestrator, the action type is linked to the operation type. The implementation of a Notification operation corresponds to the reception of a message. The implementation of a One-Way operation corresponds to the emission of a message. /RRSDFWLYLW\ A /RRSDFWLYLW\ is an activity that provides simple declaration of loops. When you select /RRS in the 7\SH dropdown listbox, the process automatically becomes composite and the sub-graph details the actions to perform inside the loop. If you change the composite loop activity to atomic, the Implementation Type automatically changes to None. The following properties display in the Implementation page: 3URSHUW\ Loop expression Loop type Editor 'HVFULSWLRQ Allows you to specify the loop condition Allows you to specify the kind of loops. You can click the dropdown listbox to select a predefined loop type when available in the process language Allows you to edit the selected implementation type within an XML colored syntax editor *HQHUDWHHYHQWDFWLYLW\ A *HQHUDWHHYHQWDFWLYLW\ is an activity that specifies the generation of events. A process can generate several kinds of events. The generation of an event is equivalent to the emission of the event. $ For more information on events, see section Defining events. PowerDesigner

247 &KDSWHU%XLOGLQJDQ([HFXWDEOH%300DQDJLQJ'DWDDQG&KRUHRJUDSK\ This type of activity can design: The wait using a Timer event The emission of a fault using a Fault event The request for a process compensation using a Compensation event For Fault and Compensation events, you must define an event handler to handle the occurrence of the event by triggering a new graph of activities. $ For more information on event handlers, see section Defining event handlers. When you select *HQHUDWHHYHQW in the 7\SH dropdown listbox, the following properties display in the Implementation page: 3URSHUW\ Event Event mapping Editor 'HVFULSWLRQ Allows you select an event from the dropdown list box. You can click the Properties tool to display the object property sheet Only displays when the process generates an event with a Fault stereotype. It allows you to associate a data to the fault by selecting a local variable from the dropdown listbox that will store the fault data. You can click the Create tool to create a variable or click the Properties tool to open the property sheet of the variable Allows you to edit the selected implementation type within an XML colored syntax editor 'UDJJLQJDQGGURSSLQJDQHYHQW If you drag and drop an event from the Browser to the diagram, you automatically create a Generate event activity (associated with the dropped event). &UHDWLQJORFDOYDULDEOHVLQWRDSURFHVV You can create variables local to a process from the Local Variables page of the process property sheet. The process must be composite before you can create any local variables. You can visualize the local variables of all the composite processes defined in the model from the List of Variables, by selecting the Include Composite Processes tool. BPM User s Guide

248 'HILQLQJSURFHVVHVLQDQH[HFXWDEOH%30 v 7RFUHDWHDORFDOYDULDEOH 1 Open the property sheet of a process. 2 Click the Local Variables tab to open the corresponding page. 3 Click a blank line in the list. RU Click the Add a Row tool. An arrow appears at the beginning of the line. 4 Type a name and a code for the variable. 5 Click Apply to commit the creation of the new variable. 6 Double-click the new variable line to display the variable property sheet. PowerDesigner

249 &KDSWHU%XLOGLQJDQ([HFXWDEOH%300DQDJLQJ'DWDDQG&KRUHRJUDSK\ 8 Specify properties as required. 9 Click OK. &UHDWLQJORFDOYDULDEOHVIURPWKH0RGHOPHQX You can also create local variables from the Model menu if the current diagram is a sub-diagram of the composite process. BPM User s Guide

250 'HILQLQJGDWDWUDQVIRUPDWLRQV 'HILQLQJGDWDWUDQVIRUPDWLRQV A GDWDWUDQVIRUPDWLRQ allows you to design a transformation on data and update the values of variables with new data. It is used to copy data from one variable to another. Data transformations are usually expressed using XPath or XSLT language, which are languages that describe a way to locate, transform and process items in XML documents. Each data transformation has a corresponding unique and mandatory assignment. You define a data transformation by selecting the target variable ($VVLJQHG9DULDEOH) you need to use from the General page of the data transformation property sheet then the source variable (,QSXW9DULDEOH) that contains the data to retrieve in the Transformation page. A data transformation can have several variables as Input. In this case, Input Variable can remain undefined. You can: Transfer one or more source variables (Input Variable) to a target variable (Assigned Variable) Transfer a message part (Input Part) from a source variable to a message part (Assigned Part) in a target variable The data transformation is represented as a rectangle in the diagram: Moving data transformations In BPEL4WS, the data transformation can be used to define Assign activities and Property aliases. In Sybase Integration Orchestrator the data transformation can be used to define Assign and Map activities. :KHQ\RXPRYHDGDWDWUDQVIRUPDWLRQEHWZHHQPRGHOV a copy of the assigned variable stays in the source model, if the variable is used by processes in that model, as external shortcut of variables are not supported. :KHQ\RXPRYHDGDWDWUDQVIRUPDWLRQZLWKLQWKHVDPHPRGHO a shortcut of the assigned variable stays in the source process or package, if the variable is used by some processes in that package or composite process. PowerDesigner

251 &KDSWHU%XLOGLQJDQ([HFXWDEOH%300DQDJLQJ'DWDDQG&KRUHRJUDSK\ 'DWDWUDQVIRUPDWLRQSURSHUWLHV You can double-click any data transformation symbol in a diagram to display its properties: 3URSHUW\ Name Code Comment Stereotype Assigned variable Assigned Part 'HVFULSWLRQ Name of the data transformation Reference name of the data transformation Descriptive comment for the data transformation Sub-classification used to extend the semantics of an object without changing its structure; it can be predefined or userdefined Variable object that receives the result of the transformation. Allows you to select a variable from the variables defined under the composite process or any of its parents or an organization unit to represent the identification of a partner and dynamically allow the communication of its deployment address when executing the process (only available for BPEL4WS). You can click the Properties tool to open the property sheet of the selected object or click the Select Object tool to select a variable from all the models opened in the workspace Reference to a message part object when the assigned variable is typed by a message format (only available when the process language support messages in variables). You can click the Properties tool to open the property sheet of the selected part A data transformation also includes the Transformation property, within a distinct page that lets you edit the transformation expression. &UHDWLQJDGDWDWUDQVIRUPDWLRQ There are several ways to create a data transformation: From a diagram From the Browser From the list of data transformations At creation, a data transformation has a default name including a number, this number is assigned in the order of creation. BPM User s Guide

252 'HILQLQJGDWDWUDQVIRUPDWLRQV $ For more information on the different ways to create a data transformation, see section Creating an object in chapter Managing Objects in the *HQHUDO)HDWXUHV*XLGH. v 7RFUHDWHDGDWDWUDQVIRUPDWLRQ 1 Click the Data Transformation tool. 2 Click anywhere in the diagram. The following symbol appears at the click position: 3 Click the Pointer tool. RU Click the right mouse button. You release the Data Transformation tool. 4 Double-click the data transformation symbol to display the data transformation property sheet. 5 Specify properties as required. 6 Click OK. PowerDesigner

253 &KDSWHU%XLOGLQJDQ([HFXWDEOH%300DQDJLQJ'DWDDQG&KRUHRJUDSK\ 0RGLI\LQJGDWDWUDQVIRUPDWLRQSURSHUWLHV You can modify the data transformation properties using the following methods: From the data transformation property sheet From the list of data transformation $ For more information on the different ways to modify the data transformation properties, see section Modifying object properties in chapter Managing Objects in the *HQHUDO)HDWXUHV*XLGH. 0RGLI\LQJWKHGDWDWUDQVIRUPDWLRQGLVSOD\SUHIHUHQFH You can modify the following display preference for a data transformation using the Tools Display Preferences command: 3UHIHUHQFH Show stereotype 'HVFULSWLRQ Displays the stereotype of the data transformation 'HILQLQJDWUDQVIRUPDWLRQLQWKH7UDQVIRUPDWLRQSDJH Transformation is a parameter that applies to a data transformation. It contains the following parameters: 3DUDPHWHU Input variable 'HVFULSWLRQ (Optional) Allows you to select a variable or an organization unit to represent the identification of a partner and dynamically allow the communication of its deployment address when executing the process (only available for BPEL4WS) using XPATH language (only applicable to organization units). In more complex cases, the data transformation can take several variables as inputs that you describe in the Expression box. In this case, the Input Variable box is not used and the list of input variables is defined in the Expression box. You can click the Properties tool to open the property sheet of the selected object or click the Select Object tool to select a variable from all the models opened in the workspace BPM User s Guide

254 'HILQLQJGDWDWUDQVIRUPDWLRQV 3DUDPHWHU Input part Editor 'HVFULSWLRQ Reference to a message part object when the input variable is typed by a message format (only available when the process language support messages in variables). You can click the Properties tool to open the property sheet of the selected part Allows you to type the transformation expression using XPath or XSLT language PowerDesigner

255 &KDSWHU%XLOGLQJDQ([HFXWDEOH%300DQDJLQJ'DWDDQG&KRUHRJUDSK\ 'HILQLQJFRUUHODWLRQV A FRUUHODWLRQ references an ordered list of variables defined under the model, the package or a composite process. This list is used for process instance identification. The correlation object can then be associated with a process implemented by an operation. For example, if a client is approved for a loan he may send a request to actually obtain that loan. Correlation is used to make sure that the second request goes to the correct process instance. In BPEL4WS, the correlation is used to define CorrelationSet elements. In Sybase Integration Orchestrator, the correlation is used to define Key elements. You can have two correlations for the activity that sends messages implemented by an input-output operation: One correlation associated with the input message received by the operation One correlation associated with the output message sent by the operation $ For more information on input-output operations, see section Type property of the Implementation page. The Dependencies page of the correlation property sheet displays the list of the processes that use the correlation for reception and the list of the processes that use the correlation for emission. :KHQ\RXPRYHDFRUUHODWLRQ between models, a copy of the correlation stays in the source model, if the correlation or one of its variables is used by processes in that model, as external shortcut are not allowed. :KHQ\RXFRS\DFRUUHODWLRQ the list of variables associated with it is also duplicated. Correlations have no symbol in the diagram, but have the following graphical representation in the Browser: External shortcuts for a correlation are not supported. BPM User s Guide

256 'HILQLQJFRUUHODWLRQV &RUUHODWLRQSURSHUWLHV Each correlation definition includes the following properties: 3URSHUW\ Name Code Comment Stereotype 'HVFULSWLRQ Name of the correlation Reference name of the correlation Descriptive comment for the correlation Sub-classification used to extend the semantics of an object without changing its structure; it can be predefined or user-defined A correlation object also includes the Variables property, within a distinct page that lets you select the variables that define the correlation. &UHDWLQJDFRUUHODWLRQ There are several ways to create a correlation: From the list of correlations From the Browser At creation, a correlation has a default name including a number, this number is assigned in the order of creation. $ For more information on the different ways to create a correlation, see section Creating an object in chapter Managing Objects in the *HQHUDO )HDWXUHV*XLGH. v 7RFUHDWHDFRUUHODWLRQ 1 Select Model Correlations to display the List of Correlations showing any correlations currently defined for the model. 2 Click a blank line in the list. RU Click the Add a Row tool. An arrow appears at the beginning of the line. 3 Type a name and a code for the correlation. 4 Click Apply to commit the creation of the new correlation. 5 Double-click the new correlation line to display the correlation property sheet. PowerDesigner

257 &KDSWHU%XLOGLQJDQ([HFXWDEOH%300DQDJLQJ'DWDDQG&KRUHRJUDSK\ 6 Specify properties as required. 7 Click OK. 0RGLI\LQJFRUUHODWLRQSURSHUWLHV You can modify the correlation properties using the following methods: From the correlation property sheet From the list of correlations $ For more information on the different ways to modify the correlation properties, see section Modifying object properties in chapter Managing Objects in the *HQHUDO)HDWXUHV*XLGH. $GGLQJYDULDEOHVWRDFRUUHODWLRQ You can add variables to a correlation to gather variables. The correlation can then be associated with a process implemented by an operation. Each time you select a variable from the list, it is added to the Variables page of the correlation property sheet and no longer appears in the list of available variable. BPM User s Guide

258 'HILQLQJFRUUHODWLRQV v 7RDGGYDULDEOHVWRDFRUUHODWLRQ 1 Open the correlation property sheet. 2 Click the Variables tab to open the corresponding page. 3 Click the Add Variables tool to open a variables selection list. 4 Click the Down Arrowhead in the upper part of the list to select a model or package from the dropdown list. The selection list gathers variables defined for the model together with variables local to a process, if you click the Include Sub-Objects tool. 5 Select the variables you want. 6 Click OK to close the selection list. PowerDesigner

259 &KDSWHU%XLOGLQJDQ([HFXWDEOH%300DQDJLQJ'DWDDQG&KRUHRJUDSK\ The selected variables are added to the Variables page of the correlation property sheet and no longer appear in the available variable selection list. Variables that are local to a process appears grayed-out, you cannot modify them from this list, whereas variables that are defined for the entire model are modifiable. 7 Click OK to close the property sheet. BPM User s Guide

260 'HILQLQJFRQGLWLRQDOEUDQFKLQJ 'HILQLQJFRQGLWLRQDOEUDQFKLQJ There are two conditional branching instructions in BPEL4WS: The VZLWFK activity is a complex activity. It selects and executes one activity set based on the evaluation of one or more conditions The SLFN activity specifies a whole set of messages that can be received from the same or different partners. Whenever one of the specified messages is received, the Pick activity is completed, and processing of the business process continues. Additionally, one may specify that processing should continue if no message is received in a given time. All conditions on the outgoing flows must be of the same kind (Exception or Event). You define conditional branching instructions by selecting the appropriate stereotype in the decision object. $ For more information on decisions, see section Defining decisions in chapter Building an Analysis BPM. PowerDesigner

261 &KDSWHU%XLOGLQJDQ([HFXWDEOH%300DQDJLQJ'DWDDQG&KRUHRJUDSK\ 'HILQLQJSDUDOOHOEUDQFKLQJ The IORZ XML element in BPEL4WS specifies the execution of several activity paths in parallel. It allows you to define links joining the activities contained in a process. You define parallel branching instructions by selecting the appropriate stereotype in the synchronization object for both split and merge of parallel paths. $ For more information on synchronizations, see section Defining synchronization in chapter Building an Analysis BPM. BPM User s Guide

262 'HILQLQJORRSV 'HILQLQJORRSV The loop instruction is the "While". The ZKLOH activity repeatedly performs its child activities until the specified boolean condition no longer evaluates to true. The condition is evaluated as an XPath expression. You define a loop using the Loop property in the process property sheet. $ For more information on the Loop property, see section Type property of the Implementation page. PowerDesigner

263 &KDSWHU%XLOGLQJDQ([HFXWDEOH%300DQDJLQJ'DWDDQG&KRUHRJUDSK\ 'HILQLQJHYHQWV An HYHQW manages interruptions in the normal execution of the process. Unexpected events often occur during execution phases. These events can be critical, and need to be detected. For example, when a customer interacts with one process, that customer might need to be reminded to provide information required by another process. An event can be of the following types: Timer Fault Compensation You assign a type to an event using the Stereotype property in its property sheet. The event can then be used to specify both the activity that generates the event and the event handler that specifies the activities to execute when the event occurs. The generation of an event is equivalent to the throw of the event. The event handler is equivalent to the catch of an event. $ For more information on the generation of an event, see section Type property of the Implementation page. $ For more information on the event handler, see section Defining event handlers. Events have no symbol in the diagram, but have the following graphical representation in the Browser: You can visualize in the Dependencies page of the event property sheet, the list of the flows that use the event as an event handler and the list of the processes that send the event. BPM User s Guide

264 'HILQLQJHYHQWV (YHQWSURSHUWLHV Each event definition includes the following properties: 3URSHUW\ Name Code Comment Stereotype 'HVFULSWLRQ Name of the event Reference name of the event Descriptive comment for the event You can type your own stereotype or select a stereotype from the list of the following predefined stereotypes: Fault, Timer, Compensation Stereotype You can click the Stereotype dropdown listbox to select one of the following predefined stereotypes for an event: 3UHGHILQHGVWHUHRW\SH Fault Timer Compensation 'HVFULSWLRQ A Fault event corresponds to the occurrence of an error in the normal execution of the process A Timer event corresponds to a time event and needs to specify a duration or absolute time. For example: "each Sunday" is a deadline and "1 hour" is a duration. You can define the Timer expression or value in the Expression box A Compensation event corresponds to the invocation of process compensation. The compensation is a special kind of event that allows to cancel the actions performed by an already terminated process If used to implement an activity that generates an event: A Fault event implements a Throw activity A Timer event implements a Wait activity A Compensation event implements a Compensate activity $ For more information on the generation of an event, see section Type property of the Implementation page. PowerDesigner

265 &KDSWHU%XLOGLQJDQ([HFXWDEOH%300DQDJLQJ'DWDDQG&KRUHRJUDSK\ &UHDWLQJDQHYHQW There are several ways to create an event: From the list of events From the Browser At creation, an event has a default name including a number, this number is assigned in the order of creation. $ For more information on the different ways to create an event, see section Creating an object in chapter Managing Objects in the *HQHUDO )HDWXUHV*XLGH. v 7RFUHDWHDQHYHQW 1 Select Model Events to display the List of Events showing any events currently defined for the model. 2 Click a blank line in the list. RU Click the Add a Row tool. An arrow appears at the beginning of the line. 3 Type a name and a code for the event. 4 Click Apply to commit the creation of the new event. 5 Double-click the new event line to display the event property sheet. BPM User s Guide

266 'HILQLQJHYHQWV 6 Specify properties as required. 7 Click OK. 0RGLI\LQJHYHQWSURSHUWLHV You can modify the event properties using the following methods: From the event property sheet From the list of events $ For more information on the different ways to modify the event properties, see section Modifying object properties in chapter Managing Objects in the *HQHUDO)HDWXUHV*XLGH. PowerDesigner

267 &KDSWHU%XLOGLQJDQ([HFXWDEOH%300DQDJLQJ'DWDDQG&KRUHRJUDSK\ 'HILQLQJHYHQWKDQGOHUV When executing a process, errors might occur, either in the operations being invoked or in the process itself. You can catch such errors and handle them using event handlers. An HYHQWKDQGOHU uses outgoing flows to manage the handling of process events. These flows represent the event that is triggered and the target activity specifies the handling of the event. In case of an exceptional message that can be received at any time (usually a cancellation message), an ([FHSWLRQ stereotype is used in the flow property sheet to indicate that the outgoing flow is the reception of an exceptional message. The destination process must then receive the message. The event handler symbol is positioned on the flow and can have the following symbols: (YHQW Fault *UDSKLFDOV\PERO Timer Compensation Undefined or unknown Exception The event handler is drawn as the source of the arrow representing the flow. If you move the flow attach points, the event handler symbol moves with the process: BPM User s Guide

268 'HILQLQJHYHQWKDQGOHUV &UHDWLQJDQHYHQWKDQGOHU You create an event handler from the flow property sheet, by assigning an existing or new event to the flow. You should previously assign a type to this event by selecting a stereotype in its property sheet. v 7RFUHDWHDQHYHQWKDQGOHU 1 Open the flow property sheet. 2 Click the Condition tab to open the corresponding page. 3 Click the dropdown listbox in the Event box and select an event from the list. 4 Click OK. $ For more information on the Event property of a flow, see section Defining flows in an executable BPM in chapter Building an Executable BPM: Working with Service Description Objects. 0RGLI\LQJHYHQWKDQGOHUSURSHUWLHV You can modify an event handler from the flow property sheet. $ For more information, see section Creating an event handler. PowerDesigner

269 &KDSWHU%XLOGLQJDQ([HFXWDEOH%300DQDJLQJ'DWDDQG&KRUHRJUDSK\ 'HILQLQJIORZVLQDQH[HFXWDEOH%30 A IORZ describes an interaction between two objects. It is represented as a line going from one object to another. The global definition of the flow in an executable BPM is mainly the same as in other BPM views (Analysis and Collaborative). However some properties or behaviors are added or modified, in order to fully support the executable BPM. $ For more information on the global definition of the flow, see section Defining flows in chapter Building an Analysis Business Process Model. Message format property Event property You can no longer associate a message format with a flow in an executable BPM, as the exchange of information is no longer managed by flows. You can double-click any flow symbol in an executable BPM to display the following added property in the Condition page of the flow. It allows you to create an event handler: 3URSHUW\ Event 'HVFULSWLRQ Located in the Condition page of the flow property sheet. It allows you to select an event among all the events defined in the model using the dropdown listbox or to create other events using the Create tool. You can also click the Properties tool to display the event properties $ For more information on event handlers, see section Defining event handlers in chapter Building an Executable BPM: Managing Data and Choreography. Stereotype property An ([FHSWLRQ stereotype is provided to specify that the destination process of the flow handles the reception of an exceptional message that can occur at any time during execution. If you select this stereotype, the Event dropdown listbox and the Editor are grayed out. $ For more information on events, see section Defining events in chapter Building an Executable BPM: Managing Data and Choreography. BPM User s Guide

270 'HILQLQJIORZVLQDQH[HFXWDEOH%30 Mapping property If you have specified an event with a Fault stereotype in the Condition page of the flow, the following added property appears: 3URSHUW\ Mapping 'HVFULSWLRQ Located in the Condition page of the flow property sheet. It allows you to select a local variable that will retrieve the information that is associated to the fault event. You can create other variables using the Create tool. You can also click the Properties tool to display the variable properties $ For more information on variables, see section Defining variables in chapter Building an Executable BPM: Managing Data and Choreography. PowerDesigner

271 &KDSWHU%XLOGLQJDQ([HFXWDEOH%300DQDJLQJ'DWDDQG&KRUHRJUDSK\ 'HILQLQJVWDUWVLQDQH[HFXWDEOH%30 A VWDUWis a starting point of the whole process represented in the business process diagram. The global definition of the start in an executable BPM is the same as in other BPM views (Analysis and Collaborative). However some behaviors are modified, in order to fully support the executable BPM. $ For more information on the global definition of the end, see section Defining ends in chapter Building an Analysis Business Process Model. Start constraints Starts are not allowed in a top-level diagram, and only RQH start is allowed in the FRPSRVLWHSURFHVV. For this reason, the Start tool is grayed out in the palette if a start symbol already exists in the current diagram. Pasting a start is also forbidden if a start already exists in the sub-process diagram. &KDQJHWDUJHWODQJXDJH If you change the target language of an Analysis or Collaborative model, for it to become an Executable model, all start objects that appear under composite processes and all start objects that appear simultaneously in the same top-level diagram are merged to become one. BPM User s Guide

272 'HILQLQJHQGVLQDQH[HFXWDEOH%30 'HILQLQJHQGVLQDQH[HFXWDEOH%30 An HQG is a termination point of the processes described in the business process diagram. It represents an interface with the outside world. The global definition of the end in an executable BPM is mainly the same as in other BPM views (Analysis and Collaborative). However some properties or behaviors are added or modified, in order to fully the executable BPM. $ For more information on the global definition of the end, see section Defining ends in chapter Building an Analysis Business Process Model. Stereotype property Distinct end objects A 7HUPLQDWLRQ stereotype is provided to specify the immediate end of the whole process without error. You can create several ends within the same business process diagram. However, when parallel branches terminate in distinct end objects, an implicit synchronization is defined before the whole process ends. PowerDesigner

273 CHAPTER 7 6LPXODWLQJD%XVLQHVV3URFHVV0RGHO About this chapter Contents This chapter describes how to parameter, launch and analyze the results of a BPM simulation. 7RSLF 3DJH Defining simulation 258 SIMUL8 support 260 Defining simulation properties 265 Exporting a SIMUL8 model 273 Launching a simulation and analyzing the results 280 Importing a SIMUL8 model 282 BPM User s Guide

274 'HILQLQJVLPXODWLRQ 'HILQLQJVLPXODWLRQ Simulation uses Why simulate a BPM? 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 today s 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, simulationbecomes a key analytical tool. 6LPXODWLRQallows 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 is widely used in manufacturing, in repetitive processes and even in training for practicing decision making skills. 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 PowerDesigner

275 &KDSWHU6LPXODWLQJD%XVLQHVV3URFHVV0RGHO Provide information on multiple performance measures Provide results that are easy to understand and communicate Appeal and engage people s interest Gives planners unlimited freedom to try out different ideas for improvement, risk free When to simulate a BPM? You simulate a BPM when: The process being analyzed is well defined and repetitive An operational (logical or quantitative) decision is being taken Activities and events show some interdependency and variability The cost to experiment on the actual system is greater than the cost to perform a simulation BPM User s Guide

276 6,08/VXSSRUW 6,08/VXSSRUW 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 6,08/EDVLFV The main objects in SIMUL8 are the following: 6,08/REMHFWV Work Center Work Item Work Entry Point Work Exit Point 'HVFULSWLRQ Place where work takes place on work items. Work items can be transformed by work centers (they can be updated, split or merged) Representation of a work being performed in the organization. For a factory process it is the product, for a hospital process it is a patient, and for a purchase order process it is the order. This object does not appear in the diagram except on simulation execution where potentially several work items transit through the flows A work entry point is a place where work to be done appears 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) 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) PowerDesigner

277 &KDSWHU6LPXODWLQJD%XVLQHVV3URFHVV0RGHO 6,08/REMHFWV Label Route In / Route Out Queue 'HVFULSWLRQ Labels can be attached to any work item going through the simulation. For example you might attach a label "Illness" to work item type "Patients" and set this label to a code number as they enter your simulation of a hospital. Each code number would represent a type of illness and could be used to route the patients through the different work centers in the simulation. Labels can: Contain either text or numbers Be used to tell work centers, which distributions to use for defining work times Be used to prioritize work items as they enter a queue Be used to route a work item depending on label value (route out Discipline property = Label) Be used to control the image that is used to display the work item on the screen Be used to batch work together as it enters a work center 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: circulate, percent, ) to control where work items should go next after being at a work center A queue is a place where work to be done can wait until appropriate resources or work centers are available BPM User s Guide

278 6,08/VXSSRUW 6,08/REMHFWV Resource Clock Sub-Window 'HVFULSWLRQ Items that are required by work centers to work on work items. Work centers cannot start work until both a work item is available and the specified resources are also available. Resources are shared between all the work centers that use them. Each type of resource has a number of available resources. A pooled resource is one resource that does not really exist but instead is a combination of other resources. If task A can be performed by people A and task B can be performed by people B and task C can be performed by either A or B people then create a pooled resource called C and use the Pooled check box in the resource dialog and button to set that either A or B can be used whenever a work center is seeking resource type C Time Units: Seconds, Minutes (by default), Hours, Days, or Simple unit count from zero (= no unit). For units smaller than seconds use decimals of units: = 1 millisecond. Other properties: Start time each day, Time in each day, Days per week, Warm up period, Results collection period, Running time (this is the simulation duration: default value = 2400) With a complex simulation you may want to summarize your simulation at different levels. You do this, using sub-windows and sub-windows within sub windows to any level of depth you require. You drag a rectangle around the objects symbol you would like to include in the sub-window, then rightclick the rectangle and select the Create Sub-Window command. The group of symbols is replaced with a subwindow containing the symbols, plus an icon (hidden by the sub-window). A sub-window can contain other sub-windows. You can close the sub-window, and then re-open it by double-clicking the icon PowerDesigner

279 &KDSWHU6LPXODWLQJD%XVLQHVV3URFHVV0RGHO 6,08/REMHFWV Component 'HVFULSWLRQ You must select a group of objects, then right-click the Create Component Type command. The selected objects become sub-objects, and a new component is created. If you save the component as a reusable component (via Component Properties Toolbar Save As Reusable component), a new tool is added in the toolbar2. When you use the New Component tool, the component and its sub-objects are duplicated, not reused. A Component can contain other components. To display the sub-components: (for example, to see the results of each sub-object after a simulation) in the property sheet of the component, you must click the Graphics button and deselect the Hide Sub-Objects checkbox. The component icon itself can be hidden. The command Objects Advanced Components All allows you to redisplay the component properties +RZGRHVVLPXODWLRQZRUNLQ3RZHU'HVLJQHU" Simulating the BPM using SIMUL8 implies the following phases: Prepare the BPM objects for a SIMUL8 model generation by defining specific properties Generate a SIMUL8 model understandable by SIMUL8 in PowerDesigner application Enrich the SIMUL8 model in SIMUL8 application Launch a simulation in SIMUL8 application Analyze the results, perform adjustments and re-launch a simulation in SIMUL8 application, if required Reverse a SIMUL8 model into an existing BPM in PowerDesigner when simulation results reveal problems that can be solved in PowerDesigner Correct the BPM according to the simulation results BPM User s Guide

280 6,08/VXSSRUW 6,08/;(0EDVLFV PowerDesigner ships with a SIMUL8 extended model definition (XEM). When attached to a BPM, this XEM allows the display of: The SIMUL8 properties as extended attributes in the Extended Attributes page of the PowerDesigner objects property sheet that allow you to prepare BPM objects for simulation in SIMUL8 The SIMUL8 model export command that allows you to export a SIMUL8 new model from a BPM The SIMUL8 model import command that allows you to import a SIMUL8 model into a new BPM or an existing one $ For more information on XEM, see section Working with extended model definitions in the *HQHUDO)HDWXUHV*XLGH. PowerDesigner

281 &KDSWHU6LPXODWLQJD%XVLQHVV3URFHVV0RGHO 'HILQLQJVLPXODWLRQSURSHUWLHV Before simulating a BPM in SIMUL8, you have to prepare the BPM objects for a SIMUL8 model export. When the SIMUL8 XEM is attached to your BPM, you can define extended attributes, which are specific to SIMUL8 from the Extended Attributes page of the following PowerDesigner objects property sheet: Diagram Process Start End Resource Flow link Resource flow link Simulation properties described in each of the following sections are the only ones supported in PowerDesigner. All other non-described simulation properties such as "High Volume" (for work centers) or "Unlimited Arrivals" (for work entry points) for example are not supported. PowerDesigner provides default values for simulation properties that allow you to rapidly simulate your BPM. However, you may want to customize some properties to suit your personal needs. In that case and for valuable simulation results, you should begin to redefine first properties relative to: 'RPDLQ Time unit and processing time Declaration and assignment of resources on processes Probability estimation on conditional flows Cost estimation on processes, resources etc. 3URSHUW\WRXVH TimeUnit, SimulationRunningTime (diagram property sheet) and Duration (process property sheet) NumberAvailable (resource property sheet) and ResourcePriority (process property sheet RoutingOutPercent (flow property sheet) Profit plug-in that allows you to add financial information to your simulation so that results can be seen directly in terms of costs improvement BPM User s Guide

282 'HILQLQJVLPXODWLRQSURSHUWLHV $ For more information on the Profit plug-in, see section Launching a simulation and analyzing the results. 'HILQLQJGLDJUDPVLPXODWLRQSURSHUWLHV From the Extended Attributes page of the diagram property sheet, you can display the following SIMUL8 extended attributes: $ For more information on how to display the diagram property sheet, see section Defining a diagram in chapter Managing Models in the *HQHUDO )HDWXUHV*XLGH. ([WHQGHGDWWULEXWH 9DOXH 'HVFULSWLRQ DiagramScale 100 The percent scale value is applied to the symbol coordinates from the top left corner of the diagram FinanceCurrencySymbol $ Currency used by the finance properties of the objects. Use "E" for Euro. Financial results are displayed in the SIMUL8 Finance Income Statement window FinanceOverheadCost 0 Fixed costs. These non-object based costs will be included in the SIMUL8 Finance Income Statement window FinanceOverheadRevenue 0 Fixed revenues. These non-object based costs will be included in the SIMUL8 Finance Income Statement window SimulationRunningTime 2400 Number of time units that the simulation will run while collecting results information 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 = 1 millisecond 'HILQLQJSURFHVVVLPXODWLRQSURSHUWLHV The PowerDesigner atomic process is mapped to the SIMUL8 ZRUNFHQWHU, whereas the composite and implemented by processes are mapped to the SIMUL8 FRPSRQHQW. PowerDesigner

283 &KDSWHU6LPXODWLQJD%XVLQHVV3URFHVV0RGHO The following simulation properties only apply to the atomic process; composite and implemented by processes do not have SIMUL8 extended attributes. From the Extended Attributes page of the process property sheet, you can display the following SIMUL8 extended attributes: ([WHQGHGDWWULEXWH 9DOXH 'HVFULSWLRQ FinanceCapitalCost 0 Capital cost. At the end of simulation, the accumulated data on the flows of money are displayed in the SIMUL8 Finance Income Statement window FinanceCostByTimeUnit 0 Usage cost of the process by time unit FinanceCostByUnit 0 Usage cost of the process by work unit Replicate 1 Effective number of processes performing the same tasks. Using the Replicate number is a way to copy the process ResourcePriority 50% If two processes both require the same resource before they can start work, the process with the highest priority will be given the resource first (from 0 to 100) ResourceRelease true If false, it means that resources must wait with the work item if the process is "blocked" (i.e. if it cannot send the work items to the next simulation object) TimingBoundLower 10 Lower bound for the uniform timing distribution type. Samples from a uniform distribution are equally spread between the lower bound and the upper bound TimingBoundUpper 11 Upper bound for the uniform timing distribution type. Samples from a uniform distribution are equally spread between the lower bound and the upper bound TimingDistribution Average Statistical distributions provide a method of simulating the variations that occur in timing in the process. Other values: Exponential, Fixed, Normal, Uniform TimingStandardDeviation 0 Standard deviation for the normal timing distribution type. For the average distribution type, this standard deviation value is set to: average value / 4 BPM User s Guide

284 'HILQLQJVLPXODWLRQSURSHUWLHV $ For more information on how to display the process property sheet, see section Process properties in an Analysis BPM in chapter Building an Analysis Business Process Model. 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 'HILQLQJGHFLVLRQVLPXODWLRQSURSHUWLHV The PowerDesigner decision object is mapped to the SIMUL8 ZRUNFHQWHU and has specific values for the Routing in and Routing out properties that you cannot modify. The decision object does not have any simulation properties. 'HILQLQJV\QFKURQL]DWLRQVLPXODWLRQSURSHUWLHV The PowerDesigner synchronization is mapped to the SIMUL8 ZRUNFHQWHU and has specific values for the Routing in and Routing out properties that you cannot modify. The synchronization object does not have any simulation properties. 'HILQLQJVWDUWVLPXODWLRQSURSHUWLHV The PowerDesigner start is mapped to the SIMUL8 ZRUNHQWU\SRLQW. From the Extended Attributes page of the start property sheet, you can display the following SIMUL8 extended attributes: ([WHQGHGDWWULEXWH 9DOXH 'HVFULSWLRQ FinanceCapitalCost 0 Capital cost. Financial results are displayed in the SIMUL8 Finance Income Statement window FinanceCapitalCostBy Unit InterArrivalTimeAvera ge 0 Capital cost by work unit 10 Average time between two consecutive work items (in time units) PowerDesigner

285 &KDSWHU6LPXODWLQJD%XVLQHVV3URFHVV0RGHO ([WHQGHGDWWULEXWH 9DOXH 'HVFULSWLRQ InterArrivalTimeBound Lower InterArrivalTimeBound Upper InterArrivalTimeDistri bution InterArrivalTimeStand arddeviation 10 Lower bound for the uniform timing distribution type. Samples from a uniform distribution are equally spread between the lower bound and the upper bound 11 Upper bound for the uniform timing distribution type. Samples from a uniform distribution are equally spread between the lower bound and the upper bound Exponential The start object can feed work by using different statistical distributions 0 Standard deviation for the normal timing distribution type. For the average distribution type, this standard deviation value is set to: average value / 4 $ For more information on how to display the start property sheet, see section Start properties in an Analysis BPM in chapter Building an Analysis Business Process Model. 'HILQLQJHQGVLPXODWLRQSURSHUWLHV The PowerDesigner end is mapped to the SIMUL8 ZRUNH[LWSRLQW. From the Extended Attributes page of the end property sheet, you can display the following SIMUL8 extended attributes: ([WHQGHGDWWULEXWH 9DOXH 'HVFULSWLRQ FinanceCapitalCost 0 Capital cost. Financial results are displayed in the SIMUL8 Finance Income Statement window FinanceRevenuePerUnit 0 Revenue per unit HaltSimulationAtLimit False If checked, simulation may not reach the end of its normal run: the simulation stops when a certain number of work items have been processed SimulationLimit If the HaltSimulationAtLimit option is checked, indicates the maximum number of work items to process BPM User s Guide

286 'HILQLQJVLPXODWLRQSURSHUWLHV $ For more information on how to display the end property sheet, see section End properties in an Analysis BPM in chapter Building a Business Process Model. 'HILQLQJUHVRXUFHVLPXODWLRQSURSHUWLHV The PowerDesigner resource is mapped to the SIMUL8 5HVRXUFH. From the Extended Attributes page of the resource property sheet, you can display the following SIMUL8 extended attributes: $ For more information on how to display the resource property sheet, see section Resource properties in an Analysis BPM in chapter Building a Business Process Model. ([WHQGHGDWWULEXWH 9DOXH 'HVFULSWLRQ FinanceCapitalCostByUnit 0 Capital cost by resource unit. Financial results are displayed in the SIMUL8 Finance Income Statement window FinanceCostByUnit ByUnitTime 0 Cost by unit time and by unit NumberAvailable 10 Resources are used at processes to enable them to perform the work on work items 'HILQLQJIORZVLPXODWLRQSURSHUWLHV The PowerDesigner flow is mapped to the SIMUL8 URXWH. The route is not an object but a symbol that is why it has no SIMUL8 properties. However, the TXHXH object that is added to each route symbol during generation, has SIMUL8 extended attributes. PowerDesigner

287 &KDSWHU6LPXODWLQJD%XVLQHVV3URFHVV0RGHO From the Extended attributes page of the flow property sheet, you can display the following SIMUL8 extended attributes: ([WHQGHGDWWULEXWH 9DOXH 'HVFULSWLRQ AddQueue True Add queue on the flow. A queue is a place where work to be done can wait until appropriate resources or processes are available. If the source is the start object or the main simulation diagram, a queue is always added to prevent the loss of work items (display of an error dialog box during the simulation) QueueCapacity -1 Maximum count of work items that can be in this queue (-1 = no limit). When the maximum count is reached, further items are blocked (stay in the objects that feed the queue) QueueFinance CapitalCost 0 Capital cost of the queue. Financial results are displayed in the SIMUL8 Finance Income Statement window QueueFinanceCostByTimeUnit 0 Usage cost of the queue by unit and by time unit QueueInitialItemCount 0 Initial count of items in the queue at the start of the simulation run QueueMinWaitTime 0 The minimum time a work item must stay in the queue RoutingOutPercent 100 Only for a decision output flow: the work items coming from the decision are distributed to destinations according to percentages you specify $ For more information on how to display the flow property sheet, see section Flow properties in an Analysis BPM in chapter Building a Business Process Model. 'HILQLQJUHVRXUFHIORZVLPXODWLRQSURSHUWLHV The resource flow does not have any SIMUL8 specific properties because there is no link object and symbol between a work center and a resource. However the resource flow link supports the resource simulation properties of the process. BPM User s Guide

288 'HILQLQJVLPXODWLRQSURSHUWLHV From the Extended attributes page of the resource flow property sheet, you can display the following SIMUL8 extended attributes: $ For more information on how to display the resource flow property sheet, see section Resource flow properties in chapter Building a Business Process Model. ([WHQGHGDWWULEXWH 9DOXH 'HVFULSWLRQ ResourceMaxNumber True Maximum number of this type of resource required at the process. Change this from the same value as "Min" if the process can work faster if it can get more of this resource. Each additional resource found will reduce the time taken to complete the job ResourceMinNumber 1 Minimum number of this type of resource required at the process. Change this from 1 if you need more than one unit of this resource to do tasks at this process ResourceRequire Require Release Release Only Display Only Require Only If "Require": the resource must be available for the process to work. If "Release": the resource is released by the work item as soon as the task is complete PowerDesigner

289 &KDSWHU6LPXODWLQJD%XVLQHVV3URFHVV0RGHO ([SRUWLQJD6,08/PRGHO In order to simulate a BPM in the SIMUL8 application, you have to generate it into a SIMUL8 model (.XS8). From the Tools Simulation Export SIMUL8 File command, you open a standard generation dialog box that allows you to generate a.xs8 file from the BPM. This file contains PowerDesigner objects with simulation properties turned into SIMUL8 objects and properties. For export, PowerDesigner supports SIMUL8 version 9.0 and version &ROODERUDWLYH%30 You cannot export a SIMUL8 model from a collaborative BPM. &RQYHUWLQJ%30REMHFWVDQGSURSHUWLHVLQWR6,08/REMHFWVDQG SURSHUWLHV The export process converts BPM objects and properties into SIMUL8 objects and properties as follows:,qydolgfkdudfwhu When one of the following characters exists in the name of a PowerDesigner object, it is automatically replaced with an underscore character: - / + * & # [ ] =?. /! 'LDJUDP The PowerDesigner display preference "Window Color" is generated as the SIMUL8 window property "Fill Color". The following default values for SIMUL8 parameters are generated: Simulation speed: 100%. The simulation speed is set to 100% after generation in SIMUL8 Show Routes Arrows = yes. Flows are always shown after generation in SIMUL8 BPM User s Guide

290 ([SRUWLQJD6,08/PRGHO $WRPLFSURFHVV %30REMHFWVDQGSURSHUWLHV Process Process name and process comment Resource linked to the process 6,08/REMHFWVDQGSURSHUWLHV Work center name and memo 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. &RPSRVLWHSURFHVV %30REMHFWVDQGSURSHUWLHV Composite process with sub-objects Start and end of a composite process Composite process name 6,08/REMHFWVDQGSURSHUWLHV Component with sub-objects Work centers with "null" working time property Component name There are no simulation properties for composite processes.,psohphqwhge\surfhvv,iwkhlpsohphqwdwlrqremhfwlvfrpsrvlwh the "implemented by" process is generated as a component, which contains the sub-objects of the implementation object,iwkhlpsohphqwdwlrqremhfwlvqrwfrpsrvlwh the "implemented by" process is generated as a work center If the same process implements several processes in the diagram, a component is created for each process, because the SIMUL8 component is not reusable (only the component type is reusable). The PowerDesigner "implemented by" process has no simulation properties. If you reverse the generated file, these different components are reversed as one component. PowerDesigner

291 &KDSWHU6LPXODWLQJD%XVLQHVV3URFHVV0RGHO 'HFLVLRQ %30REMHFWVDQGSURSHUWLHV Decision Condition alias Comment 6,08/REMHFWVDQGSURSHUWLHV Work center (without queue) Name 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. 6\QFKURQL]DWLRQ %30REMHFWVDQGSURSHUWLHV Synchronization Name Comment 6,08/REMHFWVDQGSURSHUWLHV Work center (without queue) Name 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. BPM User s Guide

292 ([SRUWLQJD6,08/PRGHO 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: 5RXWLQJRXWSDUDPHWHUV Routing out batching Routing out batch size leaving work center property 'HVFULSWLRQ Turns each work item into N work items leaving it Fixed value: N (number of parallel flows) Distribution: Fixed Timing property = 0 time unit with Distribution property = Fixed. Priority property = 0 % used for resources. 6WDUW %30REMHFWVDQGSURSHUWLHV Start Start (in composite process) Name Comment Input flow Output flow 6,08/REMHFWVDQGSURSHUWLHV Work entry point Work center with a null working time Name Memo Routing in Routing out Both SIMUL8 and PowerDesigner allow more than one start object. Routing in: For start objects contained in composite processes, the work center Routing in property contains the list of input flows linked to the parent of the composite process. Routing out: Contains the list of objects linked to the outputs of the start objects. PowerDesigner

293 &KDSWHU6LPXODWLQJD%XVLQHVV3URFHVV0RGHO (QG %30REMHFWVDQGSURSHUWLHV end end (in composite process) Name Comment Output flow 6,08/REMHFWVDQGSURSHUWLHV Work exit point Work center with a null working time Name Memo Routing out Both SIMUL8 and PowerDesigner allow more than one end object. Routing in: The work exit point has no Routing in parameters. Routing out: For end objects contained in composite processes, the work center Routing out property contains the list of output flows linked to the parent of the composite process. 5HVRXUFH %30REMHFWVDQGSURSHUWLHV Resource Name Comment 6,08/REMHFWVDQGSURSHUWLHV Resource Name Memo A Resource is assigned to a work center via the work center properties. )ORZ With or without queue BPM User s Guide 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. 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.

294 ([SRUWLQJD6,08/PRGHO A single queue to each route object is added in order to get the simulation results of each queue separately. 2QWKHRXWSXWRIDZRUNHQWU\SRLQWFRQQHFWHGWRDZRUNFHQWHU there is always a queue, in order to avoid loosing work items during simulation. 2QWKHLQSXWRIDZRUNH[LWSRLQWFRQQHFWHGWRDZRUNFHQWHU there is no queue, it only accepts work pushed to it, otherwise work items would be blocked in the queue. 5HVRXUFHIORZ 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. 1RQJHQHUDWHGREMHFWV The following PowerDesigner objects are not generated in SIMUL8: Organization unit File Package 6\QRQ\P SIMUL8 does not support synonyms. Only one SIMUL8 object for all the synonyms of a BPM object is generated. )UHHV\PERO 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. %30REMHFWV Text, note, title Rectangle, ellipse, rounded rectangle Line 6,08/REMHFWV Written text Box, circle, rounded box Line PowerDesigner

295 &KDSWHU6LPXODWLQJD%XVLQHVV3URFHVV0RGHO The color, the transparent color, the fill color, the line width and the font of free symbols are generated. ([SRUWLQJD6,08/PRGHOIURPD%30 When you export a SIMUL8 model from a BPM, you generate a file with a.xs8 extension that you can open in the SIMUL8 application afterwards. You can only select for generation diagrams that are at the package level. Diagrams of composite processes cannot be selected as they are generated as components in SIMUL8. Each diagram you select for generation becomes a.xs8 file whose name is the code of the diagram. v 7RH[SRUWD6,08/PRGHOIURPD%30 1 Select Tools Simulation Export SIMUL8 File to open a standard generation dialog box. 2 Type a destination directory for the generated file in the Directory box. RU Click the Select a Path tool to the right of the Directory box and browse to select a directory path. 3 Select the diagrams to include in the generation from the Business Process Diagrams tabbed page. 4 <optional> Select the Check Model check box if you want to verify the validity of your model before generation. 5 Click OK to generate. A Progress box appears. The Result list displays the files that you can edit. The result is also displayed in the Generation page of the Output window, located at the bottom part of the main window. All SIMUL8 files are generated in the destination directory. 3DFNDJHKLHUDUFK\ 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. BPM User s Guide

296 /DXQFKLQJDVLPXODWLRQDQGDQDO\]LQJWKHUHVXOWV /DXQFKLQJDVLPXODWLRQDQGDQDO\]LQJWKH UHVXOWV The results of an analysis are an expression of "what happens" to the model under different physical conditions, for example, under stress, motion, or heat treatment, or a combination of many conditions. The results of a simulation, typically numerical outputs, can be displayed graphically or animated. The effects are demonstrated very clearly. The SIMUL8 files you generate do not include the results of the simulation runs, they only save the list of objects and result properties that will be listed in the result summary. Consequently, you must use the SIMUL8 interface to display the results. You can: 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 rightclicking 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 Work entry points: Number of work items entered, lost Work exit points: Works completed, time in system: minimum, average, maximum, std deviation PowerDesigner

297 &KDSWHU6LPXODWLQJD%XVLQHVV3URFHVV0RGHO Queues: Number of work items: currently, average, maximum, total entered, average queue time, number of non zero queueing times Financial results: Profit plug-in SIMUL8 objects have all some financial properties such as "Cost" or "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. 3OXJLQV SIMUL8 Professional includes all the standard plug-ins: Profit, COM, SQL, TimeView, Process, etc. SIMUL8 Standard does not include those plug-ins. BPM User s Guide

298 ,PSRUWLQJD6,08/PRGHO,PSRUWLQJD6,08/PRGHO You can import a SIMUL8 model (.XS8 file) versions 9.0 and 10.0 into: A new BPM, because you want to create a new diagram and have a global view of the imported SIMUL8 objects 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. &ROODERUDWLYH%30 You cannot import a SIMUL8 model into a collaborative BPM. 3DFNDJHKLHUDUFK\ 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. PowerDesigner

299 &KDSWHU6LPXODWLQJD%XVLQHVV3URFHVV0RGHO 5HWULHYLQJ%30REMHFWVDQGSURSHUWLHVIURP6,08/REMHFWVDQG SURSHUWLHV The import process allows you to retrieve BPM objects and properties from SIMUL8 objects and properties as follows: :RUNFHQWHU 6,08/REMHFWV Work center %30REMHFWV Process, decision or synchronization Assigned resources,iwkh6,08/remhfwvzhuhfuhdwhgiurpd3rzhu'hvljqhu6,08/ JHQHUDWLRQ they are imported with the same type and properties as the original PowerDesigner objects, except when the properties have been modified in the SIMUL8 application.,iwkh6,08/remhfwvzhuhqrwfuhdwhgiurpd3rzhu'hvljqhu 6,08/JHQHUDWLRQ they are imported with the type and properties that correspond to the PowerDesigner types and properties. For more information see section Converting BPM objects and properties into SIMUL8 objects and properties. Resource assignments are imported as resource flows with the "Read" CRUD access mode. 4XHXH Queues have no corresponding concept in PowerDesigner. Properties of the queues are imported as properties of the flow that contains the queue. :RUNHQWU\SRLQWDQGZRUNH[LWSRLQW Work entry points are imported as start objects. Work exit points are imported as end objects. 5HVRXUFH Resources are imported as resource objects. A pool of resources (group of resources) has no corresponding concept in PowerDesigner and cannot be imported. BPM User s Guide

300 ,PSRUWLQJD6,08/PRGHO &RPSRQHQWDQGVXEREMHFWV 6,08/REMHFWV Component (generated from PowerDesigner "Implemented by" process) Component %30REMHFWV "Implemented by" process + (if it does not already exists) implementation process and its subobjects Composite process and its subobjects Sub-objects can also be components. 6XEZLQGRZ Symbols of the sub-window are directly created into the PowerDesigner diagram. )UHHV\PERO 6,08/REMHFWV Written text Box, circle, rounded box Line Visual data %30REMHFWV Text, note, title Rectangle, ellipse, rounded rectangle Line (None),PSRUWLQJD6,08/PRGHOLQWRDQHZ%30 You import a SIMUL8 model into a new BPM using the File Import SIMUL8 File command that allows the display of the New Business Process Model dialog box. v 7RLPSRUWD6,08/PRGHOLQWRDQHZ%30 1 Select File Import SIMUL8 File to display the New Business Process Model dialog box. 2 Click the Share radio button. PowerDesigner

301 &KDSWHU6LPXODWLQJD%XVLQHVV3URFHVV0RGHO 3 Select a process language in the dropdown listbox (collaborative languages are not available). 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 chapter Extended Model Definitions Reference Guide, in the $GYDQFHG8VHU 'RFXPHQWDWLRQ 5 Click OK to start importing. 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 in the lower part of the main window.,psruwlqjd6,08/prgholqwrdqh[lvwlqj%30 You import a SIMUL8 model into an existing BPM using the Tools Simulation Import SIMUL8 File command from the current BPM. The Import SIMUL8 File command is not available from a collaborative BPM. v 7RLPSRUWDVLPXOPRGHOLQWRDQH[LVWLQJ%30 1 Select Tools Simulation Import SIMUL8 File to display a standard Open dialog box. BPM User s Guide

302 ,PSRUWLQJD6,08/PRGHO 2 Select the.xs8 files you want to import and click Open. 0XOWLVHOHFWLRQ You select several files simultaneously using the CTRL or SHIFT keys. 3 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 page 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 appears. $ For more information on merging models, see section Merging Models, in chapter Comparing and Merging Models in the *HQHUDO )HDWXUHV*XLGH. PowerDesigner

303 CHAPTER 8 :RUNLQJZLWK%XVLQHVV3URFHVV0RGHOV About this chapter Contents 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. It also describes how to open a ProcessAnalyst Model (PAM) into a BPM. 7RSLF 3DJH Checking a BPM 288 BPM object parameters verified by Check Model 295 Comparing and merging BPM models 313 Opening ProcessAnalyst models 314 BPM User s Guide

304 &KHFNLQJD%30 &KHFNLQJD%30 The Business Process Model is a very flexible tool. It should allow you to build your model without any controls or constraints on data exchange and coherence of the system. However, you can use the Check Model feature at any time to control the coherence and correctness of the model you are building. You can: Define check options, such as level of problem severity and automatic correction Select objects to be verified Check a global BPM Reuse check options previously defined Make corrections based on BPM check results %30FKHFNRSWLRQV When you check a BPM, if a parameter is found to be invalid, it will be displayed as an error or a warning in the Check Model window. You can define levels of severity for problems that Check Model finds and you can have certain problems automatically corrected. /HYHOVRISUREOHPVHYHULW\ You can identify the level of problem severity with the following tool: 7RRO,QGLFDWHV 'HVFULSWLRQ Error Major problem that produces an invalid BPM Warning Minor problem or recommendation To display the severity level options, select Tools Check Model, then expand the nodes of the tree view in the options tab. PowerDesigner

305 &KDSWHU:RUNLQJZLWK%XVLQHVV3URFHVV0RGHOV These messages represent two different levels of problem severity. You can modify the level of problem severity for each object parameter verified by the Check model. This severity level can depend on the degree of normalization you want to achieve in your model. $XWRPDWLFFRUUHFWLRQ You can specify if you want PowerDesigner to automatically correct an error using the Automatic Correction feature. 7RRO,QGLFDWHV 'HVFULSWLRQ Automatic correction PowerDesigner will correct the problem automatically However, before using automatic correction, make sure you understand how it will affect your model. Automatic correction is not available for all object parameters. Problems that cannot be corrected automatically must be corrected manually. $ For more information on objects available for automatic correction, see section BPM object parameters verified by Check Model. %30REMHFWVHOHFWLRQLQWKH&KHFN0RGHO You select objects to be checked from the Selection page of the Check Model Parameters dialog box (Tools Check Model). You can list all objects, including composite objects created in the current model, current package, or sub-packages by selecting the Include Sub- Objects tool. You have the following selection options: 3DUHQW REMHFW Model Package,QFOXGH6XE2EMHFWV VHOHFWHG All objects (composite or not) created in model including those in packages and sub-packages All objects (composite or not) created in package including those in sub-packages,qfoxgh6xe2emhfwvqrw VHOHFWHG All objects (composite or not) created in model except those in packages and sub-packages All objects (composite or not) created in package except those in sub-packages BPM User s Guide

306 &KHFNLQJD%30 6HOHFWLQJREMHFWVLQWKHGLDJUDP If you graphically select objects in your diagram before starting the Check Model, they can be automatically selected for verification by the Check Model by clicking the Use Graphical Selection tool in the Selection page toolbar. &KHFNLQJDJOREDO%30 You can check the validity of a BPM at any time. v 7RFKHFNDJOREDO%30 1 Select Tools Check Model. RU Right-click the diagram background and select Check Model from the contextual menu. The Check Model Parameters dialog box opens to the Options page. 2 Expand an object parameter node. The object parameters verified by the Check Model are displayed with the symbols indicating a degree of problem severity. 3 If you want to change a degree of problem severity, select the object parameter and then select either the Error or Warning tool. The symbol changes to the appropriate severity level. PowerDesigner

307 &KDSWHU:RUNLQJZLWK%XVLQHVV3URFHVV0RGHOV 4 If you want PowerDesigner to automatically correct a problem, select the object parameter and then select the Automatic Correction tool. The Automatic Correction symbol appears superimposed on the Error or Warning symbol for that object parameter. 5 Click the Selection tab to display the Selection page. 6 Select a model from the dropdown listbox at the top of the dialog box. 7 Click an object tab at the bottom of the Selection page. The corresponding object page displays all the objects in the current BPM. 8 Select check boxes only for objects you want to be checked. 9 Clear check boxes for objects that you do not want to be checked. 6HOHFWLQJDOORUFOHDULQJDOOFKHFNER[HV You can select all object check boxes by clicking the Select All tool. You can clear all object check boxes by clicking the Deselect All tool. 10 Click OK. BPM User s Guide

308 &KHFNLQJD%30 The Check Model Result List displays errors and warnings based on the check options you have defined. 'RFNDEOHUHVXOWZLQGRZ When you right-click an object parameter in the Result List, a contextual menu appears listing correction options. Among these, you can also select options to clear, dock or hide the result window. 'LVSOD\LQJSUHYLRXVO\DSSOLHGFKHFNRSWLRQVLQD%30 If you click the Apply button in the Check Model Parameters dialog box, all error and warning selections are stored in memory. v 7RGLVSOD\HUURUVDQGZDUQLQJVVHOHFWHGLQWKHODVWFKHFN Select Tools Check Model. The Check Model Parameters dialog box opens to the Options page. The object parameters are displayed with the Error or Warning icons selected in the last check. 0DNLQJFRUUHFWLRQVEDVHGRQ%30FKHFNUHVXOWV You use the Check Model feature to locate and correct problems in the BPM. Using the Check toolbar generally located in the upper part of the PowerDesigner main window, you have access to the following correction options when you select an error in the Result List: 6\PERO 2SWLRQ 'HVFULSWLRQ Correct error Displays property sheet of the problem object PowerDesigner

309 &KDSWHU:RUNLQJZLWK%XVLQHVV3URFHVV0RGHOV 6\PERO 2SWLRQ 'HVFULSWLRQ Display details Check again model Automatic correction Displays description of the error and suggestion for correction Checks selected object parameter, normally after a correction has been done PowerDesigner automatically corrects non-unique names and codes 'LVSOD\WKH&KHFNWRROEDU If the Check toolbar is not displayed, select Tools Customize Toolbars and select the Check check box. Navigating in the error list The Check toolbar contains navigation tools to move to the first, previous, next, or last error listed. You can also navigate in the Result list by rightclicking an object parameter and selecting Go To First error, Previous error, Next error, or Last error from the contextual menu. &RQWH[WXDOPHQX When you right click an object parameter, a menu appears listing the correction options Manual Correction, Help, Check again, and Automatic Correction. You can also select options to clear, dock and hide the result window. 0DNLQJPDQXDOFRUUHFWLRQVWRD%30 Some errors cannot be corrected automatically, they have to be corrected manually. v 7RPDNHPDQXDOFRUUHFWLRQVWRD%30 1 Select an object parameter from the Result List. 2 Right-click the object parameter and select Correct from the contextual menu to display the object property sheet. 3 Select the appropriate tab and make the necessary correction. 4 Close the property sheet. BPM User s Guide

310 &KHFNLQJD%30 5 Right-click the object parameter and select Check again from the contextual menu. Verify that the problem has been corrected by running Check Model again. 0DNLQJDXWRPDWLFFRUUHFWLRQVWRD%30 PowerDesigner can perform automatic corrections on non-unique names and codes. v 7RPDNHDXWRPDWLFFRUUHFWLRQVWRD%30 1 Select an object parameter from the Result List. 2 Right-click the object parameter and select Automatic Correction from the contextual menu. 3 Right-click the object parameter and select Re-check from the contextual menu. Verify that the problem has been corrected by running Check Model again. PowerDesigner

311 &KDSWHU:RUNLQJZLWK%XVLQHVV3URFHVV0RGHOV %30REMHFWSDUDPHWHUVYHULILHGE\&KHFN0RGHO The Check Model verifies the validity of the BPM objects. When errors are encountered during a check model, corrections can be made manually or automatically. Manual corrections depend on how you are using your model. Some checks are not available if the object is not supported in the model. 8VHWKH+HOSFRPPDQGWRVHOHFWREMHFWFRQWURORSWLRQV When you right click a BPM object control in the Check Model Parameters page, a menu appears listing several options. The Help command opens a contextual help page explaining the checks performed for the selected object type. 5HSOLFDWLRQFKHFN During a replication check, the following object controls are made. 3DUWLDOUHSOLFDWLRQ A replica object is partially synchronized with its replicated object. 0DQXDOFRUUHFWLRQ Modify the list of replicated attributes from the replication property sheet $XWRPDWLFFRUUHFWLRQ Enforces the replication of desynchronized attributes of the replica object in the replication property sheet %XVLQHVVUXOHFKHFNLQD%30 During a business rule check, the following object controls are made. %XVLQHVVUXOHQDPHDQGFRGHXQLTXHQHVV A model cannot contain two business rules with identical name and/or code. BPM User s Guide

312 %30REMHFWSDUDPHWHUVYHULILHGE\&KHFN0RGHO 0DQXDOFRUUHFWLRQ Modify the duplicated business rule name/code $XWRPDWLFFRUUHFWLRQ Modifies the business rule name/code of a selected object by appending a number to its current name 8QXVHGEXVLQHVVUXOH The business rule you have created is not used in the model. 0DQXDOFRUUHFWLRQ Apply the business rule to an object in the model $XWRPDWLFFRUUHFWLRQ 3DFNDJHFKHFN During a package check, the following object controls are made. ([LVWHQFHRIVHYHUDOGDWDZLWKVDPHGHILQLWLRQREMHFW Several data should not be linked to the same definition object within the same namespace. 0DQXDOFRUUHFWLRQ Link the data to different definition object from the data property sheet $XWRPDWLFFRUUHFWLRQ 3URFHVVFKHFN During a process check, the following object controls are made. 3URFHVVQDPHDQGFRGHXQLTXHQHVV Process names and codes must be unique in the namespace. 0DQXDOFRUUHFWLRQ Modify the duplicate process name/code $XWRPDWLFFRUUHFWLRQ Modifies the process name or code of a selected object by appending a number to its current name or code PowerDesigner

313 &KDSWHU:RUNLQJZLWK%XVLQHVV3URFHVV0RGHOV,QSXWRURXWSXWIORZPLVVLQJ Each process should have at least one input flow and at least one output flow. 0DQXDOFRUUHFWLRQ $XWRPDWLFFRUUHFWLRQ Add any missing flows to the process &RPSRVLWHSURFHVVZLWKRXWVWDUWRUHQG A composite process must contain at least one start and at least one end. 0DQXDOFRUUHFWLRQ Add a start and an end in the subprocess diagram $XWRPDWLFFRUUHFWLRQ 3URFHVVLPSOHPHQWDWLRQ A process cannot be implemented by an implemented process. 0DQXDOFRUUHFWLRQ Select a process which is not an implemented process $XWRPDWLFFRUUHFWLRQ ([LVWHQFHRIVHYHUDOGDWDZLWKWKHVDPHGHILQLWLRQREMHFW Several data should not be linked to the same definition object within the same namespace, as data can be created in a composite process. 0DQXDOFRUUHFWLRQ Link the data to different definition object from the data property sheet $XWRPDWLFFRUUHFWLRQ BPM User s Guide

314 %30REMHFWSDUDPHWHUVYHULILHGE\&KHFN0RGHO 3URFHVVZLWKLQFRKHUHQWGDWDDFFHVVHV The data attached to a flow should also be attached to the source and destination processes. 0DQXDOFRUUHFWLRQ Migrate the data of the flow to the source and destination processes $XWRPDWLFFRUUHFWLRQ Automatically migrates the data of a flow to the source and destination processes 8QGHILQHGGDWDDFFHVVHV The data accesses of a process should have one of the following values: Create, Read, Update, Delete. 0DQXDOFRUUHFWLRQ Add a data access for the data in the Data page of the process property sheet $XWRPDWLFFRUUHFWLRQ 'HFLVLRQFKHFN During a decision check, the following object controls are made. 'HFLVLRQQDPHDQGFRGHXQLTXHQHVV Decision names and codes must be unique in the namespace. 0DQXDOFRUUHFWLRQ Modify the duplicate decision name/code $XWRPDWLFFRUUHFWLRQ Modifies the decision name or code of a selected object by appending a number to its current name or code PowerDesigner

315 &KDSWHU:RUNLQJZLWK%XVLQHVV3URFHVV0RGHOV,QYDOLGGHFLVLRQ A decision represents a conditional branch when a unique flow is split into several output flows, or it represents a merge when several input flows are merged into a unique output flow. That is why a decision must have more than one input flow or more than one output flow. 0DQXDOFRUUHFWLRQ Add any missing flows on the decision $XWRPDWLFFRUUHFWLRQ (YHQWFRQGLWLRQFRKHUHQFH All conditions on outgoing flows must be of the same type. Condition types can be a Boolean expression or an event. A flow defined from a decision object to a receive activity is considered as an event that corresponds to the reception of a message. 0DQXDOFRUUHFWLRQ Assign the same conditions to all outgoing flows $XWRPDWLFFRUUHFWLRQ 6\QFKURQL]DWLRQFKHFN During a synchronization check, the following object controls are made. 6\QFKURQL]DWLRQQDPHDQGFRGHXQLTXHQHVV Synchronization names and codes must be unique in the namespace. 0DQXDOFRUUHFWLRQ Modify the duplicate synchronization name/code $XWRPDWLFFRUUHFWLRQ Modifies the synchronization name or code of a selected object by appending a number to its current name or code BPM User s Guide

316 %30REMHFWSDUDPHWHUVYHULILHGE\&KHFN0RGHO,QFRPSOHWHV\QFKURQL]DWLRQ A synchronization represents a fork when a unique flow is split into several output flows executed in parallel, or it represents a join when several input flows are joined and they wait until all flows reach the join before continuing as a unique output flow. That is why a synchronization must have more than one input flow, or more than one output flow. 0DQXDOFRUUHFWLRQ Add any missing flows to the synchronization $XWRPDWLFFRUUHFWLRQ )ORZFKHFN During a flow check, the following object controls are made. )ORZZLWKRXWVRXUFHRUGHVWLQDWLRQ A flow must have a source and a destination object. 0DQXDOFRUUHFWLRQ Assign a source or a destination to the flow $XWRPDWLFFRUUHFWLRQ )ORZXQGHILQHGPHVVDJHIRUPDW A flow should have a defined message format or the message format set to <None>. 0DQXDOFRUUHFWLRQ Define the message format for the flow or delete it $XWRPDWLFFRUUHFWLRQ PowerDesigner

317 &KDSWHU:RUNLQJZLWK%XVLQHVV3URFHVV0RGHOV )ORZLQFRKHUHQWPHVVDJHIRUPDW The message format of a flow coming out of a composite process (child process) must also exist on the flow going to the end inside the child process. The message format of a flow coming in a composite process must also exist on the flow going out from the start inside the child process. 0DQXDOFRUUHFWLRQ Add any missing message formats to the appropriate flows of the decomposed processes $XWRPDWLFFRUUHFWLRQ,QYDOLGHYHQWFRQGLWLRQ Outgoing flows from start, decision and synchronization objects cannot have fault, compensation, or signal event. Besides, outgoing flows from synchronization objects cannot have message type events. Also, a decision object can only have flows with Message, Signal or Timer event. You can mix Message and Timer events or Signal and Timer events on the same decision. 0DQXDOFRUUHFWLRQ Removes the inappropriate Event condition on the flow or change the source extremity of the flow $XWRPDWLFFRUUHFWLRQ Removes the inappropriate Event condition on the flow,qydolgh[fhswlrqiorzghvwlqdwlrq A flow with Exception stereotype must target a process that is implemented by an operation and whose Action Type is Receive Message. 0DQXDOFRUUHFWLRQ Change the flow stereotype or select a process that is implemented by an operation and whose Action Type is Receive Message $XWRPDWLFFRUUHFWLRQ )LOHFKHFN During a file check, the following object controls are made. BPM User s Guide

318 %30REMHFWSDUDPHWHUVYHULILHGE\&KHFN0RGHO (PEHGGHGILOHQDPHXQLTXHQHVV Embedded file object names must be unique in the model. 0DQXDOFRUUHFWLRQ Modify the duplicate file object name $XWRPDWLFFRUUHFWLRQ Modifies the file object name of a selected object by appending a number to its current name ([LVWHQFHRIH[WHUQDOILOHORFDWLRQ External file objects should have a valid path location. 0DQXDOFRUUHFWLRQ $XWRPDWLFFRUUHFWLRQ Define a valid path location 5HVRXUFHFKHFN During a resource check, the following object controls are made. 5HVRXUFHQDPHDQGFRGHXQLTXHQHVV Resource names and codes must be unique in the model. 0DQXDOFRUUHFWLRQ Modify the duplicate resource name/code $XWRPDWLFFRUUHFWLRQ Modifies the resource name or code of a selected object by appending a number to its current name or code,vrodwhguhvrxufh A resource must be linked to at least one process. 0DQXDOFRUUHFWLRQ Link the resource to a process $XWRPDWLFFRUUHFWLRQ PowerDesigner

319 &KDSWHU:RUNLQJZLWK%XVLQHVV3URFHVV0RGHOV 5HVRXUFHIORZFKHFN During a resource flow check, the following object controls are made. 5HVRXUFHIORZQDPHDQGFRGHXQLTXHQHVV Resource flow names and codes must be unique in the namespace. 0DQXDOFRUUHFWLRQ Modify the duplicate resource flow name/code $XWRPDWLFFRUUHFWLRQ Modifies the resource flow name or code of a selected object by appending a number to its current name or code 5HVRXUFHIORZH[WUHPLWLHV A resource flow must always link a process to a resource or a resource to a process. 0DQXDOFRUUHFWLRQ Assign a process and a resource to the resource flow extremities $XWRPDWLFFRUUHFWLRQ 5HVRXUFHIORZXQGHILQHGDFFHVVPRGH A resource flow should have a defined access mode (Read, Create, Update or Delete). 0DQXDOFRUUHFWLRQ Assign an access mode to the resource flow $XWRPDWLFFRUUHFWLRQ 2UJDQL]DWLRQXQLWFKHFN During an organization unit check, the following object controls are made. BPM User s Guide

320 %30REMHFWSDUDPHWHUVYHULILHGE\&KHFN0RGHO 2UJDQL]DWLRQXQLWQDPHDQGFRGHXQLTXHQHVV Organization unit names and codes must be unique in the model. 0DQXDOFRUUHFWLRQ Modify the duplicate organization unit name/code $XWRPDWLFFRUUHFWLRQ Modifies the organization unit name or code of a selected object by appending a number to its current name or code &LUFXODUGHSHQGHQF\WKURXJKSDUHQWSURSHUW\ An organization unit cannot be the parent of itself or cannot have for parent one of its children. 0DQXDOFRUUHFWLRQ Change the organization unit in the Parent box in the organization unit property sheet $XWRPDWLFFRUUHFWLRQ 6WDUWFKHFN During a start check, the following object controls are made. 6WDUWQDPHDQGFRGHXQLTXHQHVV Start names and codes must be unique in the namespace. 0DQXDOFRUUHFWLRQ Modify the duplicate start name/code $XWRPDWLFFRUUHFWLRQ Modifies the start name or code of a selected object by appending a number to its current name or code ([LVWHQFHRIRXWSXWIORZ Each start object must have at least one output flow. 0DQXDOFRUUHFWLRQ $XWRPDWLFFRUUHFWLRQ Create a flow from the start PowerDesigner

321 &KDSWHU:RUNLQJZLWK%XVLQHVV3URFHVV0RGHOV (QGFKHFN During an end check, the following object controls are made. (QGQDPHDQGFRGHXQLTXHQHVV End names and codes must be unique in the namespace. 0DQXDOFRUUHFWLRQ Modify the duplicate end name/code $XWRPDWLFFRUUHFWLRQ Modifies the end name or code of a selected object by appending a number to its current name or code ([LVWHQFHRILQSXWIORZ Each end object must have at least one input flow. 0DQXDOFRUUHFWLRQ $XWRPDWLFFRUUHFWLRQ Create a flow to the end 0HVVDJHIRUPDWFKHFN During a message format check, the following object controls are made. 0HVVDJHIRUPDWQDPHDQGFRGHXQLTXHQHVV Message format names and codes must be unique in the model. 0DQXDOFRUUHFWLRQ Modify the duplicate message format name/code $XWRPDWLFFRUUHFWLRQ Modifies the message format name or code of a selected object by appending a number to its current name or code 0HVVDJHIRUPDWGHILQLWLRQXQLTXHQHVV Message format definitions should be unique in the model. 0DQXDOFRUUHFWLRQ Delete the duplicate message format definition $XWRPDWLFFRUUHFWLRQ BPM User s Guide

322 %30REMHFWSDUDPHWHUVYHULILHGE\&KHFN0RGHO 'DWDFKHFN During a data check, the following object controls are made. 'DWDQDPHDQGFRGHXQLTXHQHVV Data names and codes must be unique in the namespace. 0DQXDOFRUUHFWLRQ Modify the duplicate data name/code $XWRPDWLFFRUUHFWLRQ Modifies the data name or code of a selected object by appending a number to its current name or code 8QXVHGGDWD The data you created is not used in the model. 0DQXDOFRUUHFWLRQ Attach the data to an object in the model $XWRPDWLFFRUUHFWLRQ ([WHQGHGREMHFWFKHFN During an extended object check, the following object controls are made. ([WHQGHGREMHFWQDPHDQGFRGHXQLTXHQHVV Extended object names and codes must be unique in the namespace. 0DQXDOFRUUHFWLRQ Modify the duplicate extended object name/code $XWRPDWLFFRUUHFWLRQ Modifies the extended object name or code of a selected object by appending a number to its current name or code ([WHQGHGOLQNFKHFN During an extended link check, the following object controls are made. PowerDesigner

323 &KDSWHU:RUNLQJZLWK%XVLQHVV3URFHVV0RGHOV ([WHQGHGOLQNQDPHDQGFRGHXQLTXHQHVV Extended link names and codes must be unique in the namespace. 0DQXDOFRUUHFWLRQ Modify the duplicate extended link name/code $XWRPDWLFFRUUHFWLRQ Modifies the extended link name or code of a selected object by appending a number to its current name or code 6HUYLFHSURYLGHUFKHFN During a service provider check, the following object controls are made. 6HUYLFHSURYLGHUQDPHDQGFRGHXQLTXHQHVV Service provider names and codes must be unique in the namespace. 0DQXDOFRUUHFWLRQ Modify the duplicate service provider name/code $XWRPDWLFFRUUHFWLRQ Modifies the service provider name or code of a selected object by appending a number to its current name or code (PSW\VHUYLFHSURYLGHU Each service provider should own at least one service interface. 0DQXDOFRUUHFWLRQ Create a service interface in the Interfaces property page of the service provider property sheet $XWRPDWLFFRUUHFWLRQ 6HUYLFHLQWHUIDFHFKHFN During a service interface check, the following object controls are made. BPM User s Guide

324 %30REMHFWSDUDPHWHUVYHULILHGE\&KHFN0RGHO 6HUYLFHLQWHUIDFHQDPHDQGFRGHXQLTXHQHVV Service interface names and codes must be unique in the namespace. 0DQXDOFRUUHFWLRQ Modify the duplicate service interface name/code $XWRPDWLFFRUUHFWLRQ Modifies the service interface name or code of a selected object by appending a number to its current name or code (PSW\VHUYLFHLQWHUIDFH Each service interface should own at least one operation. 0DQXDOFRUUHFWLRQ Create an operation in the Operations property page of the service interface property sheet $XWRPDWLFFRUUHFWLRQ 2SHUDWLRQFKHFNLQD%30 During an operation check, the following object controls are made. 2SHUDWLRQQDPHDQGFRGHXQLTXHQHVVLQD%30 Operation names and codes must be unique in the namespace. 0DQXDOFRUUHFWLRQ Modify the duplicate operation name/code $XWRPDWLFFRUUHFWLRQ Modifies the operation name or code of a selected object by appending a number to its current name or code PowerDesigner

325 &KDSWHU:RUNLQJZLWK%XVLQHVV3URFHVV0RGHOV,QSXWRURXWSXWPHVVDJHPLVVLQJ Depending on the type of the operation, input and/or output messages are required. A Notification operation requires an output message, a One-Way operation requires an input message, and a Request-Response or a Solicit Response operation requires bot input and output messages. 0DQXDOFRUUHFWLRQ Change the operation type to be coherent with the message definition or define the missing message $XWRPDWLFFRUUHFWLRQ Updates the operation type to be coherent with the current message definition, except when both input and output messages are missing 9DULDEOHFKHFN During a variable check, the following object controls are made. 9DULDEOHQDPHDQGFRGHXQLTXHQHVV Variable names and codes must be unique in the namespace. 0DQXDOFRUUHFWLRQ Modify the duplicate variable name/code $XWRPDWLFFRUUHFWLRQ Modifies the variable name or code of a selected object by appending a number to its current name or code 8QGHILQHGGDWDW\SH The variable should have a defined data type. 0DQXDOFRUUHFWLRQ Set a correct data type for the variable in the Data Type dropdown listbox of its property sheet $XWRPDWLFFRUUHFWLRQ BPM User s Guide

326 %30REMHFWSDUDPHWHUVYHULILHGE\&KHFN0RGHO 9DULDEOHXVHGRXWRIVFRSH 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. 0DQXDOFRUUHFWLRQ Move the variable under the common parent or duplicate it $XWRPDWLFFRUUHFWLRQ Moves the variable under the common ascendant 'DWDW\SHFRKHUHQFH A variable mapped to a message should be of the same type than the message. 0DQXDOFRUUHFWLRQ Change the type of the variable to be the same as the messages to which it is mapped $XWRPDWLFFRUUHFWLRQ Changes the variable type when it is mapped only once to a message or mapped several times but to the same message 'DWDWUDQVIRUPDWLRQFKHFN During a data transformation check, the following object controls are made. 'DWDWUDQVIRUPDWLRQQDPHDQGFRGHXQLTXHQHVV Data transformation names and codes must be unique in the namespace. 0DQXDOFRUUHFWLRQ Modify the duplicate data transformation name/code $XWRPDWLFFRUUHFWLRQ Modifies the data transformation name or code of a selected object by appending a number to its current name or code PowerDesigner

327 &KDSWHU:RUNLQJZLWK%XVLQHVV3URFHVV0RGHOV (PSW\WUDQVIRUPDWLRQH[SUHVVLRQ The transformation expression should not be empty. 0DQXDOFRUUHFWLRQ Define a transformation expression in the Transformation page of the data transformation property sheet $XWRPDWLFFRUUHFWLRQ (PSW\DVVLJQHGYDULDEOH The target variable of a transformation must not be undefined. 0DQXDOFRUUHFWLRQ Select a variable object in the Assigned Variable dropdown listbox of the data transformation property sheet $XWRPDWLFFRUUHFWLRQ Creates a variable object and associates it with the data transformation &RUUHODWLRQFKHFN During a correlation check, the following object controls are made. &RUUHODWLRQQDPHDQGFRGHXQLTXHQHVV Correlation names and codes must be unique in the namespace. 0DQXDOFRUUHFWLRQ Modify the duplicate correlation name/code $XWRPDWLFFRUUHFWLRQ Modifies the correlation name or code of a selected object by appending a number to its current name or code (PSW\OLVWRIYDULDEOHV A correlation must have at least one variable. 0DQXDOFRUUHFWLRQ $XWRPDWLFFRUUHFWLRQ Attach a variable to the correlation BPM User s Guide

328 %30REMHFWSDUDPHWHUVYHULILHGE\&KHFN0RGHO &RUUHODWLRQXVHGRXWRIVFRSH A correlation must be used within the scope of its definition. 0DQXDOFRUUHFWLRQ Choose only correlations defined under the parent scope of the process $XWRPDWLFFRUUHFWLRQ Moves out of scope correlations to common ascendant and leaves a shortcut at the initial location 8QXVHGFRUUHODWLRQ The correlation should be used by an activity. 0DQXDOFRUUHFWLRQ Use the correlation object in a process implemented by an operation or delete the useless correlation $XWRPDWLFFRUUHFWLRQ (YHQWFKHFN During an event check, the following object controls are made. (YHQWQDPHDQGFRGHXQLTXHQHVV Event names and codes must be unique in the namespace. 0DQXDOFRUUHFWLRQ Modify the duplicate event name/code $XWRPDWLFFRUUHFWLRQ Modifies the event name or code of a selected object by appending a number to its current name or code (PSW\VWHUHRW\SH An event should have a defined stereotype. 0DQXDOFRUUHFWLRQ Define a stereotype in the Stereotype box of the event property sheet $XWRPDWLFFRUUHFWLRQ PowerDesigner

329 &KDSWHU:RUNLQJZLWK%XVLQHVV3URFHVV0RGHOV &RPSDULQJDQGPHUJLQJ%30PRGHOV You can compare and merge two Business Process Models. The comparison process allows you to highlight the differences between two BPM. The merge process allows you to form a single model that combines design efforts performed independently by several team members. Merge is performed from left to right, the model in the right pane is compared to the model in the left pane, differences are highlighted and merge actions are proposed in the model to be merged. $ For more information on comparing and merging models, see chapter Comparing and Merging Models in the *HQHUDO)HDWXUHV*XLGH. BPM User s Guide

330 2SHQLQJ3URFHVV$QDO\VWPRGHOV 2SHQLQJ3URFHVV$QDO\VWPRGHOV The PowerDesigner V6 ProcessAnalyst Model allows you to design data flow diagrams. You can recover V6 ProcessAnalyst Model information into a Business Process Model by opening a PAM into a BPM. You will then retrieve PAM objects into your BPM as a new BPM is created for the PAM model, and the objects of the PAM model are translated into BPM objects. You can still open a PAM into a CDM (Conceptual Data Model), knowing that the PAM objects recovery is restricted to data items and domains. When opening a PAM, you are asked to choose between opening into a BPM, or opening into a CDM. &RQYHUWLQJ3$0REMHFWVLQWR%30REMHFWV The open process converts PAM objects into BPM objects as follows: 2EMHFWVLQD3$0,PSRUWHGREMHFWLQD%30 Process Process Split/Merge Process or synchronization External entity Start & End Off page connector Start & End Data flow Flow or Resource flow Data store Resource Data item on Data flow Data (elementary) Domain Business rule Business rule Split/Merge External entity A split is imported as a synchronization and the following message appears in the Action page of the synchronization property sheet after the import: "This process splits data". A merge is imported as a process and the following message appears in the Action page of the process property sheet after the import: "This process merges data". An external entity with outgoing data flows is imported as a start. PowerDesigner

331 &KDSWHU:RUNLQJZLWK%XVLQHVV3URFHVV0RGHOV Off page connector Data flow Data store Data item on data flow Domain Business rule An external entity with incoming data flows is imported as an end. An external entity with both outgoing and incoming data flows is imported as a start and an end. Outgoing data flows are associated to the start and incoming data flows to the end. An Off page connector with outgoing data flows is imported as a start. An Off page connector with incoming data flows is imported as an end. A data flow between a data store and a process is imported as a resource flow. Any other data flow is imported as a flow. A data flow with a double direction is imported as two distinct flows, except for the resource flow. The data flow type is imported as a flow type property for process flows and is lost for resource flows. The Number property is not imported and the Is Entity property is imported as an <Entity> stereotype on the resource. The list of data items is imported as a unique concatenated string in the Comment box of the resource property sheet. Data items are imported as elementary data. Attachment of a data item to a flow must be preserved by attaching the corresponding data to the imported flow. Check parameters are not imported. Domains are not imported. Business rules are imported. Attachment of a business rule to a domain or a data item is not imported. 2SHQLQJD3$0LQWRD%30 v 7RRSHQD3$0LQWRD%30 1 Select File Open to display the open file dialog box. 2 Select or browse to the directory that contains the.pam file. 3 Select ProcessAnalyst Model (*.pam) file from the Files of Type dropdown listbox to display only PAM files. The available PAM files are listed. BPM User s Guide

332 2SHQLQJ3URFHVV$QDO\VWPRGHOV 4 Select a file. 5 Click Open. The Formats for ProcessAnalyst Model window appears. 6 Select PowerDesigner Business Process Model and click OK. The Output window displays a message following the successful import and the default diagram of the model appears. Each imported object type can be viewed from its respective list. PowerDesigner

333 CHAPTER 9 5HYHUVH(QJLQHHULQJLQD%30 About this chapter Contents This chapter describes the reverse engineering process and shows you how to reverse engineer into an existing and into a new BPM. 7RSLF 3DJH What is reverse engineering? 318 Reverse engineering into an existing BPM 319 Reverse engineering into a new BPM 320 BPM User s Guide

334 :KDWLVUHYHUVHHQJLQHHULQJ" :KDWLVUHYHUVHHQJLQHHULQJ" Reverse engineering is the process of examining and recovering data or source code from a file that is then used to build or update a BPM. You can reverse engineer objects to a new model, or to an existing model. When you reverse engineer an object which already exists in a model, you use an object comparison box to choose either to replace the existing object, or to keep the existing object in the model. Depending on the process language you use, you can reverse the following types of files into a BPM: 7\SHVRIILOH\RXFDQUHYHUVH 6XEIDPLO\ )DPLO\ ebxml BPSS 1.01 and 1.04 (Business Process Specification Schema) ebxml Collaborative BPEL, WSDL BPEL4WS Service Orchestration The Add button in the lower part of the Reverse dialog box allows you select one or several files of the type you have selected for reverse engineering. PowerDesigner

335 &KDSWHU5HYHUVH(QJLQHHULQJLQD%30 5HYHUVHHQJLQHHULQJLQWRDQH[LVWLQJ%30 You can reverse engineer process language files into an existing BPM to update your current model according to the reversed objects. v 7RUHYHUVHHQJLQHHUSURFHVVODQJXDJHILOHVLQWRDQH[LVWLQJ%30 1 Select Language Reverse Engineer 3URFHVV/DQJXDJH)LOH to display the Reverse 3URFHVV/DQJXDJH)LOH dialog box. 2 Click the Add button in the Selection page to display a standard Open dialog box. 3 Select the type of files you want to reverse and click Open. 0XOWLVHOHFWLRQ You select several files simultaneously using the CTRL or SHIFT keys. The Reverse 3URFHVV/DQJXDJH)LOH dialog box displays the files you selected. 4 Click OK. A progress box appears. If the model in which you are reverse engineering already contains data, the Merge Models dialog box appears. $ For more information on merging models, see section Merging Models, in chapter Comparing and Merging Models in the *HQHUDO )HDWXUHV*XLGH. 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 page of the Output window, located in the lower part of the main window. BPM User s Guide

336 5HYHUVHHQJLQHHULQJLQWRDQHZ%30 5HYHUVHHQJLQHHULQJLQWRDQHZ%30 You can reverse engineer process language files into a new BPM to create a new diagram and have a global view of the reversed objects. v 7RUHYHUVHHQJLQHHUSURFHVVODQJXDJHILOHVLQWRDQHZ%30 1 Select File Reverse Engineer Process Language to display the New Business Process Model dialog box. 2 Click the Share radio button. 3 Select a process language in the dropdown listbox. 4 <optional> When you reverse into a new BPM, you can select one or several extended model definitions to reverse at the same time by clicking the Extended Model Definitions tab, and select the extended model definitions of your choice. $ For more information on extended model definitions, see chapter Extended Model Definitions Reference Guide, in the $GYDQFHG8VHU 'RFXPHQWDWLRQ 5 Click OK. Depending on the process language the corresponding dialog box appears to let you select files. 6 Click OK to start reverse engineering. PowerDesigner

337 &KDSWHU5HYHUVH(QJLQHHULQJLQD%30 A progress box appears. The processes 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 in the lower part of the main window. BPM User s Guide

338 5HYHUVHHQJLQHHULQJLQWRDQHZ%30 PowerDesigner

339 CHAPTER 10 *HQHUDWLQJIRUD3URFHVV/DQJXDJH About this chapter Contents This chapter describes how to generate objects from a BPM. 7RSLF 3DJH Generation options for process languages 324 BPM User s Guide

340 *HQHUDWLRQRSWLRQVIRUSURFHVVODQJXDJHV *HQHUDWLRQRSWLRQVIRUSURFHVVODQJXDJHV You can generate the following types of files for the following supported languages in a BPM: 3URFHVVODQJXDJH Analysis ebxml BPSS v 1.01 ebxml BPSS v1.04 BPEL4WS 1.1 Sybase Integration Orchestrator 4.0 Service Oriented Architecture :KDWLVJHQHUDWHG No file generated as this language is mainly used for modeling purpose.xml files.xml files.wsdl files.xml files No file generated as this language is used to design logical models that allow the orchestration of processes without being linked to any platform or executable language User-defined generation Trace mode in Preview pages Check Model You can use the Generation Template Language (GTL) mechanism to produce user-defined text for code generation. It allows you to access all elements of the model and to customize the generation process. It is available for all process languages supported in a BPM. $ For more information on the Generation Template Language mechanism, see section Defining Generation Template Language, in chapter Generation Reference Guide in the $GYDQFHG8VHU'RFXPHQWDWLRQ. You can display the generation templates that generate code from the Preview page in object property sheets, provided the (QDEOH7UDFH0RGH check box is selected in the process language, or extended model definition editors. $ For more information on the trace mode property, see section Process language properties, in chapter Process languages Reference Guide in the $GYDQFHG8VHU'RFXPHQWDWLRQ. You can check your model before generation if you select the Check Model check box. This check box is available for all languages. The generation stops if an error is found: you must correct this error before starting the generation again. $ For more information on the Check Model feature, see section Checking an BPM in chapter Working with Business Process Models. PowerDesigner

341 &KDSWHU*HQHUDWLQJIRUD3URFHVV/DQJXDJH 6HOHFWLQJREMHFWVWRJHQHUDWHLQD%30 You select objects for generation from the Selection page of the Generation dialog box. The selection page contains tabbed pages for selecting specific objects of the model. Listing objects contained in a model or package You can display objects in the current model, or objects in individual packages contained in the model. If you select the Include Sub-Packages tool, you can display either all objects in the current model, or all objects in a package. The selection options are the following: 3DUHQW REMHFW Model Package,QFOXGH6XESDFNDJHVWRRO VHOHFWHG All objects in the model including all objects contained in packages and sub-packages All objects contained in the package including all objects contained in sub-packages,qfoxgh6xesdfndjhvwrro QRWVHOHFWHG All objects in the model except objects contained in packages and sub-packages All objects in the package except objects contained in sub-packages BPM User s Guide

342 *HQHUDWLRQRSWLRQVIRUSURFHVVODQJXDJHV 'HILQLQJJHQHUDWLRQRSWLRQVLQD%30 If you do not see the Options page in the Generation dialog box, it means that no option has been defined in the corresponding process language (.XPL file). You can however customize your process language at any time, and add any options you may need during generation. You define generation options in the Generation/Options category of the process language available from Language Edit Current Process language. $ For more information on generation options, see section Options category, in chapter Process languages Reference Guide in the $GYDQFHG 8VHU'RFXPHQWDWLRQ. 'HILQLQJJHQHUDWLRQWDVNVLQD%30 The Tasks page contains standard commands defined in the process language. You can select any tasks to execute at generation time. If you do not see the Tasks page in the Generation dialog box, it means that no command has been defined in the corresponding process language (.XPL file). You can however customize tasks for your current language so that, during generation, your files are automatically packaged in an archive for example. You define generation tasks and commands in the Generation/Tasks category and the Generation/Commands category of the process language available from Language Edit Current Process language. $ For more information on how to add tasks, see section Commands category, and section Tasks category, in chapter Process languages Reference Guide in the $GYDQFHG8VHU'RFXPHQWDWLRQ. 8VLQJWKH0RYHXSRUGRZQDUURZV You can easily modify the order of commands execution using the Move up or Move down arrows. You can only select one value check box at a time. PowerDesigner

343 &KDSWHU*HQHUDWLQJIRUD3URFHVV/DQJXDJH 'HILQLQJJHQHUDWLRQWDUJHWV;(0LQD%30 When you start the generation process, you can choose to: Generate for a selected process language Use an extended model definition (.XEM) that extends the process language To use an extended model definition that extends the process language, you must have an extended model definition attached to the model. You can either create a new extended model definition or import an existing extended model definition in the model. $ For more information on how to create or import an extended model definition, see sections Creating an extended model definition, or Importing an extended model definition into a model, in chapter Extended Model Definitions Reference Guide in the $GYDQFHG8VHU'RFXPHQWDWLRQ. If you use an extended model definition to extend the process language, you must use an extended model definition designed for this kind of generation. To do this, you must verify that the value Complement Language Generation is selected in the extended model definition editor. When you attach an extended model definition to your model, the Targets page in the Generation dialog box displays the target extended model definition that can be selected for generation. BPM User s Guide

344 *HQHUDWLRQRSWLRQVIRUSURFHVVODQJXDJHV $ For more information on the generation targets, see section Generation targets, in chapter Extended Model Definitions Reference Guide, in the $GYDQFHG8VHU'RFXPHQWDWLRQ. The Targets page contains category check boxes and radio buttons. Targets are grouped by category. The check boxes allow you to select a server category, and the radio buttons allow you to select an extended model definition to include in the generation. For each category, it is only possible to select one extended model definition at a time. v 7RGHILQHDJHQHUDWLRQWDUJHW 1 Select Language Generate 3URFHVVODQJXDJH. The Generation dialog box opens to the Targets page. 2 Select or browse to a directory that will contain the generated files. 3 Select the extended model definition that you want to use for generation. 4 Click Apply if you want to generate at a later time. RU Click OK to generate. PowerDesigner

345 CHAPTER 11 *HQHUDWLQJIURPD%XVLQHVV3URFHVV0RGHO About this chapter Contents This chapter describes how to generate a BPM from a Business Process Model. It also describes the transformations that occur when you generate an executable BPM from an analysis or collaborative BPM. 7RSLF 3DJH Generation basics 330 Generating a Business Process Model from a Business Process Model 333 Generating an executable BPM 340 BPM User s Guide

346 *HQHUDWLRQEDVLFV *HQHUDWLRQEDVLFV When you generate from a Business Process Model you can generate a BPM. You can generate a model from a global BPM or from a package within the model. Limiting model generation to a single package is useful when different designers own packages of the same BPM. Designers can generate their packages independently from others. Generating a package results in an independent model. You can generate from a BPM in two ways: *HQHUDWH New model Updated model 'HVFULSWLRQ Creates a new model containing the objects translated from the BPM Creates a default model with the objects translated from the BPM that is merged with an existing model. You can update, delete, or add objects in the existing model (model to be merged in the right pane) based on modifications made in the default model (in the left pane). It allows you to keep two models synchronized $ For more information on merging two models, see chapter Comparing and Merging Models in the *HQHUDO)HDWXUHV*XLGH. 7DUJHWPRGHOVSDUDPHWHUV An external shortcut depends on a target object in a different model. External shortcuts allow you to share objects between different models. When you generate models into other models, you can preserve the link between an external shortcut and its target model through generation. You can use the Target Models tab to select generated models to retrieve the corresponding target objects of external shortcuts. External shortcuts can then be correctly linked to target objects in the correct target model. The Target Models page displays the following columns: &ROXPQ Target Models Generated Models 'HVFULSWLRQ Original target model of the shortcut (not editable) Lets you select the model that will be used as the target for the generated shortcut PowerDesigner

347 &KDSWHU*HQHUDWLQJIURPD%XVLQHVV3URFHVV0RGHO The model generation process allows you to define the target object of a shortcut in a generated model. For example, here is the proper sequence of events for external shortcuts generation: Model 1 is the target model of a shortcut in Model 2 Model 1 is generated to Model 1.1 Model 2 is prepared for generation to Model 2.2 by associating appropriate parameters in the Target Models page:,i0rgholvvwloorshqhglqwkhzrunvsdfh The Target Model column displays the original target model (Model 1), and its path. The Generated Models column displays the last generated model the first time you generate Model 1; the next time you generate Model 1, the Generated Models column displays the last model selected. You can click the arrow in the Generated Models column to modify the model selection in order to allow the creation of a correctly linked shortcut.,i0rgholvforvhglqwkhzrunvsdfh The Target Model column displays the original target model (Model 1), and its path. The Generated Models column displays <none>. When you click into the Generated Models column, the original target model Model 1 is automatically opened in the workspace in order to find the models generated from Model 1. You can use the arrow to select Model 1.1, the new target that will allow the creation of a correctly linked shortcut in Model 2.2. The external shortcut in Model 2.2 is correctly generated with a link to its target object in Model 1.1. $ For more information on shortcuts, see chapter Managing Shortcuts in the *HQHUDO)HDWXUHV*XLGH. You can also preserve the link between an external replication and its target model through generation. BPM User s Guide

348 *HQHUDWLRQEDVLFV $ For more information on the generation of object replications, see section Generating replications in chapter Managing Object Replications in the *HQHUDO)HDWXUHV*XLGH. 2EMHFWVHOHFWLRQSDUDPHWHUV You select objects for model generation from the Selection page. Listing objects contained in a model or package You can display in the list, objects in the current model, or objects in individual packages contained in the model. If you select the Include Sub- Objects tool, you can display either all objects in the current model, or all objects in a package. You have the following selection options: 3DUHQW REMHFW Model Package,QFOXGH6XE2EMHFWVVHOHFWHG All objects in the model including all objects in packages and subobjects All objects in the package including all sub-objects,qfoxgh6xe2emhfwvqrw VHOHFWHG All objects in the model except objects in packages and subsub-objects All objects in the package except sub-objects 2EMHFWVVHOHFWHGLQWKHPRGHO Objects selected in the model can be automatically selected for generation by clicking the Use Graphical Selection tool in the Selection page toolbar. PowerDesigner

349 &KDSWHU*HQHUDWLQJIURPD%XVLQHVV3URFHVV0RGHO *HQHUDWLQJD%XVLQHVV3URFHVV0RGHOIURPD %XVLQHVV3URFHVV0RGHO This section explains how to generate a Business Process Model from a Business Process Model. :K\JHQHUDWLQJD%30LQWRD%30" Implementing for different languages You can generate a BPM into a BPM when you need to keep two models synchronized during the design process. This kind of generation allows you to create a copy of a given model and define generation links between objects in the source BPM and their equivalent in the generated BPM. When changes are made to the source model, they can then be easily propagated to the generated models using the Update Existing Model generation mode. The generated model is the one that usually contains more information. For example, once the Analyst team has designed the analysis model, the model can be submitted to the Development team for implementation. You can use the BPM to BPM generation to generate an analysis or collaborative BPM into an implementation BPM designed for the different executable process languages supported in PowerDesigner. *HQHUDWLQJDQGXSGDWLQJD%30 To generate a BPM, you must choose between one of the following methods: Generate new Business Process Model Update existing Business Process Model BPM User s Guide

350 *HQHUDWLQJD%XVLQHVV3URFHVV0RGHOIURPD%XVLQHVV3URFHVV0RGHO Generate new Business Process Model You must indicate the following parameters when you generate a new BPM: 3DUDPHWHU Process Language Share Copy Name Code Configure Model Options 'HVFULSWLRQ Target process language Process language for the resulting BPM uses a shared object language stored in the Process language library Process language for the resulting BPM uses a copy of the object language stored in the Process language library File name for the resulting BPM Reference code for the resulting BPM Lets you define the model options for the new BPM $ For more information on model options when generating a BPM from a BPM, see section Defining BPM options in chapter Business Process Model Basics. Update existing Business Process Model You can generate a BPM into an existing BPM. If you choose to update an existing BPM when the current BPM has never been generated, the Select Model dropdown listbox is empty by default. You have to click the Ellipsis button to display a Select Model dialog box in which you can select a model. The Workspace Location and Physical Path columns provide more information about the model location in the workspace and the file path to help you choose the BPM. You can also use the tooltip in the dropdown listbox to verify the location and path of the model. To update an existing BPM, you must indicate the following parameters: 3DUDPHWHU Select Model Preserve Modifications 'HVFULSWLRQ Existing BPM. The BPM is generated into a BPM. This BPM is merged with the existing BPM to create an updated BPM. The dropdown listbox displays already generated models. The Ellipsis button lets you select models opened in the workspace Allows a comparison and merge of the newly generated BPM (default BPM) with the currently selected BPM PowerDesigner

351 &KDSWHU*HQHUDWLQJIURPD%XVLQHVV3URFHVV0RGHO &OHDULQJWKH3UHVHUYH0RGLILFDWLRQVFKHFNER[ If the Preserve Modifications check box is not selected, PowerDesigner automatically replaces the existing BPM with the newly generated BPM. If you want to choose which objects to add or delete from the existing BPM, you must select the Preserve Modifications check box to compare and merge the two BPM. 'HILQLQJ%30JHQHUDWLRQRSWLRQV You can set the following general generation options from the Detail page: 2SWLRQ Check Model Save Generation Dependencies Enable transformations 'HVFULSWLRQ When selected, verifies the model before generating the BPM, and stops generation if an error is found When selected, PowerDesigner keeps track of the identity of each generated object. It is useful when merging two BPM which have been generated from the same BPM. Objects can be compared and recognized as the same object, even if the object has been modified in the merged BPM. If not selected, modifications performed on the generated model cannot be preserved This button is used to activate transformations during generation. When you click this button, the Pre-generation tab appears if the source model contains transformations. You can select the transformations to execute before generation. The Extended Model Definitions tab also appears for you to select extended model definition files to attach to the generated model. These files may contain post-generation transformations, in this case, the Post-Generation tab appears to let you select the transformations you want to be executed in the generated model. If the generation is an update, and the generated model contains extended model definitions with post-generation transformations, the Postgeneration tab automatically appears as soon as you click the Enable Transformations button &KHFNPRGHOEHIRUHJHQHUDWLRQ If you select the Check Model option, the procedure to generate a BPM starts by checking the validity of the BPM. A BPM results when no errors are found. You can set check options by selecting Tools Check Model. BPM User s Guide

352 *HQHUDWLQJD%XVLQHVV3URFHVV0RGHOIURPD%XVLQHVV3URFHVV0RGHO *HQHUDWLQJDQHZ%30IURPD%30 You can generate a BPM from a BPM or from a package in a BPM. PowerDesigner creates a new BPM containing all the objects that you selected to generate in the BPM. The newly created BPM appears in the browser and the corresponding diagram opens in the work area. You can only generate a BPM from the active BPM diagram. v 7RJHQHUDWHDQHZ%30IURPD%30 1 Select Tools Generate Business Process Model to display the Generate Business Process Model dialog box. 2 Select the Generate New Business Process Model radio button. 3 Select a process language in the Process Language dropdown listbox. 4 Type a new name and code, otherwise the BPM will have the same name and code as the source BPM. 5 <optional> Click the Configure Model Options button to define the options of the generated model. 6 Click the Detail tab to define options and generation parameters. 7 Click the Target Models tab to select the target models of shortcuts in the current model. 8 Click the Selection tab to display the Selection page. PowerDesigner

Supplement for Installing Adaptive Server for Common Criteria Configuration

Supplement for Installing Adaptive Server for Common Criteria Configuration Supplement for Installing Adaptive Server for Common Criteria Configuration Document ID: DC00080-01-1252-01 Last revised: November 2004 Topic Page 1. Product summary 1 2. Special installation instructions

More information

Installation and Release Bulletin ASE Real Time Services Option for Windows and UNIX

Installation and Release Bulletin ASE Real Time Services Option for Windows and UNIX Installation and Release Bulletin ASE Real Time Services Option 12.5.1 for Windows and UNIX Document ID: DC00019-01-1251-01 Last revised: December 10, 2003 Topic Page 1. Accessing current release bulletin

More information

Release Bulletin DataWindow.NET 2.0

Release Bulletin DataWindow.NET 2.0 Release Bulletin DataWindow.NET 2.0 Document ID: DC00047-01-0200-01 Last revised: March 10, 2006 Topic Page 1. Accessing current release bulletin information 2 2. Product summary 2 2.1 Third-party software

More information

Release Bulletin Risk Analytics Platform 2.0

Release Bulletin Risk Analytics Platform 2.0 Release Bulletin Risk Analytics Platform 2.0 Document ID: DC00246-01-0200-01 Last revised: October 25, 2005 Topic Page 1. Accessing current release bulletin information 2 2. Product summary 2 2.1 Required

More information

Release Bulletin InfoMaker 10.5

Release Bulletin InfoMaker 10.5 Release Bulletin InfoMaker 10.5 Document ID: DC33824-01-1050-01 Last revised: February 28, 2006 Topic Page 1. Accessing current release bulletin information 2 2. Product summary 2 3. Special installation

More information

Heterogeneous Replication Guide

Heterogeneous Replication Guide Heterogeneous Replication Guide Replication Server 12.6 DOCUMENT ID: DC36924-01-1260-01 LAST REVISED: October 2003 Copyright 1992-2003 by Sybase, Inc. All rights reserved. This publication pertains to

More information

Installation Guide. PocketBuilder 2.0

Installation Guide. PocketBuilder 2.0 Installation Guide PocketBuilder 2.0 DOCUMENT ID: DC50062-01-0200-01 LAST REVISED: November 2004 Copyright 2003-2004 by Sybase, Inc. All rights reserved. This publication pertains to Sybase software and

More information

Enterprise Connect Data Access and Mainframe Connect

Enterprise Connect Data Access and Mainframe Connect Server Administration Guide for DirectConnect Enterprise Connect Data Access and Mainframe Connect 12.6 [ Microsoft Windows and UNIX ] DOCUMENT ID: DC35365-01-1260-01 LAST REVISED: February 2005 Copyright

More information

QAnywhere User s Guide

QAnywhere User s Guide QAnywhere User s Guide Part number: DC20051-01-0902-01 Last modified: October 2004 Copyright 1989 2004 Sybase, Inc. Portions copyright 2001 2004 ianywhere Solutions, Inc. All rights reserved. No part of

More information

Adaptive Server Enterprise

Adaptive Server Enterprise ASE Replicator User s Guide Adaptive Server Enterprise 15.0 DOCUMENT ID: DC35431-01-1500-02 LAST REVISED: August 2005 Copyright 2002-2005 by Sybase, Inc. All rights reserved. This publication pertains

More information

Connecting to Your Database. PowerBuilder 10.5

Connecting to Your Database. PowerBuilder 10.5 Connecting to Your Database PowerBuilder 10.5 DOCUMENT ID: DC37776-01-1050-01 LAST REVISED: March 2006 Copyright 1991-2006 by Sybase, Inc. All rights reserved. This publication pertains to Sybase software

More information

MobiLink Tutorials Part number: DC Last modified: October 2004

MobiLink Tutorials Part number: DC Last modified: October 2004 MobiLink Tutorials Part number: DC00194-01-0902-01 Last modified: October 2004 Copyright 1989 2004 Sybase, Inc. Portions copyright 2001 2004 ianywhere Solutions, Inc. All rights reserved. No part of this

More information

Installation Guide. Sybase PowerDesigner Windows

Installation Guide. Sybase PowerDesigner Windows Installation Guide Sybase PowerDesigner 12.5 Windows Part number: DC38092-01-1250-01 Last modified: April 2007 Copyright 1991-2007 Sybase, Inc. and its subsidiaries. All rights reserved. Information in

More information

New Features Mainframe Connect IPS 12.6

New Features Mainframe Connect IPS 12.6 New Features Mainframe Connect IPS 12.6 Document ID: DC00182-01-1260-03 Last revised: May 2006 This document describes new features available for Mainframe Connect Integrated Product Set (IPS) 12.6. Topic

More information

User s Guide. Monitor Server

User s Guide. Monitor Server User s Guide Monitor Server 12.5.1 DOCUMENT ID: DC36555-01-1251-01 LAST REVISED: August 2003 Copyright 1989-2003 by Sybase, Inc. All rights reserved. This publication pertains to Sybase software and to

More information

Risk Analytics Platform

Risk Analytics Platform Installation and Configuration Guide Risk Analytics Platform 1.0 DOCUMENT ID: DC00244-01-0100-01 LAST REVISED: March 2005 Copyright 2005 by Sybase, Inc. All rights reserved. This publication pertains to

More information

Release Bulletin EDI Products 4.2

Release Bulletin EDI Products 4.2 Release Bulletin EDI Products 4.2 Document ID: DC00191-01-0420-01 Last revised: December 2, 2004 Topic Page 1. Accessing current release bulletin information 2 2. Product summary 2 3. ECMap 4 4. EC Gateway

More information

New Features. EDI Products 5.0

New Features. EDI Products 5.0 New Features EDI Products 5.0 DOCUMENT ID: DC39126-01-0500-01 LAST REVISED: February 2007 Copyright 1999-2007 by Sybase, Inc. All rights reserved. This publication pertains to Sybase software and to any

More information

Sybase Data Integration Suite

Sybase Data Integration Suite Installation Guide Sybase Data Integration Suite 1.0 [ Windows and UNIX ] DOCUMENT ID: DC35394-01-0100-01 LAST REVISED: October 2006 Copyright 2006 by Sybase, Inc. All rights reserved. This publication

More information

Installation Guide. jconnect for JDBC 6.0

Installation Guide. jconnect for JDBC 6.0 Installation Guide jconnect for JDBC 6.0 DOCUMENT ID: DC32179-01-0600-01 LAST REVISED: April 2004 Copyright 1997-2004 by Sybase, Inc. All rights reserved. This publication pertains to Sybase software and

More information

Reference Guide. ECMap. Version 4.2. [ Windows ]

Reference Guide. ECMap. Version 4.2. [ Windows ] Reference Guide ECMap Version 4.2 [ Windows ] DOCUMENT ID: DC36332-01-0420-01 LAST REVISED: November 2004 Copyright 1999-2004 by Sybase, Inc. All rights reserved. This publication pertains to Sybase software

More information

MobiLink Clients Part number: DC Last modified: October 2004

MobiLink Clients Part number: DC Last modified: October 2004 MobiLink Clients Part number: DC00193-01-0902-01 Last modified: October 2004 Copyright 1989 2004 Sybase, Inc. Portions copyright 2001 2004 ianywhere Solutions, Inc. All rights reserved. No part of this

More information

What s New in Replication Server?

What s New in Replication Server? What s New in Replication Server? Replication Server 12.6 DOCUMENT ID: DC36431-01-1260-01 LAST REVISED: October 2003 Copyright 1992-2003 by Sybase, Inc. All rights reserved. This publication pertains to

More information

New Features in DataWindow.NET 2.0

New Features in DataWindow.NET 2.0 New Features in DataWindow.NET 2.0 Document ID: DC00359-01-0200-01 Last revised: March 2006 Topic Page Callback and client-side paging support 2 Integrated page navigation bar 2 New behavior for drop-down

More information

API Reference Manual. EAServer 6.0

API Reference Manual. EAServer 6.0 API Reference Manual EAServer 6.0 DOCUMENT ID: DC38037-01-0600-01 LAST REVISED: July 2006 Copyright 1997-2006 by Sybase, Inc. All rights reserved. This publication pertains to Sybase software and to any

More information

Installation Guide. jconnect for JDBC 6.05

Installation Guide. jconnect for JDBC 6.05 Installation Guide jconnect for JDBC 6.05 DOCUMENT ID: DC32179-01-0605-01 LAST REVISED: September 2005 Copyright 1997-2005 by Sybase, Inc. All rights reserved. This publication pertains to Sybase software

More information

Installation Guide. SQL Expert 15.0

Installation Guide. SQL Expert 15.0 Installation Guide SQL Expert 15.0 DOCUMENT ID: DC31101-01-1500-01 LAST REVISED: January 2006 Copyright 2001-2006 by Sybase, Inc. All rights reserved. This publication pertains to Sybase software and to

More information

Installation Guide Software Developer s Kit and Open Server MICROSOFT WINDOWS

Installation Guide Software Developer s Kit and Open Server MICROSOFT WINDOWS Installation Guide Software Developer s Kit and Open Server 12.5.1 MICROSOFT WINDOWS DOCUMENT ID: DC36841-01-1251-01 LAST REVISED: November 2003 Copyright 1987-2003 by Sybase, Inc. All rights reserved.

More information

Adaptive Server Anywhere SNMP Extension Agent User s Guide

Adaptive Server Anywhere SNMP Extension Agent User s Guide Adaptive Server Anywhere SNMP Extension Agent User s Guide Part number: DC00192-01-0902-01 Last modified: December 2004 Copyright 1989 2004 Sybase, Inc. Portions copyright 2001 2004 ianywhere Solutions,

More information

Installation Guide Adaptive Server Enterprise IPF/HP-UX

Installation Guide Adaptive Server Enterprise IPF/HP-UX Installation Guide Adaptive Server Enterprise 12.5.1 IPF/HP-UX DOCUMENT ID: DC20068-01-1251-02 LAST REVISED: July 2004 Copyright 1989-2004 by Sybase, Inc. All rights reserved. This publication pertains

More information

Reference Application Integrator for CICS

Reference Application Integrator for CICS Reference Application Integrator for CICS Version 3.0 Document ID: 33123-01-0300-01 Last revised: February 1999 Copyright 1989-1999 by Sybase, Inc. All rights reserved. This publication pertains to Sybase

More information

Risk Analytics Platform

Risk Analytics Platform Installation and Configuration Guide Risk Analytics Platform 3.0 DOCUMENT ID: DC00244-01-0300-01 LAST REVISED: September 2006 Copyright 2005-2006 by Sybase, Inc. All rights reserved. This publication pertains

More information

Enterprise Connect Data Access

Enterprise Connect Data Access Installation Guide Enterprise Connect Data Access 12.6 [ Microsoft Windows ] DOCUMENT ID: DC39550-01-1260-01 LAST REVISED: April 2005 Copyright 1989-2005 by Sybase, Inc. All rights reserved. This publication

More information

What s New in EAServer. EAServer. Version 5.2

What s New in EAServer. EAServer. Version 5.2 What s New in EAServer EAServer Version 5.2 DOCUMENT ID: DC38032-01-0520-01 LAST REVISED: January 2005 Copyright 1997-2005 by Sybase, Inc. All rights reserved. This publication pertains to Sybase software

More information

Reference Guide. EC Gateway. Version 4.2. [ Windows ]

Reference Guide. EC Gateway. Version 4.2. [ Windows ] Reference Guide EC Gateway Version 4.2 [ Windows ] DOCUMENT ID: DC36334-01-0420-01 LAST REVISED: November 2004 Copyright 1999-2004 by Sybase, Inc. All rights reserved. This publication pertains to Sybase

More information

Feature Guide. EAServer. Version 5.2

Feature Guide. EAServer. Version 5.2 Feature Guide EAServer Version 5.2 DOCUMENT ID: DC38033-01-0520-01 LAST REVISED: January 2005 Copyright 1997-2005 by Sybase, Inc. All rights reserved. This publication pertains to Sybase software and to

More information

Mainframe Connect DirectConnect for z/os Option

Mainframe Connect DirectConnect for z/os Option Installation Guide Mainframe Connect DirectConnect for z/os Option 12.6 [ Microsoft Windows and UNIX ] DOCUMENT ID: DC34237-01-1260-01 LAST REVISED: May 2005 Copyright 1989-2005 by Sybase, Inc. All rights

More information

API Reference Manual. EAServer. Version 5.2

API Reference Manual. EAServer. Version 5.2 API Reference Manual EAServer Version 5.2 DOCUMENT ID: DC38037-01-0520-01 LAST REVISED: January 2005 Copyright 1997-2005 by Sybase, Inc. All rights reserved. This publication pertains to Sybase software

More information

Embedded SQL /C Programmer s Guide

Embedded SQL /C Programmer s Guide Embedded SQL /C Programmer s Guide Open Client 12.5.1 DOCUMENT ID: DC37695-01-1251-01 LAST REVISED: September 2003 Copyright 1989-2003 by Sybase, Inc. All rights reserved. This publication pertains to

More information

New Features EDI Products 4.2

New Features EDI Products 4.2 New Features EDI Products 4.2 Document ID: DC39126-01-0420-05 Last revised: February 14, 2006 This document describes new features for EDI Products 4.2 and subsequent EBF releases for ECMap, EC Gateway,

More information

Enterprise Connect Data Access Options

Enterprise Connect Data Access Options User s Guide for Access Services Enterprise Connect Data Access Options 12.6 [ Microsoft Windows and UNIX ] DOCUMENT ID: DC38454-01-1260-01 LAST REVISED: February 2005 Copyright 1989-2005 by Sybase, Inc.

More information

Sybase Replication Agent

Sybase Replication Agent Reference Manual Sybase Replication Agent 12.6 [ Linux, Microsoft Windows, and UNIX ] DOCUMENT ID: DC00268-01-1260-01 LAST REVISED: September 2005 Copyright 1998-2005 by Sybase, Inc. All rights reserved.

More information

Transaction Router Service User s Guide

Transaction Router Service User s Guide Transaction Router Service User s Guide DirectConnect TM for OS/390 12.5 MICROSOFT WINDOWS NT and UNIX DOCUMENT ID: 38581-01-1250-01 LAST REVISED: November 2001 Copyright 1989-2001 by Sybase, Inc. All

More information

Release Bulletin PowerBuilder Application Server Plug-In 1.0 for Windows

Release Bulletin PowerBuilder Application Server Plug-In 1.0 for Windows Release Bulletin PowerBuilder Application Serer Plug-In 1.0 for Windows Document ID: DC30121-01-0100-01 Last reised: December 8, 2006 Topic Page 1. Accessing current release bulletin information 2 2. Product

More information

Administration Guide: Volume 2. Replication Server 12.6

Administration Guide: Volume 2. Replication Server 12.6 Administration Guide: Volume 2 Replication Server 12.6 DOCUMENT ID: DC32518-01-1260-02 LAST REVISED: November 2006 Copyright 1992-2006 by Sybase, Inc. All rights reserved. This publication pertains to

More information

Performance and Tuning Guide. EAServer. Version 5.2

Performance and Tuning Guide. EAServer. Version 5.2 Performance and Tuning Guide EAServer Version 5.2 DOCUMENT ID: DC20063-01-0520-01 LAST REVISED: January 2005 Copyright 1997-2005 by Sybase, Inc. All rights reserved. This publication pertains to Sybase

More information

Using Adaptive Server Distributed Transaction Management Features

Using Adaptive Server Distributed Transaction Management Features Using Adaptive Server Distributed Transaction Management Features Adaptive Server Enterprise 12.5.1 DOCUMENT ID: DC31650-01-1251-01 LAST REVISED: August 2003 Copyright 1989-2003 by Sybase, Inc. All rights

More information

What s New. Replication Server 15.0

What s New. Replication Server 15.0 What s New Replication Server 15.0 DOCUMENT ID: DC36431-01-1500-02 LAST REVISED: April 2006 Copyright 1992-2006 by Sybase, Inc. All rights reserved. This publication pertains to Sybase software and to

More information

Installation Guide. RepConnector 15.0 [ WINDOWS, LINUX, UNIX ]

Installation Guide. RepConnector 15.0 [ WINDOWS, LINUX, UNIX ] Installation Guide RepConnector 15.0 [ WINDOWS, LINUX, UNIX ] DOCUMENT ID: DC20111-01-1500-02 LAST REVISED: May 2006 Copyright 2002-2006 by Sybase, Inc. All rights reserved. This publication pertains to

More information

Using Sybase Failover in a High Availability System

Using Sybase Failover in a High Availability System Using Sybase Failover in a High Availability System Adaptive Server Enterprise 12.5.1 DOCUMENT ID: DC31651-01-1251-02 LAST REVISED: September 2003 Copyright 1989-2003 by Sybase, Inc. All rights reserved.

More information

DRAFT. Sybase, Inc. One Sybase Drive Dublin, CA Sybase Avaki EII Provisioning and Advanced Data Integration Guide

DRAFT. Sybase, Inc. One Sybase Drive Dublin, CA Sybase Avaki EII Provisioning and Advanced Data Integration Guide DRAFT Sybase, Inc. One Sybase Drive Dublin, CA 94568 www.sybase.com Sybase Avaki EII Provisioning and Advanced Data Integration Guide Release 7.0 August 24, 2006 DOCUMENT ID: DC00575-01-0700-01 LAST REVISED:

More information

Programmer s Reference for Remote Stored Procedures. Open ServerConnect TM. Version 4.0

Programmer s Reference for Remote Stored Procedures. Open ServerConnect TM. Version 4.0 Programmer s Reference for Remote Stored Procedures Open ServerConnect TM Version 4.0 Document ID: 35605-01-0400-01 Last revised: February 2000 Copyright 1989-2000 by Sybase, Inc. All rights reserved.

More information

Installation Guide. Replication Server [ Windows ]

Installation Guide. Replication Server [ Windows ] Installation Guide Replication Server 15.0.1 [ Windows ] DOCUMENT ID: DC32236-01-1501-01 LAST REVISED: February 2007 Copyright 1992-2007 by Sybase, Inc. All rights reserved. This publication pertains to

More information

Performance and Tuning Guide. EAServer 6.0

Performance and Tuning Guide. EAServer 6.0 Performance and Tuning Guide EAServer 6.0 DOCUMENT ID: DC20063-01-0600-01 LAST REVISED: July 2006 Copyright 1997-2006 by Sybase, Inc. All rights reserved. This publication pertains to Sybase software and

More information

What s New. Replication Server

What s New. Replication Server What s New Replication Server 15.0.1 DOCUMENT ID: DC36431-01-1501-01 LAST REVISED: February 2007 Copyright 1992-2007 by Sybase, Inc. All rights reserved. This publication pertains to Sybase software and

More information

Java Message Service User s Guide. EAServer 6.0

Java Message Service User s Guide. EAServer 6.0 Java Message Service User s Guide EAServer 6.0 DOCUMENT ID: DC00486-01-0600-01 LAST REVISED: July 2006 Copyright 1997-2006 by Sybase, Inc. All rights reserved. This publication pertains to Sybase software

More information

Mainframe Connect Server Option

Mainframe Connect Server Option Installation and Administration Guide Mainframe Connect Server Option 12.6 [ IBM CICS ] DOCUMENT ID: DC36510-01-1260-01 LAST REVISED: May 2005 Copyright 1989-2005 by Sybase, Inc. All rights reserved. This

More information

Configuration and User s Guide. RepConnector 15.0

Configuration and User s Guide. RepConnector 15.0 Configuration and User s Guide RepConnector 15.0 DOCUMENT ID: DC20112-01-1500-01 LAST REVISED: May 2006 Copyright 2002-2006 by Sybase, Inc. All rights reserved. This publication pertains to Sybase software

More information

Sybase Replication Agent

Sybase Replication Agent Primary Database Guide Sybase Replication Agent 12.6 [ Linux, Microsoft Windows, and UNIX ] DOCUMENT ID: DC00269-01-1260-01 LAST REVISED: September 2005 Copyright 1998-2005 by Sybase, Inc. All rights reserved.

More information

Configuration Guide Adaptive Server Enterprise WINDOWS NT

Configuration Guide Adaptive Server Enterprise WINDOWS NT Configuration Guide Adaptive Server Enterprise 12.5 WINDOWS NT DOCUMENT ID: 38421-01-1250-01 LAST REVISED: June 2001 Copyright 1989-2001 by Sybase, Inc. All rights reserved. This publication pertains to

More information

Release Bulletin Sybase Replication Server Version 12.6 for IBM AIX

Release Bulletin Sybase Replication Server Version 12.6 for IBM AIX Release Bulletin Sybase Replication Server Version 12.6 for IBM AIX Document ID: DC72421-01-1260-04 Last revised: March 17, 2006 Topic Page 1. Accessing current release bulletin information 2 2. Product

More information

Troubleshooting Guide

Troubleshooting Guide Troubleshooting Guide Replication Server 12.6 DOCUMENT ID: DC35920-01-1260-02 LAST REVISED: March 2006 Copyright 1992-2006 by Sybase, Inc. All rights reserved. This publication pertains to Sybase software

More information

Programmer s Reference for PL/1

Programmer s Reference for PL/1 Programmer s Reference for PL/1 Open ServerConnect 4.0 IBM CICS IMS TM and MVS DOCUMENT ID: 36560-01-0400-02 LAST REVISED: May 24, 2000 Copyright 1989-2000 by Sybase, Inc. All rights reserved. This publication

More information

Adaptive Server Enterprise

Adaptive Server Enterprise XA Interface Integration Guide for CICS, Encina, and TUXEDO Adaptive Server Enterprise 15.0 DOCUMENT ID: DC36123-01-1500-02 LAST REVISED: Aug. 2005 Copyright 1987-2005 by Sybase, Inc. All rights reserved.

More information

Sybase Adaptive Server Enterprise Installation Guide. Linux/Intel

Sybase Adaptive Server Enterprise Installation Guide. Linux/Intel Sybase Adaptive Server Enterprise Installation Guide Linux/Intel Adaptive Server Enterprise Version 11.9.2 Document ID: 30119-01-1192-01 Last Revised: June 30, 1999 Principal author: Emeryville Technical

More information

Adaptive Server Enterprise

Adaptive Server Enterprise Adaptive Server Enterprise 15.0 DOCUMENT ID: DC36147-01-1500-01 LAST REVISED: September 2005 Copyright 1987-2005 by Sybase, Inc. All rights reserved. This publication pertains to Sybase software and to

More information

UltraLite.NET User s Guide

UltraLite.NET User s Guide UltraLite.NET User s Guide Part number: DC50043-01-0901-01 Last modified: January 2004 Copyright 1989 2004 Sybase, Inc. Portions copyright 2001 2004 ianywhere Solutions, Inc. All rights reserved. No part

More information

Cookbook. EAServer. Version 5.2

Cookbook. EAServer. Version 5.2 Cookbook EAServer Version 5.2 DOCUMENT ID: DC38038-01-0520-01 LAST REVISED: January 2005 Copyright 1997-2005 by Sybase, Inc. All rights reserved. This publication pertains to Sybase software and to any

More information

Introduction to Sybase IQ. Sybase IQ 12.7

Introduction to Sybase IQ. Sybase IQ 12.7 Introduction to Sybase IQ Sybase IQ 12.7 DOCUMENT ID: DC38159-01-1270-01 LAST REVISED: June 2006 Copyright 1991-2006 by Sybase, Inc. All rights reserved. This publication pertains to Sybase software and

More information

Advanced User Documentation. Sybase PowerDesigner Windows

Advanced User Documentation. Sybase PowerDesigner Windows Advanced User Documentation Sybase PowerDesigner 12.5 Windows Part number: DC38628-01-1250-01 Last modified: April 2007 Copyright 1991-2007 Sybase, Inc. and its subsidiaries. All rights reserved. Information

More information

New Features Summary PowerDesigner 15.2

New Features Summary PowerDesigner 15.2 New Features Summary PowerDesigner 15.2 Windows DOCUMENT ID: DC10077-01-1520-01 LAST REVISED: February 2010 Copyright 2010 by Sybase, Inc. All rights reserved. This publication pertains to Sybase software

More information

Release Bulletin Enterprise Connect Data Access for Microsoft Windows

Release Bulletin Enterprise Connect Data Access for Microsoft Windows Release Bulletin Enterprise Connect Data Access 12.6.1 for Microsoft Windows Document ID: DC74920-01-1261-01 Last revised: May 2006 Topic Page 1. Accessing current release bulletin information 2 2. Product

More information

Sybase Replication Agent

Sybase Replication Agent Reference Manual Sybase Replication Agent 15.0 [ Linux, Microsoft Windows, and UNIX ] DOCUMENT ID: DC00268-01-1500-01 LAST REVISED: October 2006 Copyright 1998-2006 by Sybase, Inc. All rights reserved.

More information

Troubleshooting Guide

Troubleshooting Guide Troubleshooting Guide EAServer 5.0 DOCUMENT ID: DC10113-01-0500-01 LAST REVISED: April 2004 Copyright 1997-2004 by Sybase, Inc. All rights reserved. This publication pertains to Sybase software and to

More information

Web Services Toolkit User s Guide

Web Services Toolkit User s Guide Web Services Toolkit User s Guide EAServer 5.0 DOCUMENT ID: DC31727-01-0500-01 LAST REVISED: December 2003 Copyright 1989-2003 by Sybase, Inc. All rights reserved. This publication pertains to Sybase software

More information

Adaptive Server Enterprise

Adaptive Server Enterprise Quick Installation Guide Adaptive Server Enterprise 12.5.4 [ Mac OS X ] DOCUMENT ID: DC39123-01-1254-01 LAST REVISED: July 2006 Copyright 1987-2006 by Sybase, Inc. All rights reserved. This publication

More information

Mainframe Connect Server Option

Mainframe Connect Server Option Installation and Administration Guide Mainframe Connect Server Option 12.6 [ IBM IMS and MVS ] DOCUMENT ID: DC34368-01-1260-01 LAST REVISED: May 2005 Copyright 1989-2005 by Sybase, Inc. All rights reserved.

More information

New Features Summary PowerDesigner 15.3

New Features Summary PowerDesigner 15.3 New Features Summary PowerDesigner 15.3 Windows DOCUMENT ID: DC10077-01-1530-01 LAST REVISED: November 2010 Copyright 2010 by Sybase, Inc. All rights reserved. This publication pertains to Sybase software

More information

Mainframe Connect Client Option

Mainframe Connect Client Option Installation and Administration Guide Mainframe Connect Client Option 12.6 [ IBM IMS and MVS ] DOCUMENT ID: DC36561-01-1260-01 LAST REVISED: May 2005 Copyright 1991-2005 by Sybase, Inc. All rights reserved.

More information

New Functionality in Sybase Adaptive Server Enterprise

New Functionality in Sybase Adaptive Server Enterprise New Functionality in Sybase Adaptive Server Enterprise 11.9.2 Document ID: 30602-01-1192-01 August 1998 Copyright Information Copyright 1989 1998 by Sybase, Inc. All rights reserved. Sybase, Inc., 6475

More information

Migration Guide. EAServer 6.0

Migration Guide. EAServer 6.0 Migration Guide EAServer 6.0 DOCUMENT ID: DC00485-01-0600-01 LAST REVISED: July 2006 Copyright 1997-2006 by Sybase, Inc. All rights reserved. This publication pertains to Sybase software and to any subsequent

More information

Command Line Tools Guide. e-biz Impact 5.4.5

Command Line Tools Guide. e-biz Impact 5.4.5 Command Line Tools Guide e-biz Impact 5.4.5 DOCUMENT ID: DC10092-01-0545-01 LAST REVISED: July 2005 Copyright 1999-2005 by Sybase, Inc. All rights reserved. This publication pertains to Sybase software

More information

Troubleshooting Guide. EAServer. Version 5.2

Troubleshooting Guide. EAServer. Version 5.2 Troubleshooting Guide EAServer Version 5.2 DOCUMENT ID: DC10113-01-0520-01 LAST REVISED: May 2005 Copyright 1997-2005 by Sybase, Inc. All rights reserved. This publication pertains to Sybase software and

More information

Release Bulletin Enterprise Connect Data Access for Linux and UNIX

Release Bulletin Enterprise Connect Data Access for Linux and UNIX Release Bulletin Enterprise Connect Data Access 12.6.1 for Linux and UNIX Document ID: DC74921-01-1261-02 Last revised: June 2006 Topic Page 1. Accessing current release bulletin information 2 2. Product

More information

Performance and Tuning Guide. Sybase IQ 12.7

Performance and Tuning Guide. Sybase IQ 12.7 Performance and Tuning Guide Sybase IQ 12.7 DOCUMENT ID: DC00169-01-1270-01 LAST REVISED: June 2006 Copyright 1991-2006 by Sybase, Inc. All rights reserved. This publication pertains to Sybase software

More information

Installation Guide Adaptive Server Enterprise. Linux/Intel

Installation Guide Adaptive Server Enterprise. Linux/Intel Installation Guide Adaptive Server Enterprise 12.5 Linux/Intel DOCUMENT ID: 30119-01-1250-03 LAST REVISED: July 2002 Copyright 1989-2002 by Sybase, Inc. All rights reserved. This publication pertains to

More information

Installation Guide Adaptive Server Enterprise HP 9000/800 HP-UX

Installation Guide Adaptive Server Enterprise HP 9000/800 HP-UX Installation Guide Adaptive Server Enterprise 12.5 HP 9000/800 HP-UX DOCUMENT ID: 35890-01-1250-02 LAST REVISED: February 2002 Copyright 1989-2002 by Sybase, Inc. All rights reserved. This publication

More information

Common Libraries Reference Manual

Common Libraries Reference Manual Common Libraries Reference Manual Open Client and Open Server 12.5.1 DOCUMENT ID: DC32850-01-1251-01 LAST REVISED: September 2003 Copyright 1989-2003 by Sybase, Inc. All rights reserved. This publication

More information

Open Client and Open Server

Open Client and Open Server Configuration Guide Open Client and Open Server 12.5.1 [ UNIX ] DOCUMENT ID: DC35831-01-1251-03 LAST REVISED: May 2005 Copyright 1989-2005 by Sybase, Inc. All rights reserved. This publication pertains

More information

Release Bulletin Open Client and Open Server Version for Windows

Release Bulletin Open Client and Open Server Version for Windows Release Bulletin Open Client and Open Server Version 12.5.1 for Windows Document ID: DC75911-01-1251-02 Last revised: March 03, 2006 Topic Page 1. Accessing current release bulletin information 2 2. Product

More information

XA-Server Integration Guide for TUXEDO

XA-Server Integration Guide for TUXEDO XA-Server Integration Guide for TUXEDO XA-Server Release 11.1.1 Document ID: 35002-01-1111-01 Last Revised: May 30, 1997 Principal author: W.I.R.E.D. Information Products Document ID: 35002-01-1111-01

More information

Adaptive Server Enterprise

Adaptive Server Enterprise New Feature Guide Adaptive Server Enterprise 12.5.4 DOCUMENT ID: DC00212-01-1254-02 LAST REVISED: July 2006 Copyright 1987-2006 by Sybase, Inc. All rights reserved. This publication pertains to Sybase

More information

PowerBuilder Foundation Class Library User s Guide. PowerBuilder

PowerBuilder Foundation Class Library User s Guide. PowerBuilder PowerBuilder Foundation Class Library User s Guide PowerBuilder 8 DOCUMENT ID: 37779-01-0800-01 LAST REVISED: June 2001 Copyright 1989-2001 by Sybase, Inc. All rights resered. This publication pertains

More information

Release Bulletin Adaptive Server Enterprise Version for Mac OS X 10.3

Release Bulletin Adaptive Server Enterprise Version for Mac OS X 10.3 Release Bulletin Adaptive Server Enterprise Version 12.5.1 for Mac OS X 10.3 Document ID: DC79176-01-1251-01 Last revised: November 25, 2003 Topic 1. Accessing current release bulletin information 2 2.

More information

Quick Reference PowerDesigner 16.1

Quick Reference PowerDesigner 16.1 Quick Reference PowerDesigner 16.1 Windows DOCUMENT ID: DC38094-01-1610-01 LAST REVISED: November 2011 Copyright 2011 by Sybase, Inc. All rights reserved. This publication pertains to Sybase software and

More information

Release Bulletin Adaptive Server Enterprise Version for Linux

Release Bulletin Adaptive Server Enterprise Version for Linux Release Bulletin Adaptive Server Enterprise Version 12.5.1 for Linux Document ID: DC78565-01-1251-02 Last revised: October 15, 2003 Topic Page 1. Accessing current release bulletin information 3 2. Product

More information

DEV427 MODEL-DRIVEN DEVELOPMENT USING PowerDesigner. Xiao-Yun WANG PowerDesigner Chief Architect

DEV427 MODEL-DRIVEN DEVELOPMENT USING PowerDesigner. Xiao-Yun WANG PowerDesigner Chief Architect DEV427 MODEL-DRIVEN DEVELOPMENT USING PowerDesigner Xiao-Yun WANG PowerDesigner Chief Architect xwang@sybase.com OBJECTIVES 1. Understand what s Model-Driven Development 2. Understand why Model-Driven

More information

Release Bulletin Adaptive Server Enterprise Version for Silicon Graphics IRIX

Release Bulletin Adaptive Server Enterprise Version for Silicon Graphics IRIX Release Bulletin for Silicon Graphics IRIX Document ID: DC72500-01-1251-02 Last revised: October 15, 2003 Topic 1. Accessing current release bulletin information 3 2. Product summary 3 2.1 Installation

More information

Overview Guide. Mainframe Connect 15.0

Overview Guide. Mainframe Connect 15.0 Overview Guide Mainframe Connect 15.0 DOCUMENT ID: DC37572-01-1500-01 LAST REVISED: August 2007 Copyright 1991-2007 by Sybase, Inc. All rights reserved. This publication pertains to Sybase software and

More information

New Features Adaptive Server Enterprise a

New Features Adaptive Server Enterprise a New Features Adaptive Server Enterprise 12.5.3a Document ID: DC00340-01-1253-02 Last revised: October 2005 This document describes new features available for Adaptive Server Enterprise 12.5.3a. Topic Page

More information