The AMBSS is a message broker subscriber manager. It enables the Adelia Studio platform to consume messages in an Adelia program.
It also provides the option of managing a subscriber's lifecycle through the following CRUD operations:
- Create a subscriber
- Read a subscriber
- Update a subscriber
- Delete a subscriber
This tool is run in a Java environment.
Prerequisites
The AMBSS works with a Java JDK or JRE, version 1.8 or later.
You also need to be familiar with the operating principles of the message brokers to use and the principles and mechanisms for consuming the messages associated with them.
Finally, you need to know how to install and configure the target brokers as this is not covered in this help guide.
Message broker
A message broker or agent is an application which exchanges messages using a specific communication protocol (some brokers support several protocols).
The main functions are:
- Message transport: Messages have two parts: the technical header, used by the broker, and the data (or payload) which can be in any format.
- Asynchronous communication: A message's issuing and receiving applications do not need to be active at the same time. The queue receives the message from the issuing application and stores it until the receiving application comes to read the message.
- Routing: Messages can be routed between brokers. For example, to route a message between two remote sites each with a locally installed broker.
- Data conversion: Most brokers allow the format of the data contained in the messages to be changed to adapt to the receiving application.
- Message persistence: Messages in the queues can be saved in a physical medium to ensure their retention in the event of a breakdown.
- Reliability: Each message sent by an application is acknowledged by the broker. Each application that consumes a message sends an acknowledgment to the broker. Combined with persistence, this mechanism guarantees that no messages are lost during transfer between applications.
Brokers have two main ways of operating:
- Point-to-point: One application produces messages and another consumes them. Only one consumer reads the messages. Once the message is read, it is withdrawn from the queue.
- Publish - Subscribe: The applications which consume messages subscribe to a topic (topic, message category). The messages sent to this topic remain in the queue until all the subscribed applications have read the message.
The AMBSS supports the following brokers (or protocols):
- Kafka
- MQTT v3 and MQTT v5 protocols
- Nats JetStream
- Nats Streaming (NB: support ends in June 2023)
- RabbitMQ (AMQP 0.9.1 protocol)
- Redis Pub/Sub
Subscriber
In the Publish - Subscribe paradigm, a subscriber is a message recipient. A recipient subscribes to the message categories (or topics) they are interested in and only receives the corresponding messages without knowing if there are distributors.
The main operations of a subscriber are:
- Connect to the broker and subscribe to the message categories to handle.
- Receive a message (either initiated by the subscriber's request (Pull model) or triggered by the broker (Push mode) and its handling). According to the communication protocol used, the subscriber may have a limited message handling time defined during connection to the broker,
- According to the communication protocol used, the subscriber may acknowledge the handled message:
- a positive acknowledgment tells the broker that the message was handled correctly and that it can send the next message;
- a negative acknowledgment (if there is an error during message handling) tells the broker to subsequently return the message.
- Disconnect from the broker.
The AMBSS only manages subscribers. However, with Adelia Studio it is possible to create message producers which are compatible with Kafka and RABBITMQ (AMQP 0.9.1) brokers using VaToolBx features - See Functions on Message Brokers. ↑ Top of page