Task: Identify Candidate Services from Business Processes
This task is performed to identify candidate services, using a decomposed process model as input.
Purpose
The purpose of this task is to identify candidate services from business processes.
Relationships
RolesPrimary: Additional: Assisting:
InputsMandatory: Optional: External:
  • None
Outputs
Main Description

One of the objectives of IT-centric SOA is to effectively automate the business.  With this in mind, it is clear that business process models are a source of ideas for identifying IT services.

Service identification normally is performed using a process model that is decomposed to the level of business tasks that can be mapped to system use cases (see Concept: Business Process Decomposition).  Using this decomposed model, candidate services at many levels of granularity can be identified:

  • Services that coordinate the execution of full business processes
  • Services that coordinate the execution of sub-processes
  • Services that coordinate the execution of system use cases
  • Services that perform specific, limited functions, such as services that are responsible for a specific business calculation

Each of these service types has value.  Their discovered instances are viable candidate services.

In this task, the work product slot of [Business Design] is filled by Business Model, which includes business process descriptions.

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
Decompose business processes (optional)
A decomposed business process model [Business Design] is a necessary input to this technique.  If such a model does not exist, create it in general accordance with Guideline: Decomposing Business Processes
Identify relevant processes and sub-processes
All of the business processes in a corporate business process model might not be relevant to a current project.
Eliminate fine-grained tasks that interact with a use interface

Business process models should not show this level of detail, anyway.  Items at this level are within the realm of system use cases.  If you find process elements at this level of detail, this indicates that the business process decomposition has gone too far.

Eliminate highly-abstract processes
This is the opposite case from the previous task -- the process has not been decomposed.  If this process is relevant to the current project, the business analyst team needs to re-visit the process and decompose it.
Map tasks at each level of the decomposed process to candidate services
As was mentioned in the Main Description of this task, business process models yield appropriate services at many levels of the decomposed process.  Don't overlook higher-level services that map to the process itself, or to its major sub-processes.  Those will be the gateways into the overall web of choreographed services that will realize those major aspects of business functionality.
Update candidate service portfolio and service hierarchy
Add the new candidate services to the candidate service portfolio.  Position them within the candidate service hierarchy in alignment with your chosen taxonomic approach. 
Properties
Multiple Occurrences
Event Driven
Ongoing
Optional
Planned
Repeatable
Key Considerations

Identifying candidate services from business processes is one of several schemes that 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 functional models.  The process tasks that are allocated to functional areas during business process decomposition are expected to be essentially identical to the business functions that are allocated to the functional areas during functional area analysis.  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