Java Reference
In-Depth Information
9
OSGi
OSGi stand ursprünglich für „Open Services Gateway initiative“. Heute passt diese Bedeu-
tung nicht mehr zu OSGi. OSGi steht deshalb für sich selbst, d. h. es ist keine Abkürzung
mehr, sondern lediglich ein Name. OSGi basiert auf einer 1999 gegründeten Firmenallianz
mit namha en Firmen wie z. B. Oracle/Sun, IBM, Siemens usw. Mit OSGi sollte ein Kompo-
nentenmodell für Java-Anwendungen standardisiert werden, das es ermöglichen soll, Kom-
ponenten dynamisch (d. h. zur Laufzeit) zu einer Anwendung hinzuzufügen und wieder zu
entfernen. Gedacht war es als Plattform für alle Arten von Anwendungen, besonders solche,
die auf spezieller Hardware laufen, also für sogenannte eingebettete Systeme. Anwendungs-
bereiche dafür sind beispielsweise Fahrzeuge, Mobiltelefone, die Unterhaltungselektronik,
die Gebäudeautomatisierung und intelligente Assistenzsysteme (z. B. im Pfl egesektor und
in der Medizin). Die Entwicklungsplattform Eclipse, die wir im nächsten Kapitel behandeln,
basiert mittlerweile ebenfalls auf OSGi.
Die OSGi-Spezifi kation 4.1 wurde im Rahmen des JCP (Java Community Process) als dyna-
misches Komponentenmodell für Java unter dem Namen „Dynamic Component Support for
Java SE“ angenommen. Es ist also mittlerweile das o ® zielle Komponentenmodell von Java.
Auch für dieses Buch hat OSGi zentrale Bedeutung: Im zweiten Teil des Buches sind sowohl
das prototypische Komponentensystem als auch die typischen Eigenscha en E1 bis E4 von
Komponentensystemen stark von OSGi beeinfl usst.
Implementierungen von OSGi sind u. a. Equinox (von Eclipse), Knopfl erfi sh und Felix (frü-
her Oscar). In diesem Kapitel verwenden wir Felix als Plattform für OSGi.
9 1 Komponentenmodell
In OSGi wird eine Komponente Bundle genannt. Die Dateien eines Bundles werden in eine
Jar-Datei gepackt. Dies sind im Wesentlichen der Programmcode in Form von Class-Dateien
sowie eine Konfi gurationsdatei in Form einer Manifest-Datei. In der Jar-Datei befi nden sich
auf der obersten Ebene die Verzeichnisse des jeweils ersten Namensteils der vorhandenen
Packages. In unserem Fall werden für die Komponenten die Package-Namen javacomp.osgi.
bundle1, javacomp.osgi.bundle2 usw. verwendet. Also befi ndet sich in der Jar-Datei für den
 
Search WWH ::




Custom Search