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

Compare with Current View Page History

« Previous Version 2 Next »

Introduction

This is an introduction to ServiceMix, which is an implementation of an Enterprise Service Bus (ESB) and is based on the JBI specification, JSR 208.

The following sections will discuss the problems that an enterprise service bus addresses, what an ESB does, and explain where ServiceMix fits in.

The Problem

What problem does an ESB address? Companies have many different applications and business processes that need to integrate with each other (Enterprise Application Integration-EAI). The applications have non-compatible data formats and communications protocols. This problem extends outside of a company to encompass its business partners' IT systems and processes as well (business-to-business - B2B).

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.

Existing Solutions

In the past, companies have solved the EAI and B2B intergration problem with non-standard technologies. 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 the "point-to-point" model and lack of flexibility due to being non-standard.

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. In the past, if application A wanted to talk to applications B, C, and D, three interfaces were required. In addition, the ESB provides pluggable services
which enhance communication xxxx. 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 relibility, security, etc. In a later sections we will define and discuss security, orchestration, transactionality, etc.

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