Abstract:
Owing to the edge that IT provides to one‟s business over potential competition, it is important that IT infrastructure effectively leverage the business processes of an enterprise. Service Oriented Architecture (SOA) is a paradigm that can be used to build such enterprise architectures enabling those with needs (consumers) and those with capabilities (providers) to interact via services across disparate platforms, technologies, and ownership. Services are the cornerstone in service-based architectures where they act between the consumers and the providers.
Enterprise Service Bus (ESB) is the ultimate weapon that makes enterprise application integration a reality. It plays the role of an intermediary that orchestrates the service requests for various applications for optimal service delivery. The intention of utilizing an ESB is to enable smooth operation among the diverse Enterprise Applications, but there is a common complaint of degraded performance when fulfilling the requests, unlike in the standalone silos-like applications.
The promise of agility and scalability of SOA comes at a price; the price of performance hits when an intermediary is operating in between the enterprise applications, performing various processing tasks before the requests being redirected to the actual service end-point. Degradation of performance can occur as the system scales in terms of the number of services and the number of users. The objective of this research is to characterize the performance of Service Oriented Architectures in the presence of an ESB.
Studies have focused on the performance behavior of SOA under increasing concurrent user requests, and using different SOAP payloads with different complexities. A benchmark Web Service has been developed which represent different use case scenarios. These benchmarking Web Services were tested against the different capabilities of the ESB. Those capabilities include direct proxy, content-based routing and caching enabled in the ESB. Another existing Web Service benchmark was then used to represent a case where the processing overhead is negligible in the web server side.
Test results have revealed that before designing an SOA for an enterprise, it is wise to have a thorough understanding of the factors that affect the performance of SOA, and their behavior under varying conditions. This research shows that various factors, like the number of concurrent user requests, the primitive data types used in the payload, cache expiry time configured in the ESB and the number of database fetches, all determine the SOA performance when used with an ESB.
Citation:
Lokumarambage, M.U. (2014). Speeding up data access in SOA [Master's theses, University of Moratuwa]. Institutional Repository University of Moratuwa. http://dl.lib.mrt.ac.lk/handle/123/16031