Five or six years ago, it seemed like there was finally a solution to the types of integration problems that had rapidly begun to plague companies—enterprise application integration or EAI products. By offering a centralized solution to connect to, transform, and exchange data and transactions across heterogeneous systems, organizations could string together integrated business processes that crossed business applications and business boundaries.
But how times have changed. It’s not that EAI products didn’t solve the problem—they did and will they will continue to. It’s just that the problem has continued to grow—if not specifically in complexity (although it has grown in complexity) at least in velocity and breadth. Not only are companies facing an increasing rate of change within their markets, but the trend towards outsourcing has increased pressure on corporate margins and required even greater integration capabilities. In addition, new regulatory requirements have driven the need for broader integration and higher levels of change and the ability to audit processes across multiple systems. In addition, the focus for many integration projects have moved away from complete, top-down enterprise-wide initiatives towards line-of-business driven projects focused on very specific initiatives.
As we explored my last column these growth of integration needs over the past few years has resulted in a rapidly accelerating move towards different types of integration solutions, and more specifically, enterprise service bus (ESB) approach.
While there are multiple definitions of what enterprise service buses are (or aren’t), perhaps the easiest way to think of them is as a way to enable standards-based integration in an service-oriented architecture (SOA) environment. Or, you can think of them as essentially a web services-capable middleware infrastructure that supports communication among application components and mediates application interactions.
At the high level, the core functionality of an enterprise service bus includes the ability to connect resources (via adapters or specific communication protocols), mediate communication among services (perhaps through routing, mapping or transformations), coordinate or orchestrate processes (specifying what service is invoked when) and managing (such as security of quality of services). The result, for many companies, is a more flexible approach to application integration.