OSGi

Beispielcode

Wenn Sie die in diesem Buch vorgestellten Beispiele auf Ihrem eigenen Rechner ablaufen lassen möchten, muss dort die Eclipse IDE sowie Eclipse Equinox installiert sein. Sie können sich die jeweils neusten Versionen von der Eclipse-Webseite laden, falls Sie keine oder eine veraltete Version auf Ihrem Rechner installiert haben. Alle in diesem Buch aufgeführten Beispiele wurden mit der Eclipse-IDE-Version 3.3.2 und der Equinox-Version 3.3.2 entwickelt und getestet. In der weiteren Beschreibung gehen wir davon aus, dass sich auf Ihrem Rechner ein Java SDK in der Version 5 oder höher befindet. Ist dies nicht der Fall, dann installieren Sie bitte zunächst ein entsprechendes SDK. Weitere Informationen zu den JDKs und deren Installation finden Sie unter http://java.sun.com/.

Schritt 1: Die Eclipse IDE installieren

Um die Eclipse IDE auf ihrem Rechner zu installieren, müssen Sie zunächst die Eclipse-IDE-Distribution von der Eclipse-Webseite (http://download.eclipse.org/eclipse/downloads/) laden. Bitte achten Sie darauf, die für Ihr Betriebssystem, Ihren Windowmanager und Ihren Prozessor passende Version auszuwählen. Die heruntergeladene Datei ist ein Zip- oder ein tar.gz-Archiv mit folgendem Namen:

  • eclipse-SDK-3.3.2-<Platform>.zip

Dieses Archiv entpacken Sie in ein Verzeichnis Ihrer Wahl, unter Windows bspw. nach C:\ide. Da Eclipse innerhalb des Zip-Archivs im Unterordner eclipse abgelegt ist, finden Sie Ihre Eclipse-Installation nach dem Entpacken entsprechend im Ordner c:\ide\eclipse. Eclipse kann direkt aus dem Installationsverzeichnis durch Ausführen der Datei eclipse.exe gestartet werden. Nach dem Start werden Sie aufgefordert, einen Workspace auszuwählen, der die späteren Projekte enthalten wird. Hier können Sie ebenfalls ein beliebiges Verzeichnis Ihrer Wahl angeben (bspw. C:\workspace).

Schritt 2: Eclipse Equinox installieren

Neben der Eclipse IDE müssen Sie Eclipse Equinox installieren, wenn Sie die nachfolgenden Beispiele ausführen möchten. Zwar haben Sie bereits mit der Eclipse IDE, die auf Equinox basiert, Teile von Equinox auf Ihrem Rechner installiert, die Equinox-Distribution enthält jedoch einige Komponenten, die in der Eclipse IDE nicht vorhanden sind, da sie dort nicht benötigt werden.
Die aktuelle Version von Eclipse Equinox kann unter der URL http://download.eclipse.org/eclipse/equinox/ geladen werden. Zu jeder Equinox-Version gibt es eine Reihe von Artefakten, die zum Download angeboten werden. Wir benötigen für die nachfolgenden Beispiele das Eclipse Equinox SDK, das neben sämtlichen zu Equinox zählenden Bundles auch den zugrunde liegenden Quellcode enthält. Das entsprechende Zip-Archiv ist plattformunabhängig und besitzt den folgenden Namen:

  • eclipse-equinox-SDK-3.3.2.zip

Nach dem Download müssen Sie auch dieses Archiv in ein Verzeichnis Ihrer Wahl entpacken, unter Windows zum Beispiel nach C:\equinox. Wie schon bei der Archivdatei der Eclipse IDE ist auch Eclipse Equinox innerhalb des Zip-Archivs im Unterordner eclipse abgelegt. Entsprechend finden Sie Ihre Equinox-Installation nach dem Entpacken im Ordner c:\equinox\eclipse. Nach der Installation der Eclipse IDE sowie Eclipse Equinox sollten Sie also folgende Verzeichnisstruktur auf Ihrem PC vorliegen haben:

Schritt 3: Die Standard Services aus dem Incubator installieren

Die Implementierung des »Config Admin Service« und der »Declarative Services« ist kein Bestandteil von Equinox 3.3, sondern befindet sich noch im »Incubator«-Status. Damit Sie die Beispiele ausführen können, benötigen Sie diese Services allerdings. Sie können sie als fertig gebaute Bundles von der Equinox-Download-Seite herunterladen. Rufen Sie dazu die Download-Seite http://download.eclipse.org/eclipse/equinox auf, und klicken Sie dort auf den Link Latest release 3.3.2.
Auf der dann geladenen Seite finden Sie im Abschnitt Incubator eine Liste von Equinox-Bundles im Incubator-Status. Die beiden Bundles, die Sie benötigen, sind:

  • org.eclipse.equinox.cm_3.2.0.v20070116.jar
  • org.eclipse.equinox.ds_1.0.0.v20070226.jar

Speichern Sie die beiden Dateien direkt im plugins-Ordner Ihrer Equinox-Installation, also z.B. nach c:\equinox\eclipse\plugins.

Schritt 4: Die Target Platform einrichten

Um Anwendungen und Bundles auf Basis der installierten Equinox-Distribution zu entwickeln, müssen Sie diese in der Eclipse IDE als Target Platform definieren. Die Target Platform ist eine Menge von Bundles, auf denen Ihre Anwendung basiert.
Um die Target Platform zu ändern, öffnen Sie in der Eclipse IDE den Preferences-Dialog (Windows -> Preferences...). Innerhalb des Preferences-Dialogs wählen Sie die Seite Plug-in Development -> Target Platform. Dort können Sie über die Schaltfläche Browse neben dem Feld Location die neue Target Platform auswählen, in unserem Fall also c:\equinox\eclipse:

Beenden Sie danach den Dialog mit OK, um die getroffenen Einstellungen zu übernehmen.

Schritt 5: Installation der Codebeispiele

Die Beispiele zu diesem Buch sind unter http://www.osgibook.org/examples verfügbar. Um Ihnen das Arbeiten mit den Beispielen so komfortabel wie möglich zu machen, haben wir uns entschieden, Ihnen diese mithilfe des Eclipse Samples Manager bereitzustellen.
Der Eclipse Samples Manager ist ein Eclipse Plug-in, das ursprünglich von Jeff McAffer und Jean-Michel Lemieux für das (sehr empfehlenswerte) Buch »Eclipse Rich Client Platform« entwickelt wurde und das die Verwaltung und Bereitstellung von Codebeispielen in Eclipse in Form von Plug-ins ermöglicht. Er ist als Open-Source-Projekt auf Sourceforge unter der URL http://sourceforge.net/projects/samplings/ verfügbar und kann für die Bereitstellung eigener Codebeispiele genutzt werden.
Um den Eclipse Samples Manager für dieses Buch mit allen Codebeispielen zu installieren, verwenden Sie den Update-Manager von Eclipse. Öffnen Sie dazu den Update/Install-Dialog unter Help -> Software Updates -> Find and install.... Innerhalb des Dialogs wählen Sie Search for new features to install... und wechseln dann zur nächsten Dialogseite. Über die Schaltfläche New Remote Site... öffnen Sie einen Unterdialog, in den Sie im Feld URL die Adresse unserer Update Site (http://www.osgibook.org/examples) eintragen:

Wenn Sie den Update/Install-Dialog beenden, bekommen Sie das Feature org.osgibook.examples im Search Results-Dialog zur Auswahl angezeigt. Wählen Sie dieses Feature aus und beenden Sie den Dialog, um das Feature zu installieren. Nach Abschluss der Installation müssen Sie die Eclipse IDE neu starten.

Schritt 6: Arbeiten mit dem Eclipse Samples Manager

Das Feature stellt eine View mit dem Namen »OSGi Book Examples« bereit. Diese View können Sie nach erfolgreicher Installation unter Window -> Show view -> Other... und dann unter Other -> OSGi Book Examples auswählen. Die View enthält Einträge für jeden Abschnitt dieses Buches, in dem Codebeispiele vorgestellt und behandelt werden. Bitte beachten Sie, dass die Codebeispiele immer den Stand eines Beispiels am Ende eines Abschnitts darstellen.
Um ein Codebeispiel für einen Abschnitt zu installieren, wählen Sie den entsprechenden Abschnitt aus der Liste des Examples Views und aktivieren dann Import in dessen Fensterleiste:

Die Beispiele des ausgewählten Abschnitts werden in den Workspace importiert. Bitte beachten Sie, dass ggf. Codebeispiele, die Sie in einem früheren Arbeitsschritt in den Workspace importiert haben, überschrieben werden, wenn Sie Codebeispiele für einen anderen Abschnitt installieren.

Bei aufeinander aufbauenden Codebeispielen ist es sinnvoll, unterschiedliche Stände des Beispiels miteinander zu vergleichen. So sehen Sie unmittelbar, welche Änderungen an einem Beispiel vorgenommen wurden. Um einen Vergleich eines Codebeispiels mit einem bereits in den Workspace importierten Codebeispiel durchzuführen, wählen Sie ein Codebeispiel aus der Liste im OSGi Book Examples View und aktivieren dann Compare with Workspace in der Fensterleiste des Views.
Die Differenzen der beiden Versionen werden Ihnen in einem neuen View angezeigt.