Tutorial: Creating a BPMN model from a BPEL artifact

Process modeling is an effective way for business processes to be defined and documented so business analysts, executives, architects and developers can collaborate and successfully deliver business solutions. There are two primary methods for creating business process models with ActiveVOS: creating a new model from scratch or importing an existing artifact (ex. BPEL process) and converting it into a BPMN model.

Typically, the first approach is used when defining a new process – where a business analyst would define and simulate the model, then hand it over to IT to implement. 

To familiarize yourself with modeling a process using BPMN, this tutorial walks you through the latter approach—converting an existing BPEL process into a BPMN  model.  This approach might be used when a business analyst needs to review or document existing processes that are already in development or production.

Before continuing with the tutorial, if you are using ActiveVOS Designer, make sure you are working from within the Business Process Perspective.  The current perspective is displayed in the upper right corner of the Designer, and can be changed from the main menu by selecting Window -> Open Perspective -> Other -> Business Process 

In this tutorial, you will:

  1. Define additional properties to describe a model
  2. Import a BPEL artifact that describes a loan approval process
  3. Modify (edit) the resulting model
  4. Enrich the model by adding additional data
  5. Generate a Microsoft Word-based report

Defining Properties

You will define new properties (metadata) for use with the model we intend to import. User-defined properties only apply to newly created models (not existing models), so you need to define the properties before importing the BPEL artifact.

1.    From the Window menu, select Preferences.

2.    In the left pane of the Preferences box, select Business Process -> Initial Values -> User-Defined Properties.

3.    In the User-Defined Properties area, select Activity from the list box.

4.    To add a new Activity property set, click the Add icon  above the Property Set box.

5.    Rename the new property set to Cost and Revenue. (To do so, select the text “PropertySet1” and type the new name.)

6.    Add property definitions to the new Cost and Revenue property set. We will add the following property definitions with the data types indicated:

Property

Data Type

Literals

Currency

Enumeration

USD, EUR, GBP

Initial Cost

Integer

 

Process Cost

Integer

 

Wait Cost

Integer

 

Revenue

Integer

 

To add the property definitions:

6.1.    Click the Add icon  in the bottom box of the User Defined Properties window to add a new propertyProperty1. Highlight the property name and rename it.

6.2.    Select the data type. The default is Enumeration. To change it, click in the Type box and a down arrow will appear. Click the arrow and choose the data type you want. Available data types are Real, String, Integer, Boolean, and Enumeration.

6.3.    If the data type is Enumeration, you can add Literals (values that you type in). Otherwise, you cannot add Literals. To add Literals, click in the Literals box and then click the  button that appears. The Enumeration dialog opens. Click the Add icon  to add a literal1 value. With the value label selected; start typing to rename the value. You can also add multiple values at once and rename them later. Use the (X) icon to delete unneeded Literals. When you are finished adding Literals, click OK. The Literals you added are displayed when the cursor moves to the next box.

6.4.    For the Enumeration data type, you can specify the Literal to be used as the Default Value. Click in the box, select the down arrow, and select the Literal to use as the default.

6.5.    In the Description box, type any additional information to include.

Importing and transforming a BPEL artifact

The next step is to import the BPEL artifact and generate the visual model.

1.    Use File->New->Example command and select BPMN-BPEL Mapping Example from the wizard. A project named ActiveVOS BPMN-BPEL Mapping Example project will be created that contains the example files loanapproval.bpel and loanapproval.wsdl.

2.    From the File menu, select New. This opens the New Business Process Model wizard.

3.    Select Create from BPEL, and click Next.

4.    On the next screen, specify the location of the BPEL artifact, which is $(workspace)\ActiveVOS BPMN Simulation Example\. Click Browse. The example file for this tutorial is called loanapproval.bpel.  Select the name of the file and click Open.

5.    Next, add the WSDL file that is relevant to this model. To do so, click Add, and select the loanapproval.wsdl. Click Open.

6.    Click Finish. A new editor that contains the BPMN model should appear. It will be labeled Untitled.

Editing the model generated from the BPEL Artifact

After generating a visual model from a BPEL artifact, it is sometimes necessary to make modifications to improve readability. In this example, you will be rearranging the model flow, renaming some of the objects and flows, and designating a default flow. Here is the model before editing:

To change the model:

1.    Find the Start Event named request. Double-click the name to select it and rename the event to Receive Loan Request.

2.    Select the first gateway in the model (the diamond-shaped object that appears just after the Start Event). The purpose of this gateway is to determine the proper path to take based on the amount of the loan request. Name this gateway Amount. To do so, verify that the gateway is selected, then click the Properties tab at the bottom of the application. In the Name field, type Amount.

3.    Change the Amount gateway from Inclusive to Exclusive (Data-based). Right-click the gateway object and select Gateway Control->Exclusive (Data-Based) from the menu. Note how the appearance of the gateway changes. This change is necessary because the decision at this gateway is exclusive. In other words, the process will follow only one path. When ActiveVOS converts BPEL to a BPMN model, it does not automatically determine whether gateways are inclusive or exclusive. You must make this change manually.

4.    Notice that the Amount gateway connects to two processes. The top process includes a check activity. Double-click the name and rename this activity Check Credit.

5.    Provide clearer names for each of the other activities. Select the assign0 activity and type Seek Loan Approval in the Name field in the Properties area. Select the approve activity and type Assess Credit in the Name field in the Properties area.

6.    Select the Sequence Flow between the Amount gateway and the Check Credit activity. View the Condition formula in the Properties area below the diagram. The formula determines which Sequence Flow occurs when a loan request enters the system. If the loan request is for less than $10,000, the Check Credit and Seek Loan Approval process occurs. If the loan request is for $10,000 or more, the Assess Credit process occurs. To make these conditions more visible within the model, provide a name for the Sequence Flow leading to the Check Credit process. Click the Sequence Flow and type <=$10000 in the Name field in the Properties area.

7.    Select the Sequence Flow between the Amount gateway and the lower intermediate gateway. Rename it >$10000.

8.    Most incoming loans are more than $10,000. To increase the efficiency of this loan approval system, define the Sequence Flow leading to the Assess Credit activity as the default flow. The condition for this Sequence Flow will always be checked first. To set it as the default, select the Sequence Flow and then select the Default Flow check box in the Properties area. Notice that this causes a slash to appear in the Sequence Flow, providing a visual indicator that this is the default flow.

9.    Find the gateway in the top process of the model and rename it Risk, then change it to Exclusive (Data-Based). Just as before, this change is necessary because the decision at this gateway is exclusive (not inclusive) and this change must be made manually.

10. Select the Assess Credit activity and drag it so it is below the Risk gateway. The associated Sequence Flows will automatically resize as you drag the activity.

11. Select the Sequence Flow leading from the Risk gateway to the Seek Loan Approval activity. Click the Sequence Flow and type risk = "low" in the Name field in the Properties area. If the risk is low, the loan can be approved.

12. There are two intermediate gateways in the diagram, but only one is needed. First, move the Sequence Flow so it connects the Amount gateway and the Assess Credit activity. Second, move the Sequence Flow leading from the Risk gateway so it attaches to the Seek Loan Approval process. Only after moving the Sequence Flows should you delete the bottom intermediate gateway. Deleting the gateway also deletes the attached Sequence Flows, so if you do not move them before deleting the gateway, the properties you have assigned them will be lost when you delete the gateway.

13. Click the Sequence Flow leading from the Risk gateway to the Seek Loan Approval process and type risk = "high" in the Name field in the Properties area. If the risk is high, the loan must go through the loan approval process.

The following diagram illustrates how the model should appear after making all of the above changes:

Enriching the model with additional data

Now that you have enhanced the readability of the model and improved the efficiency of its sequence flows, you can move on to finer-grained improvements. In this step, you will add documentation and more detailed property information to further enhance the usability of this model.

1.    Document the Seek Loan Approval activity. Select this activity and then select Documentation from the list of properties in the left pane of the Properties view. In the edit box, type the following: Seek Loan Approval is a Web service designed to review a loan approval request. The cost of this service is 200 US dollars.

2.    Define the cost and revenue figures for this process. Select Cost and Revenue from the list of properties. This is the property you created earlier in this tutorial. Set Initial Cost to 200, Revenue to 500, and Currency to USD.

3.    Document the Assess Credit process. Select the process and then select Documentation from the list of properties in the left pane of the Properties view. Type the following: Assess Credit is a Web service designed to assess a loan applicant’s credit. The cost of this service is 200 US dollars.

4.    Define the cost and revenue figures for this process, just as you did with the previous process. Select Cost and Revenue from the list of properties. Set Initial Cost to 200, Revenue to 500, and Currency to USD.

5.    Add a Goal to the Assess Credit activity. In the Outline view in the lower left area of the application, right-click the loanapprovalProcess at the top of the list. Select Add Goal from the resulting context menu.

6.    Expand the Process list by clicking the plus (+) sign. You should see the Goal that you just added. Select the Goal.

7.    In the Properties view, type the following as the Name of the Goal: Reduce bad loan ratio.

8.    In the Deliverable field, click the Select button, click the plus (+) sign to expand the tree, and check both the Assess Credit and Seek Loan Approval processes. Click OK.

Generating a Microsoft Word-based report

After completing the design of your model, you may want to produce a report explaining the contents of the model. The following procedure explains how to create the report.

1.    From the Modeling menu, select Report.

2.    In the Report File field, type the file name for the report you are about to create.

3.    In the Choose Document Format area, select Word Format.

4.    Click Finish. The generated Word document opens.

 

See also:

User interface overview

Editing a process model diagram