< Previous | Next >

Lesson 2: Create capabilities that represent candidate services

In a services model, a candidate service is represented by a capability. Some capabilities are prioritized and taken forward for further design and eventual implementation.

Create a capabilities package and an overview diagram

About this task

For organizational purposes, you can create packages to store the model elements that you create in this tutorial. You can use the Main diagram in the Service model to provide an overview of these packages. In this lesson, you create a package to store the capabilities, which are also called candidate services.

Procedure

  1. Open the diagram named Main: In the Project Explorer view, in the MyProject project, in the Models folder, expand Services, and double-click Main. At this point in the tutorial, the diagram is empty.
  2. Right-click in the diagram editor; then click Add UML > Package.
  3. Name the new package capabilities. The diagram now contains the capabilities package, as shown in the following image:
    A UML package named capabilities.
  4. Click File > Save.
  5. In the Project Explorer view, in the Models folder of the project, expand the Services model to show the contents of the capabilities package, which should look like the following image:
    Contents of the capabilities package.
  6. In the capabilities package, open the diagram named Main. In the next part of this lesson, you use this diagram to create other capabilities, and to provide an overview of them.

Explore the Service drawer of the Palette

After you open a diagram of a model, you can add elements to it by using the Palette, which is shown in the following image:
The Service drawer of the palette.

About this task

To add an item from the Palette to a diagram, click the item in the Palette, move the cursor to an empty location in the diagram; then click in the diagram to create the element.

The drawers and items that are available in the Palette depend on the type of diagram, the set of profiles that are applied to the model, and the user settings.

The Service drawer of the Palette is available when you open a diagram in a services model, a model that has the SoaML profile applied. The Service drawer contains most of the element types for modeling services, and contains several sections, as shown in the following images:
Palette item Appearance
Capability
The capability stack in the Service drawer of the palette.
Service Interface
The Service Interface stack in the Service drawer of the palette.
Participant
The Participant stack in the Service drawer of the palette.
Port
The Port stack in the Service drawer of the palette.
Provided Interfaces (also contains required interfaces)
The Provided and Required Interfaces stack in the Service drawer of the palette.
Data Type
The Data Type stack in the Service drawer of the palette.

Create capabilities

In this tutorial, you model the lanes and the entire business process (the pool) as candidate services that are named Invoicing, Scheduling, Shipping, and Purchasing.

Before you begin

You must have the capabilities Main diagram open.

About this task

In this part of the lesson, you create four capabilities:
  • Three capabilities represent lanes in the business process: Invoicing, Scheduling, and Shipping
  • One capability, named Purchasing, represents the entire business process

To create the capabilities:

Procedure

  1. Create a capability by right-clicking an empty place in the diagram and clicking Add Services Modeling > Capability from BPMN Element. The Select Element window opens, as shown in the following image:
    The Select Element window.
  2. Create the Invoicing capability:
    1. In the Select Element window, click MyProject > Business Process.bpmx > Collaboration > Purchasing, and click Invoicing. The Invoicing lane is the BPMN element from which the new candidate service is derived.
    2. Clear the Create a Link in each new operation check box.
    3. Select the Create a Link in the new Capability/ServiceInterface check box. For this tutorial, you create a traceability link for the capability itself, but not for each operation.
    4. Click OK. An Invoicing capability is created, and has a name which was determined automatically from the name of the lane. The new capability is created in the model and diagram, as shown in the following image:
      The new Invoicing capability.
  3. Refine the operations in the Invoicing capability: The operations and their names were determined from the names of the tasks in the selected lane. For this tutorial, suppose that you do not need the Process Invoice operation, and suppose that the names of the other operations must change to conform to the naming standards of a project and to better reflect what the operations do. In the diagram editor, in the Invoicing capability, complete the following steps:
    1. Right-click the Process Invoice operation; then click Delete from Model. If you are prompted to confirm your selection, click Yes.
    2. Click the Initiate Price Calculations operation and rename it to initiatePriceCalculation.
    3. Click the Handle Shipping Price operation and rename it to completePriceCalculation.
    The following image shows the updated Invoicing capability:
    The updated Invoicing capability.
  4. Create a capability for the Scheduling lane: Repeat steps 1 and 2, but in step 2, select Scheduling instead of Invoicing.
  5. In the Scheduling capability, rename the operations to requestProductionScheduling and sendShippingSchedule. The following image shows the updated Scheduling capability:
    The updated Scheduling capability.
  6. Create a capability for the Shipping lane: Repeat steps 1 and 2, but in step 2, select Shipping instead of Invoicing.
  7. In the Shipping capability, rename the operations to requestShipping and processSchedule. The following image shows the updated Shipping capability:
    The updated Shipping capability.
  8. In the diagram editor, arrange the three capabilities into a horizontal row in the middle of the diagram.
  9. Create a capability that represents the entire process: Repeat steps 1 and 2, but in step 2 select Purchasing, which is the parent tree node of the lanes, instead of Invoicing.
  10. In the Purchasing capability, delete and rename its operations so that it has a single operation named processPurchaseOrder, as shown in the following image:
    The updated Purchasing capability.
  11. In the diagram editor, center the Purchasing capability above the three other capabilities, as shown in the following image:
    The diagram editor shows the Purchasing capability placed above the other three capabilities.
  12. In the diagram editor, create a Usage relationship from the Purchasing capability to each of the other three capabilities:
    1. Put the cursor over the Purchasing capability until the connector handles are displayed, as shown in the following image:
      Connection handles to connect capabilities.
    2. Drag the outgoing handle to one of the other capabilities. From the list of relationship types, select Create Usage. A new «use» connection, which represents the relationship, is created between the capabilities.
    After you create all three usage relationships, the diagram should look like the following image:
    Capabilities diagram that contains usage relationships from the Purchasing capability to each of the Invoicing, Scheduling, and Shipping capabilities.
    In the Project Explorer view, the project should look like the following image:
    Contents of the MyProject project: The capabilities folder now contains all four capabilities.
  13. Click File > Save.
  14. To discover the BPMN element from which each capability is derived, in the diagram editor, right-click a capability; then click Navigate > To URL Link. For example, if you complete this step for the Invoicing capability, the Invoicing lane in the BPMN model is selected in the Project Explorer view. These traceability links were created automatically when you created each capability.

What to do next

You can now close the capabilities Main diagram.
< Previous | Next >

Feedback