Service Oriented Architecture Corner

Monday, March 28, 2005

3 - Exposing Business Functions as Services

As I mentioned earlier, using TOGAF framework’s term, exposing business as services requires getting two architectures right – Business Architecture and Information Architecture. If these two architectures are not properly followed, regardless of what technology you invest in the infrastructure, you may not realize the benefits of SOA and the cost will keep adding up as you try to re-implement services. Here is a clue – if you fall into a trap of excessive service interface re-factoring, it can be an indication that the business analysis and service design part of these two architectures are not properly done.

Though often not formally stated, every organization has some sort of business architecture already in place. Business architecture includes the following:
  • Organization structure
  • Business goals and objectives
  • Business processes and roles
  • Correlation of organization and functions
  • Business functions and processes it provides to its customers.

It is not my objective to discuss the full approach to Business Architecture. I will focus only on the business functions and processes from service perspective.

Once the business architecture is flushed out, the next step is to focus on Information Architecture. Here is where service and data design is done in support of what is identified in business architecture.

Now you have got the big picture, let us get to the details of how to expose the business functions and processes as services (i.e. within SOA principles). The following are the steps required for proper service architecture:

  1. Identify the business functions and processes you want to expose as service along with their corresponding business rules. This involves capturing business requirements and business process modeling.
  2. Designing services and data schemas. This is where you transform business functions and processes to services.
  3. Orchestrating services to implement business processes. This is where you automate business processes by reusing other business services.

I will discuss these steps in my next postings.