You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 21 Next »

Introduction

The purpose of this document is to briefly introduce the Enterprise Service Bus (ESB). Then we will discuss ServiceMix as an ESB implementation based on the JBI standard JSR 208.

The Problem

Enterprise networks commmonly deploy many applications on many platforms with many different business processes that need to integrate with each other. The applications, platforms and processes have non-compatible data formats and non-compatible communications protocols. If an enterprise needs to interface with external systems, the integration problem extends outside of a company to encompass its business partners' IT systems and processes as well.

In the past several years there have been several technologies attempting to solve to these problems such as Enterprise Applicaton Integration (EAI), Business-to-Business (B2B), Service Oriented Architecture (SOA), and Web Services. These solutions addressed some of the integration issues, but were proprietary, expensive, and time-consuming to implement. These solutions range from expensive solutions from vendors (cost, lock-in) to home-grown custom solutions (maintenance, cost). The overwhelming disadvantages of these solutions are cost and lack of flexibility due to being non-standard.

The ESB solves the integration problem without the flaws of the other solutions. The purpose of an ESB is to facilitate application and process integration by providing distributed processing, intelligent routing, security, and dynamic data transformation. In an ESB these services are provided so each application does not have to address these issues independently and in a proprietary manner; these are standard infrastructure services in an ESB.

The ESB Approach

The enterprise service bus addresses the disadvantages of existing solutions by creating a standard infrastructure for integration. Point-to-point solutions, where each of n components requires n-1 interfaces for full communication, are replaced by a bus solution where each component requires a single interface to the bus for global communication. An ESB is an open standards based, distributed, and message-based. It provides routing, business process orchestration, reliability and security. The ESB provides pluggable services. Because of the standard nature of the bus these pluggable services can be provided by third parties and still interoperate reliably with the bus.

Attributes of an ESB integration infrastructure are:

  1. distributed - to remove geographical constraints
  2. message-based - to promote loose coupling
  3. based on open standards - to preserve investment and encourage partipicipation
  4. reliable - to meet the requirements of mission-critical business operations

As an integration infrastructure, the ESB does a number of things.

  1. The ESB transports information
  2. The ESB routes the information appropriately
  3. The ESB transforms the information as required
  4. The ESB provides visibility into the message, allowing content-based routing.

An ESB also supports requirements such as security, orchestration, transactionality, etc. These exist in "hard-wired" integration methods, but are not automatically available in a service-oriented architecture. One of the key requirements for the ESB is to give loosely coupled service-based integration methods a level of enterprise-class reliability, and security.

Why ServiceMix

ServiceMix is an ESB that is based on the Java Business Integration (JBI) standard. The JBI-based design specifies a standards-based pluggable architecture with a JVM-based runtime component called the Normalized Message Router (NMR).

  • No labels