Building an Enterprise Service Bus for Real-Time SOA: A Messaging Middleware Stack

Service-Oriented Architecture (SOA) has become the preferred methodology to build complex enterprise applications. Inside an enterprise, an Enterprise Service Bus (ESB) has emerged as a powerful and flexible solution to have services and applications interact with each other, independently of their location and connectivity requirements. ESBs are implemented with some form of middleware, and messaging middleware has been playing a major role in integrating applications and services in the J2EE space thanks to standards such as the Java Messaging Service (JMS). We observe that in an enterprise the need to use real-world current information and the shift of complexity toward higher layers of the SOA-based applications (e.g., the business process layer) favor the introduction of lightweight messaging middleware, benefiting real-time applications. This paper describes an architecture for a messaging middleware that aims at fulfilling the requirements of a real-time ESB, while maintaining compatibility with the applications already deployed.We present performance results of a first prototype that show low, regular latency and high throughput. We contend that this middleware is an essential building block for real-time SOA in the enterprise.