One of the main tools for machine communication is Message Oriented Communication. It is a method by which individual messages can be sent across a specific communication channel in order to convey the information from one end to another.
What is Message Oriented Communication?
Message Oriented Communication is the communication between two applications or systems based on the exchange of individually addressed messages where each message is routed from one application to another based on the destination address carried in each message.
In a messaging scenario, an application posts information to a message queue. One or more receiving applications retrieve the data from the queue. The sending application and receiving applications can be running at the same time, or they can interact with the queue at different times.
The flexibility of messaging makes it ideal for loosely coupled systems that may be developed, deployed, and managed independently. Message queues also provide a reliable means of communication among part-time trading partners that may not maintain constant connections with each other.
Message-oriented middleware (MOM)
Message-oriented middleware (MOM), or message-oriented communication, is software or hardware infrastructure supporting sending and receiving messages between distributed systems.
Message-oriented middleware is used in enterprise application integration and in the creation of client/server applications. It is also used to enable communication between applications within an enterprise.
Message-oriented middleware focuses on messaging as the fundamental unit for communication between systems. This contrasts with request/response protocols, where a complete request/response interaction is modeled, including acknowledgements and error handling. Message queues provide an asynchronous communications mechanism in which the sender and receiver of the message do not need to interact with the message queue at the same time. The sending application can send messages to a queue without needing to wait for the receiving application to be available to receive those messages from the queue. Similarly, a receiving application can retrieve messages from a queue without needing to wait for a sending application to send that message to the queue.