Open-Source-Broker Mosquitto: Die Mücke, aus der Eclipse einen Elefanten machen könnte

Diana Kupfer

Seit gestern liegt ein neuer M2M-Projektvorschlag auf dem Tisch der Eclipse Foundation: Mosquitto, vielen in der Szene bereits bekannt als Server-Implementierung des MQTT-Protokolls. Ein längst überfälliger Schritt, werden manche sagen, gehörte Mosquitto doch von Anfang an zur Familie der M2M-Technologien bei Eclipse: Auf der Webpräsenz der M2M Industry Working Group kommt der Open-Source-Message-Broker bereits seit einiger Zeit als Sandbox-Server zum Einsatz. Bisher steht er unter BSD-Lizenz.

Mosquitto entstand 2010 als Open-Source-Pendant zum RSMB (Really Small Message Broker), der 2008 von IBM aus der Taufe gehoben worden war. Laut Projektvorschlag sollen sowohl der Open-Source-Server als auch sein proprietärer Vorgänger in dem neuen Mosquitto-Projekt aufgehen, um „das Beste von beiden“ Code-Basen nutzen zu können, wie es dort heißt.

Mosquitto wird in C entwickelt, um auch für die ressourcenschwächste Hardware gewappnet zu sein, Geräte, auf denen noch nicht einmal eine JVM laufen kann: Sensoren, Aktoren und andere Hardware, mit der oft über MQTT kommuniziert wird.

Mit Mosquitto findet sich das serverseitige Gegenstück zum Paho-Projekt bei Eclipse ein. Paho stellt clientseitige Implementierungen von MQTT in verschiedenen Sprachen wie Java, C, JavaScript, Lua und Python bereit.

Das Protokoll MQTT, 1999 von Andy Stanford-Clark (IBM) und Arlen Nipper (damals Arcom Control Systems) entwickelt, sowie der jüngere Bruder MQTT-SN für Sensornetzwerke (in Kürze „MQTT-S“) basieren auf dem Publish-Subscribe-Prinzip. Das bedeutet: Clients kommunizieren nicht untereinander (Peer-to-Peer), sondern nutzen dazu einen zentralen Server, den Broker. Von diesem abonnieren sie so genannte Topics (subscribe), zu denen sie Nachrichten empfangen möchten. Umgekehrt teilen sie dem Broker mit, zu welchen Topics sie Nachrichten an ihn schicken (publish). Aufgabe des Brokers ist es, die jeweils erwünschten Nachrichten an alle Clients zuzustellen.

Aktuell ist MQTT in Version 3.1 verfügbar und wird von einem speziellen OASIS-Komitee einem Standardisierungsverfahren unterzogen. Es schickt sich damit an, einer der wichtigsten Akteure im Internet der Dinge zu werden.  

Dass das explosionsartige Wachstum des M2M-Marktes sich auch im Zulauf an Eclipse-M2M-Projekten widerspiegelt, zeigt ein Vergleich der Download-Grafik, die wir vor etwa einem Jahr zum Thema M2M bei Eclipse erstellt haben (s.u.), mit dem Status quo: Inzwischen ist die M2M-Galaxie bei Eclipse um vier Planeten reicher geworden: Concierge, das sich bis 2. Oktober in der Review-Phase befindet, SCADA, Kura, der OSGi-Container, der gerade in der „People-Counter“-Applikation auf der JavaOne zum Einsatz kam, und Ponte (dazu ein Interview mit Projektleiter Matteo Collina in der brandneuen Ausgabe des Eclipse Magazins). Gemeinsam mit dem bewährten Mosquitto-Broker hat dieses Ensemble an Open-Source-M2M-Technologien allemal das Zeug dazu, proprietäre Alternativen auszustechen.

Eclipse im M2M Universum (© Software & Support Media)

Geschrieben von
Diana Kupfer
Diana Kupfer
Diana Kupfer war Redakteurin bei S&S Media für die Zeitschriften Java Magazin, Eclipse Magazin und das Portal JAXenter. 
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.