The message service allows you to send or publish messages to a queue or topic, where they are stored until they can be delivered to either a client or a component. The message service supports two messaging models, point-to-point and publish/subscribe. Point-to-point messaging sends a message to one consumer. The publish/subscribe model publishes messages that are available to all consumers who subscribe to the message topic. You can receive messages using message listeners. The message service provides transient and persistent message storage for queued messages.
A messaging service provides a flexible solution for many business needs. As a practical example, consider a scenario in which a supplier must communicate prices to a number of retailers, and the retailers want to place orders for items at updated prices.
The message service requires a listener to respond to incoming orders, and a way to manage the list of retailers and add new ones. You must ensure that each party receives and processes all the transactions that are sent its way. If one of the retailers is offline, or network routing to its server fails, your application must continue trying to establish communications until the transaction can be completed. You must provide persistence for critical transactions until all recipients acknowledge them. You also want to ensure that all parties are granted access, are who they say they are, and that transactions are secure during transmission.
Many business transactions take place in an environment such as this, where connectivity cannot be guaranteed and transactions require security. Inserting a messaging service between business nodes in a network insulates your application code from these issues.
The key features of the EAServer message service include: