Tool Mentor: Identify Service-Oriented Solutions
Service-Oriented Solutions are used in our process as conceptual constructs to help manage the service model and to more effectively trace from the business problem to the IT solution.
Tool: Rational Software Architect
Relationships
Main Description

Overview

This tool mentor describes how to identify the conceptual Service-Oriented Solutions that pertain to the current service model and then create them.  See Pattern 05: Manage Composition Using Service-Oriented Solutions for further discussion on this concept. The provided instructions apply for Rational Software Architect for WebSphere Software, Version 7.5.4 or later.    

The following steps are performed in this tool mentor:

Model element creation techniques are described in Tool Mentor: Create SoaML Model Elements. Those instructions are not repeated here.

Review the model structure

The diagram that follows illustrates the portions of the service model structure that are used in this tool mentor. Notable aspects include:

  • Functional areas of the business have been identified under the Functional Areas Description package.  
  • Packages representing Service-Oriented Solutions appear under both the "1 - Service Collaborations" package and the "5 - Services Architectures" package. This is discussed in Pattern 05.  
  • Building blocks are provided in the <<modelLibrary>> to create both types of service-oriented solution packages.  

  

Create higher-level packages to organize Service-Oriented Solutions

Come to agreement with your team as to whether a higher-level concept will be used to organize your service-oriented solutions. Rational SOMA 2.9 adopts the Functional Area as this concept. The following instructions are written assuming that this guidance is being followed:

  1. Identify the Functional Areas that the current service development effort is supporting.
  2. For each such Functional Area, create a package under both the "1 - Service Collaborations" package and the "5 - Services Architectures" package.
  3. Name each of these packages the same as the Functional Area.

Identify the Service-Oriented Solutions that are to be developed

If the current effort is creating service-oriented solutions to address only a few business processes or use cases, map a Service-Oriented Solution to each business process/use case.   

If the current effort is addressing many business processes or use cases, identify clusters of such business processes or use cases that logically support each other.   Identify a Service-Oriented Solution to serve as a higher-level organizing element for each such cluster.

Create package structures for the Service-Oriented Solutions

Create Service-Oriented Solution package structures for each Service-Oriented Solution that was identified in the previous step. For each such solution, do the following:

  1. Use the <<soSolutionPackage>> ${soSolution.co} building block to create a Service-Oriented Solution package structure under the appropriate Functional Area package, under "1 - Service Collaborations."
  2. Use standard building block text find-and-replace techniques to name the package structure appropriately.
  3. Use the <<soSolutionPackage>> ${soSolution.sa} building block to create a Service-Oriented Solution package structure under the appropriate Functional Area package, under "5 - Services Architectures."
  4. Use standard building block text find-and-replace techniques to name the package structure appropriately.