Message Queue Server Moves Outside Windows

Message queuing enables distributed applications to reliably exchange data across hardware and software platforms. The queuing capability stores messages until it is appropriate for the receiving application to recognize it, without maintaining a constant link to the sending application.

Microsoft Corp.’s entrant into the message queuing market, Message Queue Server 1.0 (MSMQ), has been limited by its inability to exchange data with applications other than Windows. The lack of interoperability is a shortcoming that Redmond needs to overcome if MSMQ is to compete with IBM Corp.’s MQSeries, now in its fifth incarnation.

This past October Microsoft got a boost in overcoming this problem. The company partnered with Level8 Systems Inc. (www.level8.com) to bring non-Windows client integration to MSMQ via Level8’s FalconMQ, which draws its name from the code name of MSMQ: Falcon.

"We understand that out customers use existing apps from other companies," says Amy Luehmann, Microsoft product manager for MSMQ. "FalconMQ allows them to use both functionalities. We are gunning for a completely interoperable MSMQ."

Another shortcoming is MSMQ’s dependency on SQL Server, an aspect Microsoft is working to change. The need for SQL Server limits the functionality of the product just as the lack of interoperability with non-Windows client applications did.

MSMQ 2.0 will incorporate these upgrades and ship with Windows 2000. As with nearly every product in this forecast, the pending version will be tied to Active Directory, the Microsoft Management Console (MMC) and COM+.

Workgroup support also will be added to MSMQ 2.0. The new version will be able to stand alone in branch offices and departmental workgroups within larger enterprises. Although it will be integrated with Active Directory, it won’t rely on it.

MSMQ 1.0 has firewall issues that Luehmann says the company is working to correct. Not all firewalls grant permission for all ports under the TCP/IP protocol, but the HTTP support that will be built into MSMQ 3.0 -- for which Luehmann wouldn’t commit to a time frame -- will help alleviate the problem. HTTP support enables greater interoperability via the Internet.

Additionally, the third version will include more efficient multitasking, the ability to send a single message broadcast to many recipients and support for publish and subscribe. The publish and subscribe service cycles through a database of client subscriptions every time a publisher fires an event and notifies all the subscribers. This COM+ events system reduces the coding required for subscribers and event publishers.

The same way MSMQ queues messages, COM+ will queue components. A client would invoke methods on a COM component using an asynchronous model. On an unreliable network or when the user disconnects, COM+ puts the component in a queue and it gets back to work when the connection is restored.

"As intercomputer communications become more and more of a standard requirement for many applications, message queuing will become a standard for those applications," Microsoft’s Luehmann says. "We want to improve our integration. We want to be completely interoperable."