Teil 1: Grundlagen und Neuigkeiten

Ein OSGi Container wird erwachsen


Diese Artikelserie beleuchtet die nächste Generation von Apache Karaf, die gerade veröffentlichte Version 3.0. Seit den Vorgängern 2.2.x und 2.3.x hat sich einiges getan, und so wartet das 3.0-Release mit einigen Neuerungen auf.

Zuerst gehen wir nochmal zurück auf Los und schauen uns das Umfeld an. Was ist Apache Karaf? Ganz einfach: ein Container für OSGi. Hört sich im ersten Augenblick nicht wirklich spektakulär an. Die Besonderheiten liegen im Detail. Apache Karaf lässt sich am einfachsten mit einem Tomcat bzw. dessen Aufgaben vergleichen. Tomcat ist ein Container für Webapplikationen, Karaf das Pendant für OSGi, d. h. die infrastrukturellen Voraussetzungen, die notwendig sind, um eine OSGi-Anwendung betreiben zu können, sind bereits gegeben. Eine dieser Voraussetzungen kann zum Beispiel das Logging sein: Wie kann meine Anwendung in diesem Container loggen und wie einfach ist es für mich als Benutzer, dieses Loggen zu beeinflussen?

In diesem Falle verwendet Apache Karaf das OPS4j.pax.logging-Framework. Es bietet eine einheitliche Logging-Schnittstelle zu vielen Logging-APIs (log4j, slf4j oder auch juli logging). Alle diese Logging-APIs werden unterstützt und landen nachher konsistent in einem Logging Appender. In diesem Fall wird intern auf Log4j (in Version 1) gesetzt.

Soweit die Einschätzung, wie Apache Karaf mit anderen Containern zu vergleichen ist. Alternativ gibt es im OSGi-Umfeld Eclipse Virgo als reinen OSGi Container, Oracles GlassFish als Java-EE-Server basierend auf Felix mit OSGi-Fähigkeiten und IBM WebSphere, ebenfalls ein Java-EE-Server mit OSGi-Fähigkeiten.

Artikelserie

Teil 1: Grundlagen und Neuigkeiten

Teil 2: Aufbau einer JPA-Anwendung

Teil 3: Webvisualisierung im Zusammenspiel mit Pax Web

Vorstellung von Karaf

Im Folgenden werden die wichtigsten Komponenten des Karaf-Servers beleuchtet und in diesem Zusammenhang die Besonderheiten von Karaf 3.0 herausgestellt.

nierbeck_1.tif_fmt1.jpgAbb. 1: Karaf-Modulübersicht

Das Fundament von Karaf bildet das OSGi Framework. Dabei bleibt es dem Nutzer überlassen, ob er lieber auf Apache Felix (Default) oder Eclipse Equinox setzt. Aufbauend auf dieser Basis bietet Karaf ein einheitliches Logging, das an einer Stelle konfiguriert wird. Karaf hat die GoGo Shell des Felix-Frameworks im Einsatz und erweitert diese um einige weitere Kommandos, die bei der Diagnose von Problemen äußerst hilfreich sind.

Deployments

Karaf bietet eine Vielzahl von unterschiedlichen Deployments an, zum Beispiel die Installation von Bundles d...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang