Object Request Brokers (ORBs) have dominated the distributed object computing space for years, and object- and message-oriented middleware solutions have laid the foundation for the next generation of managing distributed objects in the enterprise. Some vendor CORBA ORBs have consolidated; others have faded away. Those commercial entities left standing are, for the most part, the companies that were the first to successfully market and deliver sophisticated middleware solutions. Additionally, several open source initiatives have attempted to emulate, with varying degrees of success, the capabilities and features of their commercial counterparts. Consequently, the cost of such technologies varies from free to hundreds of thousands of dollars, depending on the configuration, services and contracted support model.
The Wide World of Middleware
The term middleware encompasses a broad range of technologies. The two families I'll review, object- and message-oriented middleware, comprise the bulk of what most enterprise architects view as classic middleware components. Object-oriented middleware (OOM) enables object construction and manipulation at the distributed network level. The most popular, classic examples of OOM include CORBA (Common Object Request Broker Architecture), Microsoft's Distributed Common Object Model (DCOM) and Java's Remote Method Invocation (RMI).
Message-oriented middleware (MOM) helps construct, transmit and, if necessary, queue application or system messages based on actions and events that occur at specified times throughout an application's execution. Examples of MOM include IBM's WebSphere MQ (formerly known as MQSeries), Microsoft's MSMQ and Sonic Software's Java Messaging Service (JMS) 1.1-compliant SonicMQ. Specifying vendor-neutral MOM standards is more challenging than OOM standards due to the low-level nature of messaging and the necessary caching, routing and queuing mechanisms inherent in robust message transmission, reception and acknowledgment. And with the advent of a standardized JMS, several messaging vendors have baselined their products to correspond with JMS. Language- and platform-neutral service-oriented architectures (SOA) are a new approach to messaging that has started to gain momentum in the distributed object- and message-oriented enterprise. But these developments fall outside the scope of this article; for a selection of articles examining these exciting, albeit nascent (compared to a decade-plus of proven OOM and MOM deployments) technologies, see www.sdmagazine.com/soa/.
Presenting the Players
Among the OOM and MOM solutions available in the market today, a number of well-established companies are firmly in the foreground. Companies such as Borland (owners of the Visigenic product line) and Iona have been active commercial partners in the CORBA/IIOP standards efforts since the technology's inception. BEA, IBM, Sonic Software and TIBCO have also dedicated substantial portions of their business to the development of distributed messaging systems. Other companies, such as Arjuna and my-Channels, have attempted to build a better mousetrap, focusing on specific vertical industries in which distributed computing technologies are prevalent. Naturally, Microsoft has developed its own OOM and MOM solutions in the form of COM, DCOM, .NET Remoting and MSMQ.
However, as time marches on and fresh ideas trump old ways of thinking, the new directions underway in the distributed computing world will achieve an adequate level of trust and reliability to qualify for replacement of legacy infrastructure. This is especially true as the number of classic middleware providers continues to dwindle due to vendor consolidation and obsolescence. What this means in simple terms is that the rate of dramatic new enhancements to these distributed products will be slow compared to the accelerating momentum behind all things related to SOA. Many of these same companies have also constructed or are in the process of defining their future distributed object and messaging strategies—most headed toward SOA nirvana.
Traveling the SOA Trajectory
There's an interesting correlation between the evolution of computer language constructs and the development of distributed architectures and messaging middleware. Procedural languages like C begat object-oriented languages like C++, which begat aspect-oriented languages like AspectJ. Similarly, system-specific remote procedure calls (RPCs) evolved into the industry-standard CORBA, to what is now touted as the next level of middleware and enterprise application messaging: Web services and service-oriented architectures. One of the first market-movers in the SOA space is Sonic Software. A company that was built on a JMS-oriented messaging tool, Sonic has popularized the concept of an Enterprise Service Bus (ESB) as the next-generation messaging platform, with the other traditional players in the OOM and MOM space taking notice and evolving their product lines into designs similar to ESB. Even Iona, which has been in the CORBA space for more than a decade, has noted the changing climate and released the Artix line, which facilitates the migration of classic middleware technologies to the next level of abstraction. Then again, it's not that surprising that most innovations in the SOA space are coming from companies that have proven records in traditional middleware—based on their understanding of the distributed object and messaging foundation upon which these new developments are based.
Roundup Criteria
The Tool Matrix accompanying this guide is by no means an exhaustive summary of every object-oriented and message-oriented middleware solution available today. Rather, it's a cross-section of diverse offerings, addressing diverse problems for a diverse customer base. Given this, here are my selection criteria:
- Distinct Features. Given the number of choices available to enterprise architects, this attribute was a key filter to screen out the noise generated by the claims of the still plentiful number of tools in the OOM/MOM space. The advent of open source software has added even more alternatives to the mix, boosting the challenge for customers to identify and commit to a single technical provider.
- Market Buzz. This is a somewhat subjective evaluation of the amount of newsgroup attention and trade press a company has received, or, in the case of an open source product, the developer community growth a technology has sustained.
- Cost. No tool guide would be complete without a column listing the price of the product being presented. Note, however, that the cost is somewhat arbitrary, especially for those free, open source alternatives, since it strictly suggests the license costs associated with the product, not the overall implementation and ongoing maintenance expenses. While certain open source approaches may look initially attractive to companies seeking to reduce software licensing expenditures, these savings may in fact be short-lived and potentially negate any initial cost-avoidance advantages due to their often-limited enterprise features and unpredictable support models.
Mike Riley is a Naperville, Ill.-based advanced computing professional specializing in emerging technologies and new development trends. Contact him at [email protected].