OSGi für Praktiker - Prinzipien, Werkzeuge und praktische Anleitungen auf dem Weg zur `kleinen SOA`

Bernd Weber

OSGi für Praktiker

Prinzipien, Werkzeuge und praktische Anleitungen auf dem Weg zur `kleinen SOA`

2010

274 Seiten

Format: PDF, Online Lesen

E-Book: €  31,99

E-Book kaufen

E-Book kaufen

ISBN: 9783446424371

 

Kapitel 4 GateKeeper – OSGi-Projekt aufsetzen (S. 67-68)

In diesem Kapitel werden die Grundlagen für die Einrichtung von OSGi-Projekten vermittelt. Das Resultat dieses Kapitels ist ein Gesamtprojekt namens GossipMonger sowie ein darin enthaltenes Bundle, welches als OSGi EventHandler auf das Taktsignal des JobTimers hört und zum Anlass nimmt, in einem Verzeichnis nach Dateien zu sehen. Sind solche vorhanden, gibt es eine entsprechende Meldung aus. Dieses Pförtner-Bundle soll auf den Namen „GateKeeper“ hören.

Alle Bundles sollen automatisch per Maven erstellt und in einer Laufzeitumgebung gestartet werden. Zunächst wird ein Maven Super-POM erstellt, um dieses und die noch kommenden GossipMonger-Module vernünftig verwalten zu können. Das JobTimer- Bundle wird als Abhängigkeit importiert, um anschließend mit PAX Provision einen sehr bequemen Weg zur Bestückung der OSGi-Plattform mit allen notwendigen Bundles gehen zu können. Das neue GossipMonger-Modul namens Gate- Keeper wird per pax-create-bundle generiert und als Maven-Projekt in Eclipse importiert. Schließlich wird der GateKeeper als EventHandler implementiert, am Framework registriert und mit PAX Provision samt der übrigen beteiligten Bundles gestartet.

4.1 Voraussetzungen

Kapitel 3 hat gezeigt, dass einige Eigenschaften und auch manches Verhalten des JobTimer-Teilprojekts für andere Teile des GossipMonger-Projekts nützlich sein dürften. Zudem ist der Automatisierungsgrad des Erstellungsprozesses noch verbesserungsfähig, vor allem im Hinblick auf das eigentliche Ziel der automatisierten Bundle-Erstellung und dessen Installation in das lokale Maven-Repository. Die manuelle Erweiterung der JobTimer JAR-Datei um OSGi-Header mittels des bnd-Werkzeugs sollte folglich in den Maven-Erstellungslauf integriert werden.

4.1.1 PAX-Werkzeuge

Diese Aufgaben werden gelöst durch die Verwendung des maven-bundle-plugin von Apache Felix1, welches das bnd-Werkzeug zur Ergänzung von JARs um OSGi-Header nutzt, und durch die Generalisierung der Standardvorgaben für die Projektmodule in einem GossipMonger Master POM. Für dieses und die weiteren Module des GossipMonger-Projekts werden Teile des PAX-Werkzeugkastens verwendet, insbesondere PAX Construct2 zum Generieren und Einbinden von Bundles sowie das ebenfalls darin befindliche PAX Provision zur Bestückung der OSGi-Plattform. Die PAX-Werkzeuge werden von der OPS4JCommunity3 zur Verfügung gestellt, die auf den etwas sperrigen Namen „Open Participation Software for Java“ hört und sich nicht nur die Bereitstellung offener und freier Software auf die Fahnen geschrieben hat, sondern auch das Mitarbeiten daran ebenso offen nach dem Vorbild der Wikipedia gestalten möchte.

 

© 2009-2024 ciando GmbH