What is it?
Message-oriented middleware (Mom) provides an interface between applications, allowing them to send data back and forth to each other asynchronously. Many software suppliers, including Oracle and BEA Systems have their own Mom, but the market leaders are IBM's Websphere MQ (formerly MQSeries), followed by Microsoft's MSMQ.
IBM describes Websphere MQ as its foundation product for business integration. MSMQ is tightly integrated with Microsoft's Active Directory.
Messaging products enable applications to exchange information across different platforms, sending and receiving data as messages. They take care of network interfaces, deal with different communications protocols and ensure "once and once only" delivery of data.
Where did it originate?
Websphere MQ/MQSeries, the longest established Mom, is 10 years old. Much of the system's development is done at IBM Hursley in the UK. MSMQ is available on versions of Windows from 95 onwards.
What is it for?
Mom uses simple, common application programming interfaces, more-or-less industry-standard programming models and supports a number of operating systems.
The "message" could be just a few bytes or as big as 100Mbytes in Websphere MQ. Microsoft said MSMQ messages can contain data in any format that is understood by sender and receiver.
Mom uses an asynchronous model that delivers data when the recipient is available to receive it. MQ stands for message queuing, although the suggestion of delay this involves is misleading: delivery can be in real time.
If the recipient system is busy or down, the message queue manager will store the data until it can be delivered. This also ensures that mobile devices which may only be intermittently connected will receive data. IBM also has a version of Websphere MQ for telemetry - receiving data from remote sensors and other devices.
The most common APIs include Java Message Service, which is provider-independent - it contains nothing specific to Websphere MQ or any other Mom.
What makes it special?
Mom gets over the massive development and maintenance overhead of developing separate links between every pair of applications that need to talk to one another.
How difficult is it to master?
Websphere MQ developers and administrators take a minimum of three courses, totalling seven days. You should have some knowledge of networking, systems and network management, transaction processing, application development and databases.
Where is it used?
In any installation involving a mix of platforms and applications from different suppliers.
What systems does it run on?
MSMQ runs on current versions of Windows and there are message queuing objects in .net.
Websphere MQ supports AIX, iSeries (OS/400), Linux on zSeries mainframes and Intel, z/OS, HP-UX, Sun Solaris, versions of Windows from NT onwards and a variety of other current and legacy operating systems as clients. Websphere MQ also integrates with Soap and .net.
Not many people know that...
The first academic paper on queuing theory was published in 1909 by AK Erlang, a Danish engineer who worked for the Copenhagen Telephone Exchange.
What is coming up?
The integration of message queuing systems with web services.
IBM offers online and distance learning courseware as well as classroom training. Microsoft and its training partners offer MSMQ training, or you can teach yourself from books - try MSMQ from Scratch by Neil Crane.
Rates of pay
IBM messaging middleware specialists can look for £30,000 and upwards. Developers with MSMQ start at about £25,000.