© Excellent backgrounds/Shutterstock.com
Java Magazin
Platform as a Service für OSGi-Anwendungen

Modular? Na klar!

Das Eclipse-Projekt Gyrex verspricht eine gute Integration von Eclipse-Runtime-(RT-)Projekten wie Equinox, Jetty und p2, um mithilfe etablierter Technologien wie Apache ZooKeeper eine Plattform für die eigene OSGi Cloud auf die Beine zu stellen. Im Folgenden wird das Projekt näher vorgestellt und gezeigt, wie einfach sich OSGi-Anwendungen damit entwickeln lassen.

Gunnar Wagenknecht, Andreas Mihm


Vier Jahre reicht die Quellcodehistorie des Eclipse-Gyrex-Projekts schon zurück [1]. Haupt-Contributor ist die Firma AGETO Service GmbH [2], die das Projekt intensiv als Grundlage für eigene, OSGi-basierte Serveranwendungen einsetzt. So ist denn auch in der Projektbeschreibung zu lesen, dass es sich bei Gyrex (eine Ableitung vom englischen Wort gyre [dʒaɪə], „Wirbel“ [3]) um ein Projekt handelt, das es ermöglicht, dynamische und erweiterbare Equinox-basierte Serverlösungen zu erstellen. Das 1.1-Release erschien im Sommer 2012, und im März 2013 wird die Version 1.2 erwartet, die wir in diesem Artikel genau unter die Lupe nehmen wollen.

In der OSGi-Welt werden Anwendungen modular als Komponenten entwickelt, die zur Laufzeit ebenfalls modular ausgerollt und betrieben werden. Diese Komponenten nennt man OSGi Bundles. Jedes Bundle definiert Schnittstellen, über die andere Bundles auf Funktionen zugreifen können. Zeitgleich werden so auch Abhängigkeiten festgelegt, weil jedes Bundle genau deklarieren muss, welche Schnittstellen es benutzen will. Eine gute Einführung in OSGi bietet das Buch „Die OSGi Service Platform“ [4].

Eclipse Gyrex zielt vorranging auf Serveranwendungen ab. Darunter sind sicherlich der größte Anteil Webanwendungen. Aber auch andere Arten von Serveranwendungen (z. B. ein Socket-Server oder ein Batch-Server) können dem Bereich zugeordnet werden. Im Kern definieren sich die Anwendungen darüber, dass sie aus OSGi Bundles bestehen. Diese werden in einer OSGi Runtime betrieben. Equinox ist so eine OSGi Runtime, die im Übrigen auch die Eclipse IDE antreibt. Sie hat aber keinerlei Abhängigkeiten zu Desktopanwendungen und eignet sich auch wunderbar für Serveranwendungen. Im Serverbereich kommen häufig weitere Anforderungen hinzu. So müssen Server skalieren und einen Cluster bilden können. Genau dort setzt das Eclipse-Gyrex-Projekt an.

Die Architektur von Gyrex

Das Eclipse-Gyrex-Projekt besteht aus einer Reihe von OSGi Bundles, die sowohl als fertiges Serverprodukt als auch als Target Components für die direkte Einbindung in die Eclipse-Entwicklung angeboten werden [5]. Die verschiedenen Aufgaben sind in einzelne Komponenten aufgeteilt (Abb. 1).

Abb. 1: Die Komponenten von Gyrex im Überblick

Allen gemeinsam und Grundlage von Gyrex ist das Equinox-OSGi-Framework. Darauf aufbauend lassen sich die Komponenten vier Themenbereichen zuordnen:

Cloud-DiensteUnterstützung für Monitoring und DebuggingMandantenfähigkeitServeradministration

Cloud-Dienste

Die Cloud-D...

Java Magazin
Platform as a Service für OSGi-Anwendungen

Modular? Na klar!

Das Eclipse-Projekt Gyrex verspricht eine gute Integration von Eclipse-Runtime-(RT-)Projekten wie Equinox, Jetty und p2, um mithilfe etablierter Technologien wie Apache ZooKeeper eine Plattform für die eigene OSGi Cloud auf die Beine zu stellen. Im Folgenden wird das Projekt näher vorgestellt und gezeigt, wie einfach sich OSGi-Anwendungen damit entwickeln lassen.

Gunnar Wagenknecht, Andreas Mihm


Vier Jahre reicht die Quellcodehistorie des Eclipse-Gyrex-Projekts schon zurück [1]. Haupt-Contributor ist die Firma AGETO Service GmbH [2], die das Projekt intensiv als Grundlage für eigene, OSGi-basierte Serveranwendungen einsetzt. So ist denn auch in der Projektbeschreibung zu lesen, dass es sich bei Gyrex (eine Ableitung vom englischen Wort gyre [dʒaɪə], „Wirbel“ [3]) um ein Projekt handelt, das es ermöglicht, dynamische und erweiterbare Equinox-basierte Serverlösungen zu erstellen. Das 1.1-Release erschien im Sommer 2012, und im März 2013 wird die Version 1.2 erwartet, die wir in diesem Artikel genau unter die Lupe nehmen wollen.

In der OSGi-Welt werden Anwendungen modular als Komponenten entwickelt, die zur Laufzeit ebenfalls modular ausgerollt und betrieben werden. Diese Komponenten nennt man OSGi Bundles. Jedes Bundle definiert Schnittstellen, über die andere Bundles auf Funktionen zugreifen können. Zeitgleich werden so auch Abhängigkeiten festgelegt, weil jedes Bundle genau deklarieren muss, welche Schnittstellen es benutzen will. Eine gute Einführung in OSGi bietet das Buch „Die OSGi Service Platform“ [4].

Eclipse Gyrex zielt vorranging auf Serveranwendungen ab. Darunter sind sicherlich der größte Anteil Webanwendungen. Aber auch andere Arten von Serveranwendungen (z. B. ein Socket-Server oder ein Batch-Server) können dem Bereich zugeordnet werden. Im Kern definieren sich die Anwendungen darüber, dass sie aus OSGi Bundles bestehen. Diese werden in einer OSGi Runtime betrieben. Equinox ist so eine OSGi Runtime, die im Übrigen auch die Eclipse IDE antreibt. Sie hat aber keinerlei Abhängigkeiten zu Desktopanwendungen und eignet sich auch wunderbar für Serveranwendungen. Im Serverbereich kommen häufig weitere Anforderungen hinzu. So müssen Server skalieren und einen Cluster bilden können. Genau dort setzt das Eclipse-Gyrex-Projekt an.

Die Architektur von Gyrex

Das Eclipse-Gyrex-Projekt besteht aus einer Reihe von OSGi Bundles, die sowohl als fertiges Serverprodukt als auch als Target Components für die direkte Einbindung in die Eclipse-Entwicklung angeboten werden [5]. Die verschiedenen Aufgaben sind in einzelne Komponenten aufgeteilt (Abb. 1).

Abb. 1: Die Komponenten von Gyrex im Überblick

Allen gemeinsam und Grundlage von Gyrex ist das Equinox-OSGi-Framework. Darauf aufbauend lassen sich die Komponenten vier Themenbereichen zuordnen:

Cloud-DiensteUnterstützung für Monitoring und DebuggingMandantenfähigkeitServeradministration

Cloud-Dienste

Die Cloud-D...

Neugierig geworden?


    
Loading...

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