Solutions Corner

Best Practices for SOA

SOA best practices are necessary for IT organizations to maintain the high standards in SOA reliability, cost-effective operations, and customer service necessary to address competitive pressures and internal and external users' needs.

As a result, many IT groups responsible for an SOA are turning to IT best practices, such as those specified by the Information Technology Infrastructure Library (ITIL). These include, for example, the need for operations and applications groups to provide service-level management and meet specific service level targets—from response time targets for interactive systems to the time it takes to diagnose and resolve problems.

SOA Best Practices: The Obstacles

However, the loosely coupled, distributed, heterogeneous nature of an SOA environment presents obstacles to the SOA monitoring and fast problem detection required to achieve best practices in SOA operations. Traditional IT systems management tools focus on performance and availability at the hardware and operating system level. As a result, they lack the capability to monitor and manage SOA systems and operations. In particular, they cannot deal with:

  • Shared services whose performance requirements may differ in the context in which they are used. For example, the average response time required for a service may be longer when it is accessed by an external Web service than it is when it is accessed by an internal requester that calls the service twice as often. Traditional tools, which can only gauge the average response time, would not reveal the performance problem for the internal consumer if the service responded in the longer time frame that was acceptable for the external consumer.
  • Root cause analysis of a missed service level or failed transaction. Traditional tools can monitor traditional application stovepipes or silos, but not the complex transaction flows of an SOA business process in which the component services execute on distributed, heterogeneous systems.

Achieving Best Practices in SOA Operations

To overcome these obstacles and achieve SOA best practices requires special SOA operations management capabilities not available in traditional system management tools. These include:

  • The ability to define and monitor a policy with a required response time for an SOA service on a per-consumer or as-used basis. When services are shared and have different requirements depending on the business process and/or users of that service, an average response time can mask performance problems for some consumers.
  • The ability to track the flow of each step in an individual transaction. This is essential because an SOA transaction incorporates multiple services running on heterogeneous systems using various protocols. Each service—and the process flow between them—must be able to be traced in to order to find the root cause of a missed service level or failed transaction. This quick diagnosis, in turn, is essential for resolving the problem quickly.
  • The ability to integrate with standard systems management tools in the environment, so support staff using these tools can be notified of problems.

As a result, to fulfill best practices in service-level monitoring and managing SOA problems, an SOA operations management system must be able to perform the following functions in the SOA environment:

  • Discover each step of the transaction path.
  • Monitor the end-to-end flow of a business process across all its component services.
  • Evaluate SOA performance policy on a per-consumer or as-used basis.
  • Alert key personnel when policy violations occur.
  • Resolve problems quickly by enabling IT personnel to easily diagnose the root cause of problems.