Task: Identify Candidate Services from Business Functional Models
This task is performed to identify candidate services by mapping the business functions, business service interfaces, and/or business subsystems identified during functional area analysis into candidate services.
Disciplines: Service
Purpose

To identify candidate services based upon business services that were identified during a functional area analysis.

Relationships
Main Description

Candidate services can be mapped to the business services which are identified during functional area analysis at two levels:

  • Individual business functions can be mapped to individual candidate services
  • Business service interfaces (collections of cohesive business functions) can be mapped to individual candidate services

The business service interfaces coming out of the functional area analysis will be manifested either as interfaces on the functional areas or interfaces on business systems that are allocated to functional areas.

In this task, the work product slot of [Business Design] is filled by the Functional Area Model.

Tool Mentor: Build a SoaML Service Model Using the SoaML Template is the entry point into a family of tool mentors that collectively describe how to build a SoaML-based service model using IBM® Rational® Software Architect.  This tool mentor provides an overview description of a process for using the tool to create the model.  It includes callouts to several other tool mentors that accelerate Service Identification efforts.

Steps
Perform functional area analysis (optional)

This step is optional if a Functional Area Model [Business Design] already is available as input to service identification.

See Guideline: Performing Functional Area Analysis for core guidance on creating a functional area model.  Use Checklist: Functional Area Analysis to improve the correctness and completeness of your work.  Example: Functional Area Analysis walks through the thought process of identifying a business' functional areas.

Identify candidate services from business functions

Map the business functions in the functional area model into candidate services.  This mapping can be performed at two levels:

  • Individual business functions can be mapped to individual candidate services
  • Business service interfaces (collections of cohesive business functions) can be mapped to individual candidate services

The business service interfaces coming out of the functional area analysis will be manifested either as interfaces on the functional areas or as interfaces on business systems that are allocated to functional areas.

Generally, the recommended practice is to map a business service interface to a single candidate service.  This assumes that the functions allocated to the business service interface are cohesive. 

Figure 1 shows a portion of a functional area model, expressed in UML notation.  The business service interface, which in this case offers a single operation, would be mapped to a candidate service.

Figure 1. Part of a functional area model

                                      

Update candidate service portfolio and service hierarchy
Add the new candidate service to the candidate service portfolio.   Position them within the candidate service hierarchy.  Example: Candidate Services Portfolio provides some samples and discussion regarding the candidate service hierarchy.
Key Considerations

Identifying candidate services from business functional models is one of several schemes which complement each other during candidate services identification.  Omitting any of the methods increases the risk that some candidate services will not be discovered.

This particular technique provides a valuable coverage check on the results obtained from identifying candidate services using business process analysis.  The business functions in the functional area model are expected to be essentially identical to the process tasks that are allocated to functional areas during business process decomposition.  So, the two techniques are expected to yield similar sets of large-grained service operations.  If this is not the case, this indicates that either the business functional model or the process model is incomplete.

More Information