Open-MQ is an open source middleware for message queueing like IBM WebSphere MQ (former MQ Series). It is written in C++/Qt supporting many platforms like Win32, Unix and Mac OS with native C/C++/Qt and JMS support.
Open-MQ (or its shortcut OMQ) is an open source solution for message queueing (MQ) released under the "General public license" GPL. The OMQ core libraries are completely written in C++ based on the famous Qt 4.x framework from Trolltech ASA. See "Technics" for more details.
Middleware is the layer of software which integrates different components in a distributed, heterogeneous environment by optimising connectivity among applications, servers and databases running on different platforms.
Since middleware is an essential element of a distributed computing environment, it has become a critical element for any e-Business solution.
There are many different forms of middleware that are categorised according to the way the services they provide or the role they play. There exists three main forms of middleware services: firstly middleware that manages communication between an application and a database or a file management system; secondly middleware that helps applications transfer data to other applications other than database or file management systems (i.e. RPC & MOM); and thirdly middleware that helps manage the distributed computing environment and the many requests made between applications for information and for processing tasks (i.e. application servers, ORB's, TPM's and OTM's).
The demands of e-Business are changing the focus of looking at middleware that provides these three services to looking at "application integration middleware" that typically involves a combination of technologies and products that together help provide a flexible middleware architecture.
Message orientated middleware (MOM)
Messaging is one of these requested e-Business components providing an easy to use application interface (API) for transporting any kind of business information in a heterogene network with different operating systems. Messaging works in an asynchronous way means the application which sends messages (message provider) are completely detached (platform, time, encoding) from the application which processes the messages (message consumer).