To showcase this new capability, we connected Waterstream to the Lufthansa Open API notification service. This public API allows monitoring changes of Lufthansa flights (and others) using the MQTT protocol. Communication flows only from the Lufthansa endpoint toward Waterstream that behaves like a simple MQTT client consuming available MQTT topics.

Below there’s an example of a message coming from the Lufthansa endpoint.

{
   "Update":{
      "ScheduledFlightDate":"2020-10-05",
      "Message":"New Estimated Arrival",
      "ScheduledFlightTime":"0110",
      "FlightNumber":"LX967",
      "Timestamp":"2020-10-05T13:45:03"
   }
}

Building dashboards

Waterstream uses Apache Kafka as the persistence layer. Every message ingested from the source MQTT broker by the bridge is written directly into Kafka. It’s straightforward to configure a Kafka Connector to import that data into Elasticsearch and build some Kibana dashboards.

Bridge architecture

The final result consists of a seamless integration that allows you to get insights of the ingested data. You can select one airline to filter data, or you can apply a different time window to get notifications for a specific day or hour.

Source code

 The source code of this demo is available on Github

Do you want to know more?

Visit Waterstream product site at waterstream.io and learn how to combine MQTT with Kafka, the standard de-facto streaming platform.