Service-oriented analysis and design

From Wikipedia, the free encyclopedia

As service-oriented architecture (SOA) and the service-oriented computing platform mature more formal approaches and methodologies to building service-oriented solution logic have emerged. These build upon earlier analysis and design processes (including object-oriented analysis and design and business process modeling) and share in the common goal of promoting an effective means of achieving a separation of concerns.

A number of common terms have surfaced in association with structured service and SOA delivery processes:

  • service-oriented analysis
  • service-oriented design
  • service-oriented analysis and design (SOAD)
  • service-modeling
  • service-oriented modeling
  • service-oriented modeling and architecture (SOMA)
  • business-driven development (BDD)


Contents

[edit] Service-oriented analysis

This process generally refers to a pre-design effort centered around the definition of conceptual services or a conceptual service-oriented architecture. Much like object-oriented analysis, the goal is often to achieve an ideal representation. IBM provides a variation of service-oriented analysis as part of its SOAD framework. The first vendor-agnostic service-oriented analysis process to be published was documented in Thomas Erl’s "Service-Oriented Architecture: Concepts, Technology, and Design" in which the conceptual services were termed "service candidates". IBM published documentation of its service-oriented analysis as part of "Service-Oriented Architecture Compass".

[edit] Service-oriented design

Generally following the completion of a service-oriented analysis, a service-oriented design process will continue by using the results of the service-oriented analysis as a starting point. This process usually subjects the conceptual services to real world factors and conditions, ultimately resulting in concrete service designs. Thomas Erl was also responsible for publishing the first vendor-agnostic service-oriented design process in his book, "Service-Oriented Architecture: Concepts, Technology, and Design". As part of Erl’s process, service candidates produced by the service-oriented analysis process are used as input for service-oriented design. Coverage of service-oriented design was published in IBM’s "Service-Oriented Architecture Compass".

[edit] Service-oriented analysis and design (SOAD)

Created by IBM (and also referred to as "service-oriented modeling"), this is an approach to software modeling and development specially designed for service-oriented architecture (SOA). SOAD adds innovations for service repositories, service orchestration, and the enterprise service bus. It also helps design, build, aggregate, and deploy applications as Web services based on SOAP, WSDL and UDDI technologies. The term SOAD first was used in the article "Elements of Service-Oriented Analysis and Design". SOAD is further covered in "Service-Oriented Architecture Compass" (by Bieberstein, Bose, Flammante, Jones, and Shah).

[edit] Service modeling

Service modeling refers to a sub-process of the service-oriented analysis process documented in Thomas Erl’s book "Service-Oriented Architecture: Concepts, Technology, and Design". The service modeling process is responsible for the definition and refinement of service candidates based on various considerations, including a specific subset of the service-orientation principles.

[edit] Service-oriented modeling and architecture (SOMA)

IBM’s SOMA refers to the more general domain of service modeling necessary to design and create SOA. SOMA covers a broader scope and implements service-oriented analysis and design (SOAD) through the identification, specification and realization of services, components that realize those services (a.k.a. "service components"), and flows that can be used to compose services. Documentation regarding SOMA is available in "Service-Oriented Architecture Compass" (by Bieberstein, Bose, Flammante, Jones, and Shah) and is further covered in the article "Service-oriented Modeling and Architecture: How to Identify, Specify and Realize Services".

SOMA includes an analysis and design method that extends traditional object-oriented and component-based analysis and design methods to include concerns relevant to and supporting SOA. It consists of three major phases of identification, specific and realization of the three main elements of SOA, namely, services, components that realize those services (aka service components) and flows that can be used to compose services.

[edit] Business-Driven Development (BDD)

Business-driven development is a methodology for developing IT solutions that directly satisfy business requirements. This is achieved by adopting a model-driven approach that starts with the business strategy, requirements and goals and then transforms them into an IT solution. The transformation is typically achieved by applying model transformations. Due to the alignment of the business layer and the IT layer, it is possible to propagate changes of the business (semi-)automatically to the IT systems. This leads to increased flexibility and shorter turnaround times when changing the business and adapting the IT systems. BDD shares these objectives with SOA and SOAD, which makes it one of the candidate methodologies for SOA design. SOMA and BDD can be used in combination.

[edit] References

[edit] See also