IT SYSTEMS HAVE TWO ASPECTS THAT REPEATEDLY BREAK PLANS, CONCEPTS, AND DESIGNS: PERFORMANCE and security. In this chapter, I will discuss some real-world examples of how performance issues can impact the concept and realization of SOA. Most of the examples are taken from an international phone company with hundreds of services running in its day-to-day business. For example, whenever a customer calls in for support, several services are called even before the conversation with a call center agent begins. In this environment, performance (especially runtime performance) matters.
There are different places where performance comes into play in the context of services and SOA infrastructures. If performance becomes critical, it is usually because of the running time of a service. Let's explore this by following one successful synchronous service call that includes one requesting message from the consumer to the provider and one response message from the provider back to the consumer (see Figure 13-1).
Figure 13-1. Sequence diagram of a service call
As this diagram shows, first you have to serialize the service call into the protocol format of the enterprise service bus. Then you send the request over the ESB to the provider. The provider in turn has to deserialize the request so that it can process it. For the response, the steps ...