Structured and model-driven development

Before discussing the details of each phase of IBM Process and Service Model development, this topic explains a top-down project lifecycle, including the artifacts and skills required at each stage in this cycle. Regardless of the development approach that project teams take for individual projects, the top-down project lifecycle is useful for understanding how the BPS models can be used, and the benefits they provide.

Tip: Although this topic discusses a full end-to-end methodology, which includes all possible phases of a development project, many projects use a subset of the BPS modelset, and therefore use a subset of the project phases described in this topic. For projects using only the Service Design models, see: Service Design Quickstart
Figure 1. Guide to structured and model-driven development
Guide to structured and model-driven development

Process Models play a critical role in the definition of service-oriented architecture (SOA). The service candidates can only be identified through analysis of the processes that best support those services. Process analysis also provides essential information about the context of those services, capturing:

  • Requirements governing the applications that call services within the architecture
  • Human roles within the organization that interact with those applications

Further analysis of the reusable elements that appear within a business process allow the identification of candidate business services that support those processes. These candidate business service definitions isolate the proposed service definitions and allow the capturing of additional requirements such as the:

  • Type definitions that support the service inputs and outputs
  • Interactions between services
  • Delegation patterns that ultimately support the business of the organization

Project business requirements must include:

  • Fully customized process definitions for that project in the Analysis Process Model (APM)
  • Detailed candidate service analysis in the Business Object Model (BOM) for each representative candidate that appears within those APM processes

These analysis definitions in BOM must include type definitions that describe the informational requirements of those services to ensure that the service requirements of that project been completely captured.

The requirements captured within BOM can be used to construct a detailed design model of the actual services to support the project. These service definitions are defined within the Interface Design Model (IDM) and Web Service Design Model (WSDM). This is a component-based model that catalogs:

  • Services
  • Interaction between services in the form of collaborations
Figure 2. Model customization guide
Model customization guide

A high-level guide of model customization for the identification and design of a services-based architecture.

Note: stages in this guide are not necessarily sequential. Phases can occur in parallel such as:
  • Service design
  • Process design

IBM Process and Service Models do not provide an out-of-the-box solution, and are an abstraction from the specifics of an organization in a problem domain. The models provide the blueprints and standards upon which the specific process and underlying services can be constructed. Similarly, customized models that fully capture the requirements and resulting designs of the modeled organization do not provide a full runtime solution for the project. The goal of the models and enterprise modeling in general is to provide consistent and enterprise-wide patterns and artifacts. This approach to modeling:

  • Enables users to produce a reusable service-based infrastructure
  • Does not bypass the implementation stages of software development

The patterns described in IDM provide invaluable guidance to those seeking to expose, for example, the capabilities of existing Customer Information Control System (CICS) transactions as more reusable XML messages, but the task of writing the common business-oriented language (COBOL) code to translate from an ideal XML message into transaction invocations remains relevant.

Each organization and each individual project within the organization faces challenges relating to the target operating environment. These challenges range from the limitations of existing systems and infrastructure to the selected solution architecture. The challenges in deploying enterprise-wide web services differ from the challenges associated with the construction of an enterprise-wide Java Enterprise Edition (Java EE) architecture.

IBM Process and Service Models support the identification, analysis and design of requirement-based solutions, irrespective of the target environment. The technology-based challenges of enterprise integration vary with the selected infrastructure; the challenges of capturing and expressing business requirements and of deriving a service architecture from these requirements do not. The models support the requirement-based analysis and design of systems in a way that is not biased by a particular solution architecture. However, capabilities are provided to transform and deploy model artifacts into technology-specific domains, such as a business process execution language (BPEL) and Java EE environment.