The Real-Time Messaging Framework provides a mechanism for applications to send messages to clients, and to send messages to an RTMF service in order to initiate a process on the server.
RTMF is based on the JMS (Java Messaging Service) standard, and provides the following:
Infrastructure for routing messages, from applications to clients and from applications to RTMF services.
The following are some of the key tasks performed by RTMF:
Polling of the server to check if an event has been published to which the client has subscribed. Polling enables a server application to push data to the client.
Routing messages among the nodes of a cluster.
API for sending and receiving messages
RTMF is composed of a Java EE service (server functionality) and Java EE library (messaging API).
Use Cases
The following are some examples of uses for RTMF:
Call Center Application: A telephony service waits for incoming calls. When receiving a call, it sends a message to an operator application, alerting the operator of the call and enabling the operator to handle the call.
Auction/Trading Application: An auction or trading service monitors activity for specific products or commodities. When a sale occurs or prices change, the service sends a message to the application to update the information.
The trader indicates a bid for a product, and the application sends a message to the service. The service checks if the bid is accepted, and sends back a message with confirmation information. The service also publishes an event to inform all other applications that want to be updated about the bid.
Manufacturing Monitoring Application: A monitoring service checks the levels of fluid in a tank, and sends a message to the application when the level changes. The user decides to change the speed of production, and the application sends a message to the service to make the change.
How Messaging is Performed
The following are the ways that RTMF messaging is performed:
Application-to-Client Messaging : Web applications can create messages and send them to clients by publishing events. Clients can listen for messages by subscribing to specific events.
Application-to-RTMF-Service Messaging : Applications can send messages to RTMF services, which can then execute business logic and publish events to clients or send messages to other RTMF services.