Java-Komponententechnik OSGi in Version 4.2
Die Version 4.2 der in der Java-Welt populären OSGi-Komponententechnik steht ab sofort zum Download zur Verfügung. Nahezu alle Java EE Application Server setzen auf der Spezifikation auf.
- Alexander Neumann
Die OSGi Alliance hat die Version 4.2 der OSGi-Spezifikation (Open Service Gateway initiative) verabschiedet. OSGi ist eine Java-Komponenten-Technik, auf der beispielsweise die Eclipse-Entwicklungsumgebung basiert. Die OSGi-Komponenten (sogenannte Bundles) können Code und Services an andere exportieren. Dabei lassen sie sich zur Laufzeit einzeln installieren und austauschen. Das bedeutet, dass durch OSGi die Modularisierung der Software auch zur Laufzeit erkennbar ist. Die Plattform setzt eine Java Virtual Machine (JVM) voraus und liefert darauf aufsetzend das OSGi-Framework.
Die neue Version legt unter anderem fest, wie man OSGi-Engines auf transparente Weise einfĂĽhrt, sodass eine Anwendung einfach getestet werden kann, indem man das geeignete JAR (Java Archive) auf dem Bootstrap-Klassenpfad ersetzt. Die bisher als Distributed OSGi bekannten Services heiĂźen nun Remote Services und verbinden OSGi-basierte virtuelle Maschinen miteinander.
Sogenannte Blueprint Services verhalten sich ähnlich wie der Inversion-of-Control- und der Dependency-Injection-Mechanismus aus dem Spring Framework. Sie erlauben Clients zu bestimmen, welche der mit externen Konfigurationsdateien verbundenen Services dynamisch zu verdrahten sind. Der Bundle Tracker ist eine Erweiterung des schon länger bestehenden Service Tracker. Mit dem neuen Tracker soll man die Übersicht über die ein- und ausgehenden Bundles behalten können.
Populäre Open-Source-Implementierungen der Spezifikation sind Apache Felix und Eclipse Equinox; nahezu jeder Anbieter von Enterprise-Anwendungen setzt auf OSGi, um seine Java-Software modularisiert anbieten zu können. Als Beispiel seien hier IBM WebSphere, Oracles WebLogic, JBoss und Sun GlassFish Enterprise Server genannt. Auch SAP plant, für die nächste Generation der NetWeaver-Plattform OSGi als Basis zu nutzen.
Das unter dem Dach der Eclipse Foundation entwickelte Equinox (Version 3.5) oder Apaches Felix (Version 2.0) arbeiten bereits an der Kompatibilität zu ihren gegenwärtigen Versionen, dürfen sich aber zum jetzigen Zeitpunkt noch nicht als konform zu OSGi 4.2 bezeichnen. (ane)