Release 10.1A: OpenEdge Getting Started:
Application and Integration Services

> ## 4GL-JMS API

> The 4GL-JMS API is strongly integrated with the 4GL programming model and style, including the Progress 4GL event model. The API provides 4GL persistent procedures to represent the JMS connection, session, and Message objects. The 4GL programmer uses the methods in these procedure objects for JMS message delivery, acknowledgement, and recovery. The API supports the two basic types of JMS messaging:

> - Point-to-Point (PTP) — (one-to-one communication) A producer sends a message to a queue, where it is received by a single consumer, no matter how many consumers are listening to the queue.

> - Publish and Subscribe (Pub/Sub) — (one-to-many communication) A producer publishes a message to a topic, where all consumers subscribing to the topic receive the message.

> Messages are processed when the application is in a `WAIT` `FOR` or other IO-blocking state. To facilitate non-UI applications, such as AppServer processes or batch processes, the 4GL application can also call the 4GL-JMS API `waitForMessages` procedure to process messages. OpenEdge uses the existing Progress 4GL error mechanisms to handle 4GL-JMS errors.

> A 4GL application written to take advantage of the 4GL-JMS API can talk with another application without knowing whether it is a 4GL or a non-4GL application. Java features are mapped to the Progress 4GL; for example, Java Enumeration Objects map to comma-separated lists in the Progress 4GL. In a Progress 4GL-to-4GL messaging situation, an application can package 4GL data within standard messages, for example, to send a static or dynamic temp-table.

Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095