The Medium Is The MessageEnterprise messaging offers useful alternatives for integrating enterprise applications
By Greg Barish Asynchrony Through MessagingEnterprise messaging solutions have emerged as the most popular form of asynchronous communication between heterogeneous applications. By heterogeneous, I mean applications that may be run by various enterprises, may be on different operating systems, or perhaps under different middleware systems. Messaging, then, acts as a distinct piece of middleware (also called MOM - message-oriented middleware) that connects these applications. Messaging is most attractive in contexts where heterogeneous applications need to periodically and automatically shovel data between each other, or when the nature of their integration is event-driven. For example, in a recent research note, the Gartner Group has observed that B2B (and B2C) applications are getting more "streamlined" and that fine-grained workflow processing is becoming a common requirement. Workflow is a typical event-driven problem: When an event occurs, an approval or a notification is required. The natural form of communication here is to publish events to which various listeners subscribe. Understandably, messaging has been positioned as a solution for managing streamlined workflow. System ArchitectureIn its most basic form, a messaging system consists of information producers, consumers, and messaging queues that act as intermediaries between producers and consumers. Information producers push data into a messaging queue. The messaging system, in turn, assures the data is eventually delivered to the clients. Thus, the queue acts as a "virtual transfer station" where produced information waits to be consumed. The queue part can actually be more complex than simply a means to connect a single producer and a single consumer. For example, multiple consumers can consume ("subscribe") to produced messages. Furthermore, the queue acts as a logical point where data can be reformatted or transformed into a format that the consumer understands. Asynchronous communication in the messaging industry is referred to as a "loosely coupled" approach toward application integration. Unlike the tight coupling that occurs when distributed objects from disparate systems bind to each other and exchange data, loose coupling is the notion that connectivity between publisher and subscriber uses an intermediary - a third party - to broker communication between the two. However, this loose coupling also exposes an oft-noted weakness of messaging: a lack of security. Despite assurances from messaging providers that secure solutions exist, messaging systems nevertheless represent a third party - a liability - in what may be secure, confidential communication between two systems. And if nothing else, that third party represents a risk because the data is momentarily out of control of both the data provider and the consumer. While it is possible to encrypt the data being sent, this complicates (and may even invalidate) automatic message transformation or formatting normally provided by the messaging system. Implications of MessagingThe surge in messaging technologies has led to a number of related solutions. For example, message queuing and message brokering systems can provide a layer of robustness and scalability that guarantees that a message will get through, even if it is temporarily queued. Thus, a queue acts as a buffer between applications that are not always available. Another interesting side effect of the message broker phenomenon is that it has eliminated the need to integrate applications on a point-to-point basis. Under synchronous-based solutions, applications are integrated by connecting APIs together. But doing this for every integration scenario implies a lot of integration fibers between the two applications and makes the evolution of those applications tricky, if not impossible. This intricate process is like connecting every peripheral card not only directly to each other, but also to the memory and the CPU! The message broker has thus emerged as an "information bus," a one-stop shop for distributing data between disparate applications. Yet a third interesting advantage of messaging is that its intermediary role makes it a natural point where data can be translated from producer to consumer. For years companies have used electronic data interchange (EDI) approaches to integrate data where reformatting is necessary. While EDI has retained its popularity as the Internet has evolved, it lacks good support for security (less powerful than Secure Sockets Layer-based Internet transactions), it is costly to maintain for both client and server, and its cryptic formats make debugging difficult. Messaging systems, on the other hand, provide automation that reformats data as it passes from source to destination. For example, source data that needs to be padded with blanks so that character strings are a fixed length have this need for reformatting. On messaging systems, formatting options abound - for example, products such as IBM MQSeries enable integrators to construct flexible formatting rules.
|
Most Popular This Week
IE Weekly Newsletter
Subscribe to the newsletter
|
| ||||||||||||||||||||||||||||||||









