Information Mediator - pub/sub implementation examples and ideas

Information Mediator - pub/sub implementation examples and ideas

FIWARE Orion Context Broker: https://github.com/telefonicaid/fiware-orion

FIWARE is an open-source platform that promotes the development of smart solutions by providing a common framework for data management and interoperability. It's designed to facilitate the creation of applications that can utilize context information from various sources, including IoT devices and other systems, to deliver intelligent services across different domains.

Pub-Sub Implementation:

  • NGSI Standards: Orion implements the NGSI v2 and NGSI-LD APIs, allowing clients to subscribe to context changes.

  • Subscription Mechanism: Clients can create subscriptions by sending a POST request to the /v2/subscriptions endpoint, specifying the entity or attribute of interest and a notification endpoint.

  • Notification Delivery: When the specified context changes occur, Orion sends HTTP notifications to the subscriber's endpoint.

  • Integration with Other Components: Orion can be integrated with components like Cygnus for data persistence and QuantumLeap for time-series data analysis.

More information: https://www.slideshare.net/slideshow/orion-context-broker-introduction-20250509/278901687


MuleSoft Mule ESB: https://www.mulesoft.com/resources/esb/what-mule-esb

Mule is built on flows — sequences of message processors that pass data from inbound to outbound endpoints. A pub-sub architecture is implemented by configuring:

  • A publisher flow (producing messages)

  • One or more subscriber flows (consuming messages)

Mule ESB doesn’t implement its own message broker but integrates with external pub-sub platforms. Some commonly used integrations:

Apache Kafka

  • Mule has a Kafka Connector.

  • Producers send events from a Mule flow into Kafka topics.

  • Consumers (other Mule apps or third-party systems) subscribe to those topics.

JMS (Java Messaging Service)

  • Supports JMS-compliant brokers (e.g., ActiveMQ, IBM MQ, Tibco EMS).

  • Topics in JMS are inherently pub-sub. You can configure:

    • Jms Publish to send messages to a topic.

    • Jms Listener to consume messages.

Anypoint MQ (MuleSoft’s own MQ)

  • MuleSoft’s cloud-based Anypoint MQ supports Queues and Exchange Topics.

  • You can:

    • Publish messages to an Exchange (topic-like construct).

    • Have multiple consumers subscribe using durable or temporary subscriptions.

Example with Anypoint MQ:

  • Flow A:

    • Accepts REST API call.

    • Transforms the data.

    • Publishes to an Anypoint MQ Exchange.

  • Flow B:

    • Has MQ Subscriber configured.

    • Gets triggered when message is published.

    • Processes or routes the data further (to a database, REST API, etc.)

More information: https://docs.mulesoft.com/mq/


OpenHIM (Open Health Information Mediator)

OpenHIM is an open-source middleware component designed to facilitate interoperability between health information systems, particularly in low-resource settings.

Pub-Sub Implementation:

  • OpenHIM uses mediators to handle specific transactions. These mediators can be configured to listen for certain events and act upon them, effectively implementing a pub-sub model.

  • Every transaction is logged, allowing for auditing and monitoring of data flows between systems.

  • OpenHIM doesn't have a built-in pub-sub broker, its architecture allows for integration with external messaging systems like Kafka or MQTT to implement pub-sub patterns.

More information: https://openhim.org/docs/introduction/about/