OpenEdge.Messaging is a generic messaging API, made up of a number of classes and interfaces, including classes specific to Apache® Kafka®. This API supports sending and receiving messages to and from Kafka. The purpose of the API is to allow the ABL code to perform operations, such as constructing a producer and sending messages to a Kafka cluster, or constructing a consumer and consuming messages from a Kafka cluster. You can find the OpenEdge.Messaging ABL API Reference at OpenEdge.Messaging.

Before using this API, you should be familiar with Kafka concepts and terminology and know how to set up Kafka with OpenEdge.

For a Kafka consumer, you can use the API to:
  • Create and configure a consumer builder
  • Configure consumer record properties
  • Read records (messages) from a Kafka cluster

The following table describes the classes and interfaces provided by the OpenEdge.Messaging API for consuming messages from Kafka.

Class or interface Description
OpenEdge.Messaging.ConsumerBuilder A class that exposes properties and method needed to configure the consumer.
OpenEdge.Messaging.ConsumerRegistry A class that acts as a single point of configuration where implementations of the messaging API can be registered and retrieved.
OpenEdge.Messaging.IConsumer An interface that provides a way to retrieve records from a server.
OpenEdge.Messaging.IConsumerRecord An interface used by the underlying implementation for holding data received from the consumer.
OpenEdge.Messaging.IDeserializationContext An interface that provides access to consumer configuration and consumer topic configuration information. The deserializer may use this information to determine how the record should be converted to an ABL object.
OpenEdge.Messaging.IDeserializer An interface that converts network messages received by the consumer to an application and topic-specific object.
OpenEdge.Messaging.ITopicConfiguration An interface that provides per-topic configuration.
OpenEdge.Messaging.Kafka.KafkaConsumerBuilder A class that provides the consumer builder for the OpenEdge Kafka consumer implementation.
OpenEdge.Messaging.Kafka.KafkaConsumerConfig A class that holds the consumer configuration constants for the high-priority, consumer-related Apache Kafka library options.
OpenEdge.Messaging.MessagingError A messaging error class for when an exception is thrown from the ABL code of the messaging framework.
OpenEdge.Messaging.RecordHeader A class that constructs record headers.

Relationships between classes/interfaces

The following diagrams show some of the hierarchies and relationships between the classes/interfaces.

Figure 1. Builder
Figure 2. Registry
Figure 3. Deserializer
Figure 4. Error