Roadmap: Transitioning from IBM SOMA
This roadmap is provided to orient IBM Global Business Consultants used to the SOMA method prior to integration with the RUP.
Main Description

Service-Oriented Modeling and Architecture at IBM

The SOMA method was developed as an engagement model within IBM's Global Business Services group, and while public papers and descriptions were available it was primarily a method used by consultants in the field and not available to IBM customers. On the other hand the RUP is a commercial product offering from IBM which customers use to develop their own software development processes. This integrated method offering, RUP/SOMA has been developed to bring the unique aspects of SOMA to the RUP commercial method and make these available to commercial customers.

In the area of SOA Solution design it is not unsurprising to find that many similar elements appeared in these two methods, primarily the following three topic areas.

In support of these activities SOMA defined a set of techniques and work products, as shown in the figure below, to define end-to-end solution models. The method elements below are color coded with Identification then Specification and finally Realization elements from top to bottom. The RUP included SOA content in 2004 and 2005 that provided customers with many similar techniques and a set of work products integrated into the existing RUP framework.

 

The Integrated SOA Method

In bringing together the RUP SOA content and SOMA we have brought together the methods, techniques and work products according to the framework below. As you can see the core activities remain the same, the work products remain the same (at this high-level of detail) and we describe here the primary influences that guide the different activities (although most activities take into account some aspect of most of these influences). Note also that this remains an iterative method, that the identification, specification and realization activities often happen in multiple, and often overlapping, iterations focused on different services or services in different domains.

 Method Overview

The current method does not cover the deployment, provisioning and management of services at this time.

Phase: Identification

As we have said, the core approach to service identification is common to both SOMA and RUP, however some differences existed and some of these differences are surfaced in the resulting integrated method. The following table describes how the techniques from SOMA are realized in the integrated RUP/SOMA and where in the resulting method content the topics can be found. Where possible names have been preserved from SOMA except where existing RUP material had a stronger precedence.

SOMA Activity SOMA Task RUP/SOMA Content
Domain Decomposition Funtional Area Analysis This task is documented in the RUP/SOMA Task: Functional Area Analysis, and supported by the following guidance: Concept: Functional Area Analysis, Concept: Component Business Modeling
  Process Decomposition

This task is documented in the RUP/SOMA Task: Refine a Business Use-Case, and supported by the following guidance: Concept: Business Process Decomposition, Task: Business Process Analysis.

  Variation-Oriented Analysis This task is documented in the RUP/SOMA Guideline: Variability Analysis
Goal-Service Modeling Identify Goals and Sub-goals

This task is documented in the RUP/SOMA Task: Identify Business Goals and KPIs, and supported by the following guidance: Artifact: Business GoalGuideline: Business Goal, Checklist: Business Goal.

  Identify Services for Subgoals This task is documented in the RUP/SOMA Task: Identify and Associate Services to Goals.
  Identify KPIs and Metrics for Sub-goals and Services

This task is documented in the RUP/SOMA Task: Identify Business Goals and KPIs, and supported by the following guidance: Artifact: Business Goal, Guideline: Business Goal, Checklist: Business Goal.

Existing Asset Analysis Existing Asset Analysis This task is documented in the RUP/SOMA Task: Existing Asset Analysis.

This results in a Phase structure for Identification which looks like this:

Also the RUP method content includes the following elements that had no corresponding technique in SOMA.

Phase: Specification

Service Specification has been developed in a similar fashion to Identification, and described in the table below.

SOMA Activity SOMA Task RUP/SOMA Content
Service Specification Apply Service Litmus Tests This task is documented in the RUP/SOMA Task: Apply Services Litmus Tests
  Model Service Dependencies

This task is documented in the RUP/SOMA Task: Service Specification (step Model Service Dependencies), and supported by the following guidance: Report: Service Dependencies.

  Model Service Composition and Flow

This task is documented in the RUP/SOMA Task: Service Specification (step Model Service Composition and Flows), and supported by the following guidance: Concept: Service Composition and Choreography, Guideline: Service Realization - BPEL services in a SOA application.

  Document Service Non-Functional Requirements This task is documented in the RUP/SOMA Task: Service Specification (step Document Service Non-Functional Requirements)
  Specify Service Messages

This task is documented in the RUP/SOMA Task: Service Specification as well as the Task: Message Design, Guideline: Message Attachments.

  Document State Management Decisions

This task is documented in the RUP/SOMA Task: Service Specification (step Document State-Management Decisions), and supported by the following guidance: Guideline: State Management for Services.

Subsystem Analysis Identify Subsystem Dependencies This task is documented in the RUP/SOMA Task: Subsystem Design (SOA) (step Identify Subsystem Dependencies).
Identify Service Component

This task is documented in the RUP/SOMA Task: Subsystem Design (SOA) (step Identify Service Component), and supported by the following guidance: Guideline: Service Component Patterns.

Identify Functional Components

This task is documented in the RUP/SOMA Task: Component Specification (SOA) (step Identify Functional Components), and supported by the following guidance: Guideline: Service Component Patterns.

Identify Technical Components

This task is documented in the RUP/SOMA Task: Component Specification (SOA) (step Identify Technical Components), and supported by the following guidance: Guideline: Service Component Patterns.

Component Specification Specify Component Attributes

This task is documented in the RUP/SOMA Task: Component Specification (SOA) (step Model Component Attributes).

  Identify Events and Messages

This task is documented in the RUP/SOMA Task: Component Specification (SOA) (step Model Component Events and Messages).

  Model Component Internal Flow

This task is documented in the RUP/SOMA Task: Component Specification (SOA) (step Model Component Internal Flow).

  Create Component Class Diagram

This task is documented in the RUP/SOMA Task: Component Specification (SOA) (step Model Component Internal Structure).

  Variation-Oriented Design This task is documented in the RUP/SOMA Guideline: Variability Analysis.

This results in a Phase structure for Specification which looks like this:

 

Also the RUP method content includes the following elements that had no corresponding technique in SOMA.

Phase: Realization

Service Realization has been developed in a similar fashion to the two activities above, and described in the table below.

SOMA Activity SOMA Task RUP/SOMA Content
Realization Decisions  

This task is documented in the RUP/SOMA Task: Document Service Realization Decisions.

  Service Allocation This task is documented in the RUP/SOMA Task: Component Specification (SOA) (step Allocate Component to Layers).
  Component Allocation to Layers This task is documented in the RUP/SOMA Task: Component Specification (SOA) (step Allocate Component to Layers).
  Technical Feasibility Exploration This task is documented in the RUP/SOMA Task: Construct Architectural Proof-of-Concept (SOA).

This results in a Phase structure for realization which looks like this:

 

The Service Model

In SOMA the Service Model is described using the picture below; it is a single, document based, work product that encompasses the different technical and lifecycle views of the services identified and specified during a project. The different sections of the service model are listed in more detail in the Artifact: Service Model in RUP/SOMA.

 Illustration of SOMA Service Model

The RUP Artifact: Service Model is described in both a document form and a UML form (Template: Service Model in Word and Template: Service Model in UML) though it is more likely that a project will use elements of both of these forms in presenting the results of their work.