Service Oriented Architecture Corner

Thursday, March 24, 2005

2 - Implementing SOA requires a work in two major fronts

After you have done your pre-work (i.e. made a business case and decided to invest in SOA), where do you start and how do you organize your work to move forward? That is where most of the time is spent with current SOA pursuers. So, how can you get started? Any SOA initiative need to first understand and prepare to work simultaneously in two major fronts. These are:

  • Exposing business functions as services (building your assets)
  • Implementing SOA infrastructure

From the surface, this seems simple and may be overlooked leading to unexpected cost and disappointments. Such a mistake arises when you fail to understand the requirements for both of these tasks; and rather think implementing SOA is simply wrapping functions with Web Services interfaces. A successful SOA implementation realizes these two major fronts and progress about implementing them incrementally to meet current and evolving business needs.

Properly implemented SOA allows business to respond quickly and efficiently to changes in business requirements, i.e. business agility. This gives the business the ability to leverage change for competitive advantage. Achieving this requires some discipline and changes in current IT approach to business application development. Currently, business and IT groups within one organization communicate in a vague way and disconnected when it comes to understanding business dynamics. Business requirements do not flow smoothly and unaltered from business to technology implementations. As a consequence changing the current systems (applications) to support changes in business needs (or to accommodate new requirements) is too costly, if not impossible.

SOA approach requires three inter-related elements to work together. These are: business requirement, service and technology. Understanding the relationship between these three elements is crucial for achieving business agility. That is, business requirements must drive the services and the services drive technology. Services address the needs of the business and technology provides a means for implementing and deploying those services.

This SOA approach is in agreement with the TOGAF framework . The three elements introduced above maps to the first three architectures in TOGAF framework; namely, business architecture, Information architecture and technology architecture. Business architecture deals with business requirements and business processes. Information architecture addresses the design of services and data; while Technology architecture addresses the infrastructure for services development and deployment. If you are familiar with TOGAF framework, Information architecture consists of Data and Application architectures. There is no disagreement if you understand that, in SOA approach, applications are group of services and data is what hose service manipulate.

Going back to the two major fronts for SOA implementation introduced above, the following can be summarized:

  • Exposing business functions as services involves work in Business and Information architectures
  • Infrastructure implementation involves work in Technology Architecture

… My next posting will discuss what is involved in exposing business as services ...