In his next two columns, our EAI expert David Linthicum provides an easy-to-understand guide for selecting a message broker.
If there is one single type of middleware that best addresses the EAI (Enterprise Application Integration) problem, I would have to say that it is message brokers. Message brokers are really just another layer on top of traditional messaging systems, such as JMS or MQSeries, allowing EAI architects or developers to programmatically reformat and route information, moving from one system to another. This type of technology minimizes the impact on both the source and target systems, thus reducing the cost of EAI and maximizing flexibility. Message brokers place a processing layer between the disparate applications and platforms, accounting for the differences in application semantics, design patterns, data formats, and operating systems within the message broker (see figure 1).

Figure 1: "Message brokers place a processing layer between the disparate applications and platforms, accounting for the differences in application semantics, design patterns, data formats, and native features of the platforms."
Selecting the right message broker for the job is a daunting task for middleware vendors, new and old, who are moving into the world of message brokers. Message broker vendors are over-hyping the features and functions of their products, and buyers have few data points to compare and contrast available products, because the technology is so new. What is more, other middleware products, such as application servers and distributed objects, are laying claim to the EAI space and are promoting their products as being mutually exclusive to message brokers. The fact is that each solves very different problems, and each has its place within EAI.
To understand what to look for in a message broker, you have to comprehend the components and features that this new technology has to offer. By doing this you’re able to establish your own set of criteria for your specific problem. Things to look at include messaging, adapters, user interface, platform support, transformation, routing, rules processing, scalability, security and management.
Messaging
Since message brokers use messaging systems to move information between systems, the message transport layer that the message broker supports or provides is of great interest. Most message brokers support some sort of asynchronous transport layer, either proprietary or open. For instance, many message brokers can leverage IBM’s MQSeries message queuing software, or more open systems such as the Java Messaging Service (JMS) from JavaSoft, or the Object Messaging System (OMS) from the Object Management Group. Some message brokers offer the ability to select any number of messaging systems, even to mix and match messaging systems to meet the requirements of the problem domain.
-1-