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.

Play Video

Send Publication

Sends a publication into a queue. The user can send binary data, such as files or images, embedded on the message content.

Receive Publication

All components that are listening to a specific queue will receive the message. This message, not only contains the message content, but also the time of sending, size and message identification.

Register RoutingKeys

Creates specific queues that can be subscribed on the messaging system.

Announcements

Channels that can be used for component announcements, e.g, factory alerts or components’ login/logout.

Additional ressources

Learn more about i4FS by visting the project website for general information, the wiki for information about the core components, the Technical Manual for API documentation, and downloading the repository’s source code.

Wiki

Get a better understanding of the global architecture and information flow.

Source code

Our source code is opensource and available on our Gitlab repository.

API endpoints

Let your infrastructure communicate with the i4 Platform.