Remote Provisioning mit Eclipse RTP

Hintergrund

Aber wie funktioniert das? Die für das Remote Provisioning entwickelten Plug-ins verwenden im ersten Schritt den P2-Build-Prozess. Das heißt, die gleichen Funktionen, die verwendet werden, wenn man ein Eclipse-Feature lokal exportiert. Hierdurch wird der Deployment-Schritt uneingeschränkt für beliebige Eclipse-Features möglich. Im zweiten Schritt wird auf dem Zielsystem ein Service lokalisiert, der die Verwaltung von Paketen auf dem Remote-Server ermöglicht. Der so genannte HTTP Deployer ist während des Google Summer of Code 2011 entstanden und wird nun im Eclipse RTP Repository weiter entwickelt und gepflegt. Derzeit muss er für die Verwendung der Remote-Provisioning-Funktionalität noch manuell in der Ziel-Runtime installiert werden (Kasten: „Remote Provisioning einrichten“) – bis zum nächsten Release Train sollen RTP-Pakete mit vorinstalliertem HTTP Deployer zur Verfügung stehen. Der Service bietet eine XML-basierte Schnittstelle, mit dessen Hilfe das Remote-System ferngesteuert werden kann. Die XML-Schnittstelle ist im Eclipse Wiki [2] dokumentiert und kann auch unabhängig von der IDE-Integration verwendet werden, um zum Beispiel eigene Anwendungen zur Verwaltung von OSGi Runtimes zu schreiben. Die Kernfunktionalitäten des HTTP Deployer, die auch bei der IDE-Integration verwendet werden, sind der Upload von OSGi-Paketen sowie das Installieren, Starten und Updaten von Eclipse-Features auf dem Remote-System. Der Service bietet darüber hinaus Methoden an, um beispielsweise alle installierten Pakete auf dem Zielsystem auszulesen oder die bekannten P2 Repositories des Zielsystems zu verwalten.

Remote Provisioning einrichten

Derzeit müssen die für das Remote Provisioning verwendeten Komponenten noch manuell installiert werden. Spätestens zu Juno soll es RTP-Pakete geben, die diese Komponenten vorinstalliert haben. Um die Remote-Provisioning-Funktionalität nutzen zu können, sind folgende Schritte erforderlich. Details zu diesen Schritten sind unter [3] zu finden:

  • HTTP Deployer auf der gewünschten Remote-Instanz installieren
  • Run-Configuration-Pakete in eigene Eclipse IDE einbinden
Weitere Möglichkeiten

Eine weitere Möglichkeit zur Installation von Software in Eclipse RTP Runtimes ist eine sich derzeit in der Entwicklung befindliche Erweiterung der P2-Konsole. Ziel dieser im Eclipse RTP Repository verwalteten Kommandozeilenanwendung ist es, die Installation von neuen Komponenten durch das Aufgreifen von im Linux-Umfeld bekannten Installationsarten zu vereinfachen. Konkret wird die Anwendung dem Linux Tool „apt“ nachempfunden, welches bei diversen Debian-Derivaten im Standardumfang enthalten ist. Ein Befehl zur Installation des RAP-Frameworks könnte exemplarisch folgendermaßen aussehen: rt install rap. Die Aufgabe des RTP-Teams ist bei der Entwicklung die Gestaltung des Interfaces, da zur Ausführung der Installation P2 APIs verwendet werden. Ein offizielles Release des Installers ist für Eclipse Juno geplant.

Ausblick

Der Artikel hat mehrere Aspekte des Eclipse-RTP-Projekts behandelt. Hintergrund der beschriebenen Ansätze ist der Produktgedanke für EclipseRT: Eclipse ist als Name mittlerweile sehr bekannt, allerdings oftmals vorrangig über die IDE. Ein möglicher Grund, warum EclipseRT vergleichsweise selten mit dem Begriff „Eclipse“ assoziiert wird, sind fehlende Produkte. Die IDE ist in diversen Paketen auf eclipse.org verfügbar. Es gibt das Classic Package, Eclipse for Java EE Developer und Pakete für diverse Programmiersprachen. Im Vergleich dazu muss man sich beim Einsatz von EclipseRT-Projekten oftmals mühsam manuell mit dem Erstellen einer Runtime beschäftigen sowie Methoden finden und verstehen, um Software in diese zu installieren.

Vor diesem Hintergrund versucht Eclipse RTP ebenfalls Produkte für EclipseRT zu erstellen und dabei einheitliche Plattformen zu schaffen. Darüber hinaus werden Werkzeuge erstellt, die den Umgang mit EclipseRT vereinfachen und Einstiegshürden reduzieren sollen.

Obwohl sich Eclipse RTP derzeit noch in einer frühen Entwicklungsphase befindet und mit Indigo seinen ersten Release Train miterlebt hat, sind die ersten Ziele bereits erreicht. Die vorkonfigurierten Runtimes bieten eine gute Grundlage für die Ausführung von OSGi-basierten Anwendungen und verwenden hierbei stets neueste Komponenten. Das Tooling befindet sich derzeit in der Entwicklung und ist bereits in Teilen einsatzbereit. Aktuellste Informationen zum Projekt gibt es auf der Homepage www.eclipse.org/rtp sowie über die Mailingliste des Projekts (rtp-dev@eclipse.org).

Sebastian Schmidt ist Student an der Technischen Universität München mit Schwerpunkt im Bereich Softwareentwicklung. Nach seinem erfolgreichen Google-Summer-of-Code-2011-Projekt ist er Eclipse als Committer des Eclipse-RTP-Projekts treu geblieben.
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.