Home

Homepage von Stefan Prelle

Java Message Bus Implementierung

Bei dem Message Bus handelt es sich um eine relativ leichtgewichtige Architektur und ein Protokoll, um einzelne Elemente einer verteilten Anwendung miteinander zu koppeln. Dies kann z.B. eine Videotelefonie-Software sein bei der GUI, CallControl, Audio- und Videokomponente getrennte Anwendungen sind. Durch den Einsatz von Mbus werden die einzelnen Elemente austauschbar bzw. können getrennt entwickelt werden.

Eine besondere Stärke des Mbus liegt dabei in der Gruppenkommunikation. Eine einzelne Anwendung ist über eine Reihe von Key/Value-Paaren adressierbar, die frei gewählt werden können. Es ist dabei möglich durch Weglassen speziellerer Paare, eine allgemeinere Adressierung zu erreichen.


In dem obigen Beispiel würde z.B. die Adresse (room:livingroom) alle Geräte im Wohnzimmer adressieren, während ein LICHT AUS-Kommando an (type:light) die Lichter in Küche und Wohnzimmer erreicht.

Der Message Bus ist im Rahmen der IETF als RFC 3259 standardisiert. Weitere Detailsfinden sich unter http://www.mbus.org/.

  • rat - das Robust Audio Tool vom UCL
  • vic - das Video Conferencing Tool vom UCL
  • Freevo - eine Open Source Home Theater Plattform. Unterstützt in der aktuellen Entwicklerversion die (Fern)Steuerung via Mbus.
  • bonephone - ein IPv6-tauglicher JAVA SIP-Client.

Im Rahmen meiner Arbeit an der Universität Bremen ist eine Implementierung des Mbus-Frameworks in JAVA entstanden. Diese ist bei SourceForge als Projekt jmbus zu beziehen (http://sourceforge.net/projects/jmbus/) und wurde 2005 nochmal überarbeitet.

Für Gentoo™ Linux gab es ein ebuild, so daß man das Paket mit emerge jmbus installieren konnte.

In Arbeit ist ferner eine XML-Anwendung zur Beschreibung von Mbus-Profilen, ein XSL-Stylesheet welches daraus HTML-Doku erzeugt und ein Code-Generator, welcher (zunächst nur) Java-Code erzeugt. Bisher gibt es keine Releases dafür, daher bei Interesse bitte bei mir melden.