Interview mit Ian Skerrett und Benjamin Cabé über die M2M IWG

"Alles ist fragmentiert, aber jeder möchte das Internet der Dinge."

Jaxenter: Benjamin, ihr verwendet in euren Projekten Lua. Weshalb?

Cabé: M2M-Entwickler müssen zwar auch viel mit Hardware arbeiten – sie müssen zum Beispiel Lösungen entwickeln, Hardware in Kraftfahrzeuge einzubetten. Aber in erster Linie wollen sie Daten sammeln und zu verarbeiten – Daten von Sensoren etc. – und diese Daten übers Internet versenden. Mehr nicht. Eingebettete Entwicklung ist nicht ihre Stärke. Und wir fanden es sehr wichtig, die Entwicklung einfach zu machen. Manchmal ist es noch nicht einmal Entwicklung, sondern einfach Konfiguration. Auf einem eingebetteten Gerät ist man sehr eingeschränkt, C oder C++ wären also zu komplex. Java wäre zwar eine mögliche Lösung, aber auf sehr eingeschränkter Hardware eine JVM laufen zu lassen, wäre vermutlich schwierig – insbesondere, wenn man eine gute JVM-Implementierung mit entsprechender Unterstützung möchte. Man würde dann vielleicht Probleme mit der Lizenzierung bekommen. Deshalb verwenden wir Lua als Programmiersprache für die eingebettete Zielplattform. Sie ist leicht einzubetten, ideal für Einsteiger. Wenn man Silos abbauen und Leute dazu bringen möchte, M2M-Anwendungen zu entwickeln, muss man es ihnen so einfach wie möglich machen – zumindest am Anfang. Mit der Lua Runtime Mihini werden wir langfristig aber auch ein Anwendungsframework für andere Sprachen zur Verfügung stellen. Die Runtime selbst ist in Lua, aber langfristig wird es auch ein Java- und C-APIs geben. So kann man zum Beispiel OSGi-Standards umsetzen und OSGi-Legacy-Code verwenden.

Jaxenter: Langfristig. Aber schreckt es potenzielle Committer nicht eher ab, wenn sie erst eine neue Sprache lernen müssen, um mitzumischen?

Cabé: Ich bin kein Lua-Experte, habe die Sprache aber in wenigen Stunden gelernt. Lua wurde vor ungefähr 20 Jahren für die Ölindustrie entwickelt. Ihre Erfinder, es waren Universitätsangestellte, hatten sie für Nicht-Entwickler vorgesehen, die mit großen Datenmengen arbeiten wollten. Die Runtime, die wir entwickeln, basiert zwar auf Lua. Aber sie ist auch sehr gut mit C-Libraries integrierbar. Wenn Hardwareentwickler also ihre eigenen nativen Treiber entwickeln und C verwenden wollen, können sie das. Was Java angeht: Im Moment konzentrieren wir uns auf Lua und C, aber ich denke, dass es von IBM, Eurotech oder einem anderen Unternehmen irgendwann auch einen Beitrag zu eingebetteten Technologien geben wird, die auf Java basieren. Aber auch in der IWG verfolgen wir das Ziel, dasselbe Vokabular, dieselben APIs zu verwenden. Die Idee ist also, dass das, was wir in Lua machen, leicht übertragbar ist auf andere Embedded Runtimes.

Jaxenter: Trotzdem, es gibt Leute, die fragen: Was hat das alles mit Java zu tun?

Cabé: Nun ja, in der bestehenden Industrie hat jeder seine eigenen Programmiermodelle. Im Gesundheitssektor setzt man vielleicht am ehesten auf Python und benutzt eigene Protokolle. In der Automobilindustrie ist es vielleicht etwas völlig anderes. Die Idee [hinter der IWG] ist es, Bausteine bereitzustellen, um Tools zur Verfügung zu haben und dabei Eclipse zu verwenden, um aus derselben IDE heraus mit diesen Bausteinen zu arbeiten. Man soll dabei gemeinsame Debugging- und Deployment-Mechanismen haben, um mit dem eingebetteten Device interagieren zu können – vorausgesetzt, existierende Software kann in Teilen wiederverwendet werden.

Jaxenter: Thema MQTT: Ist es zurzeit das beste Protokoll oder gibt es Alternativen?

Skerrett: Die Alternativen sind zurzeit proprietär oder domänenspezifisch. Jede Industrie hat ihr eigenes Messaging-Protokoll. Und da wären wir wieder bei der Fragmentierung und den Silos. Das ist die typische Alternative. Das wachsende Interesse an MQTT in den vergangenen Jahren sagt ziemlich viel aus: Die Leute fangen an, sich mit dem Thema M2M bzw. Internet of Things auseinanderzusetzen. Im Zuge dessen wird auch MQTT immer häufiger evaluiert und immer wieder festgestellt, dass es einfach gut ist. Das momentane Aushängeschild von MQTT ist Facebook…

Jaxenter:.wegen des MQTT-basierten Facebook Messengers?

Skerrett: Ja. Es wäre zwar nett, wenn Facebook mehr darüber reden würde (lacht), aber es ist ein gutes Beispiel für die Erfolgsstory von MQTT.

Jaxenter: Trotz der Sicherheitsproblematik, die immer wieder angesprochen wird.

Cabé: Die Sache ist die: MQTT ist ein weiterer Baustein. Lua sehen wir ja auch als lediglich einen Baustein für Embedded-Lösungen. Genauso kann MQTT für den Transport verwendet werden, und wenn man seinen eigenen Security-Layer drüberlegen oder zusätzlich sein eigenes Legacy-Protokoll verwenden will, ist das auch möglich.

Skerrett: MQTT wird keine Allzwecklösung sein. So etwas gibt es zurzeit nicht. Eine M2M-Anwendung ist unglaublich komplex. Es braucht immer einen großen Stack, um sie zum Laufen zu bringen – Cloud, Internetprovider, weltweiter Datenverkehr – mit vielen Dingen muss man sich auseinandersetzen. Da gibt es nicht die eine Lösung. Das erfordert eine Menge Systemintegration. Deshalb wird Mihini so interessant: weil dadurch die Komplexität des Anwendungs-Stacks reduziert wird. Der Anwendungsentwickler muss sich also nicht darum kümmern. Allerdings müsste man mit der Deployment-Komplexität genauso verfahren. Man muss sich aber bewusst machen, dass wir noch ganz am Anfang stehen. Es werden also noch viele Lücken zu schließen sein.

Jaxenter: Eine davon ist vermutlich Datenanalyse?

Skerrett: Wenn ich ein Big-Data-Unternehmen hätte, würde ich das als Riesenchance wahrnehmen. Eine der Herausforderungen sind die Unmengen an Daten. Wer soll die verarbeiten? Aber es gibt durchaus schon einige Unternehmen, die sich darauf spezialisieren, und ich glaube, in diesem Bereich ist man insgesamt schon weiter als wir es jetzt vermuten. Also würde ich nicht sagen, dass hier noch größere Lücken klaffen.

Jaxenter: Ist das [Big Data] ein Bereich, den die IWG auch angehen will?

Cabé: Ja, darüber gab es schon Gespräche – zwar noch nicht darüber, wie was man an konkreten Technologien entwickeln kann, aber zum Beispiel darüber, wie Modeling-Technologien dazu verwendet werden können, die erfassten Daten zu beschreiben. Es ist aber schwierig, businessspezifische Daten auf neutrale Art und Weise zu beschreiben.

Skerrett: Aber um deine Frage zu beantworten: Nein, im Moment noch nicht. Im Moment versuchen wir nur die wesentlichen Bausteine zusammenzubekommen. In zwei, drei Jahren sieht das vielleicht anders aus.

Jaxenter: Wie sieht die Roadmap aus?

Cabé: Mit dem Mihini-Projekt möchten wir mit dem Kepler-Release eine IDE, eine Eclipse-Distribution für M2M zur Verfügung stellen – mit Tools, Code Samples, Debugging, MQTT-Kommunikation, um den Einstieg in M2M und die Verbreitung zu vereinfachen. Für Koneki wird es bis Ende des Jahres zusammen mit MQTT ein neues Release geben, das 0.9-Release. In Koneki haben wir bereits Unterstützung für Mihini-Entwicklung, und in Paho wird es immer mehr Codebeispiele und MQTT-Implementierungen für C, Java und Lua geben. Der nächste Schritt ist ein gemeinsames Release aller drei Projekte mit Kepler, und alle drei werden Teil der IDE sein. Mihini wird also verfügbar sein – wir arbeiten gerade noch am ersten Beitrag. Man wird also alle Tools und den MQTT-Client in Mihini nutzen können. Im Juni 2013 wird also schon einiges zur Verfügung stehen.

Jaxenter: Sind weitere Projekte geplant?

Cabé: Es gibt bereits einige Projekte bei Eclipse, die für M2M von Interesse sind. Eines davon ist Damos, ein Projekt, das Tools zum Modellieren eingebetteter Anwendungen bereitstellt. Obwohl es keinen direkten M2M-Bezug gibt, arbeitet man doch mit gesammelten Daten von Sensoren usw. Hier könnte es also ein wenig Austausch geben, was die Analyse der Daten von Signal- und Geräuschsensoren etc. betrifft.

Skerrett: Ich hoffe, dass bis Ende 2013 zwei bis drei weitere Projekte in diesem Bereich hinzukommen. Aber wie bei jeder neuen Technologie sind Prognosen schwierig. Normalerweise kommen die Leute einfach auf uns zu und fragen, ob wir interessiert sind. Und wir schauen dann, ob es passt. Es ist aber schwierig vorherzusagen, welche Projekte das sein werden. Das Tolle an der M2M IWG ist, dass man dort eine klare Vision hat, wohin die Reise gehen soll. Ich selbst werde 2013 mit weiteren Unternehmen sprechen und mit ihnen zusammen prüfen, ob sie zu uns passen und wie sie sich einbringen können. Der Vorteil an Open Source ist ja, dass man keine genaue Produkt-Roadmap braucht, solange genug Leute gute Ideen einbringen, auf die man selbst noch nicht gekommen ist.

Jaxenter: Nutzt ihr M2M eigentlich privat zuhause? Heimautomatisierung oder Ähnliches?

Cabé: Nein. Ich habe ja mal überlegt, mein Auto zu präparieren, aber dazu braucht man zu viele Kabel und für alles Batterien.

Skerrett: Der Erfinder von MQTT bei IBM [Andy Stanford-Clark] hat eine Farm.

Cabé: Ich wusste ja, dass er MQTT für seine Mausefallen verwendet, aber…

Jaxenter: Und man kann mit Sensoren ja Tiere tracken.

Skerrett: Ja, aber nicht nur das. Er verwendet MQTT auf seinem gesamten Anwesen. Das Witzige ist ja: M2M ist auch die Domäne von Bastlern und Hackern, Leuten, die mit Arduino und Rasperry Pi arbeiten. Viele davon interessieren sich für M2M-Lösungen. Das ist klasse.

Jaxenter: Wir bedanken uns!

Benjamin Cabé ist Open-Source-Evangelist bei Sierra Wireless. Eclipse und sein Ökosystem begeistern ihn schon seit Langem. Er ist Committer bei zahlreichen Eclipse-Projekten (u. a. e4, PDE) und trägt zu zahlreichen anderen Open-Source-Projekten bei. Er leitet das Koneki- und das Mihini-Projekt und ist aktives Mitglied der M2M IWG. Bei seiner täglichen Arbeit unterstützt er die Community und setzt sich für die Verwendung von innovativen Technologien (u. a. Lua, Modeling) im Rahmen des Internet of Things ein. Wenn er sich nicht gerade im Koneki-Forum aufhält, baut er miteinander kommunizierende Geräte mit Arduino-Kits. Online ist er auf Twitter (@kartben) zu finden. Er bloggt außerdem unter blog.benjamin-cabe.com.

Ian Skerrett ist Vice President of Marketing and Ecosystem bei der Eclipse Foundation. Seit acht Jahren promotet er Eclipse-Projekte und spannende Technologien im Eclipse-Ökosystem.
Kommentare

Schreibe einen Kommentar

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