Publish / Subscribe
The Pub/Sub component is part of the Data Infrastructure Middleware and is composed by a publisher, the one sending messages to one or more queues, and subscribers, consuming messages from specific queues. All messages use the AMQP protocol that provides reliable solutions for systems-interconnection based on publish-and-subscribe or multicast communication channels.
The Pub/Sub component uses a message broker (RabbitMQ) to handle the communication between the publisher and subscriber(s). The broker also uses the Security component to verify the authentication and authorisation of the asset that is using the Pub/Sub services. To facilitate the usage of this component, there are libraries available in JavaScript and Java languages that allow the components to publish and subscribe to queues synchronously.
The component, that wants to publish messages will create queues with specific identifications (routingKeys) and the component(s) that want to receive messages will only need to specify those identifications. All these steps will be transparent for the end user through the previously mentioned libraries. If the message consumer is offline, the message will be stored in the broker until the consumer reads the message.