Tool Mentor: Create Candidate Services Source Elements
Use IBM® Rational® Software Architect for WebSphere® Software to create the source elements from which candidate services are derived. These include business process models, functional area models, business rules, business goals, domain models, and existing assets.
Tool: Rational Software Architect
Relationships
Main Description

Overview

This tool mentor describes how to create the source elements from which candidate services, modeled using SoaML Capabilities, are derived. 

The following steps are performed here:

Instructions regarding the tool gestures which can be used to create SoaML model elements in Rational Software Architect for WebSphere Software Version 7.5.4 and later are presented in Tool Mentor: Create SoaML Model Elements and are not repeated below in detail.

Review model structure for source elements

The SoaML service solution design template which is available with Rational Software Architect uses the 0 - Capabilities (Candidate Services)package to organize candidate services-related content.  In addition to candidate services themselves, this content also includes model elements which represent artifacts from which candidate services are derived.  This source element portion of the template is shown in the Figure 1. 

Figure 1. Source element portion of the SoaML service solution design template

      

Create business process content

In most cases, business process descriptions will be made available in Rational Software Architect using one of the three following methods:

In the latter two cases, business processes are rendered in Rational Software Architect using UML Activity diagrams.

As a fourth alternative, model business processes using Activities that you create under the Business Process Descriptions package in the model template.  Start a new business process using the <<BusinessProcess>> building block that can be found in the model template's <<modelLibrary>> Service Design Building Blocks package.  Model the process using the Activity modeling techniques that are described in   Modeling user workflow by using activity diagrams.

Create functional area models

Refer to Tool Mentor: Create Functional Area Models for detailed instructions regarding creating functional area model content in Rational Software Architect.

Represent business rules

Create a new Business Rule under the Business Rules package.  Do this using one of the following two approaches.  The instructions are written assuming the tasks are performed in the Project Explorer.

  • Create and name a new Class under the Business Rules package.
    1. Select the Properties view, then the Stereotypes tab
    2. Add a BusinessRule keyword to the new Class
  • Select the <<BusinessRule>> building block under the Business Rules package
    1. Copy this building block and paste it in place, under the same package
    2. Rename the newly created Business Rule

Model business goals

Create a new Business Goal under the Business Goals package.  Do this using one of the following two approaches.  The instructions are written assuming the tasks are performed in the Project Explorer.

  • Create and name a new Class under the Business Goals package.
    1. Select the Properties view, then the Stereotypes tab
    2. Assign the BusinessGoal stereotype to the new Class
  • Select the <<BusinessGoal>> building block under the Business Goals package
    1. Copy this building block and paste it in place, under the same package
    2. Rename the newly created Business Goal. 

Build domain information models

Rational Software Architect is able to manage multiple models in a given workspace and to enable model elements in one model to reference elements that are owned by other models.  Because of this, it can be attractive to maintain a separate domain model and use its elements as source for subsequent candidate services discovery work.  If you do this, it is not necessary to build a domain model within the service model itself.  If you do decide to build a locally-used domain model within your service model, we offer the following advice. 

Create domain information models under the Information Model package of the model.  Create domain information model elements using UML Data Types, and keyword these elements as <<domainType>>.  Apply a keyword using the Stereotypes tab of the element's Properties view.

See Example: Pattern 06: Derive Atomic Services from Domain Model for a sample domain information model.

Identify existing assets

Create a model element to represent an Existing Asset under the Existing Assets package.  Do this using one of the following approaches.  The instructions are written assuming the tasks are performed in the Project Explorer.

  • Create and name a new Component under the Existing Assets package.
    1. Select the Properties iew, then the Stereotypes tab
    2. Add an ExistingAsset keyword to the new Component
  • Select the <<ExistingAsset>> building block under the Existing Assets package
    1. Copy this building block and paste it in place, under the same package
    2. Rename the newly created Existing Asset
  • Select the <<ExistingAsset>> building block that exists under the service model template's <<modelLibrary>> package
    1. Copy this building block and paste it into the Existing Assets package 
    2. Rename the newly created Existing Asset 

Link external documentation to model element

External documentation can be linked to any Rational Software Architect UML model element.  For example, it might be beneficial to point to one or more documents that provide details regarding an existing asset.  Establish this link as follows:

  • Select the model element in Project Explorer
  • Right-click and select the Add UML > URL Link menu item
  • Using the resulting dialog, either manually enter a URL or browse the file system for the documentation resource.
More Information
Concepts