SpringSource Application Platform - JAXenter
Ein erster Testlauf

SpringSource Application Platform

Markus Stäuble

Die Ankündigung von Rod Johnson zur SpringSource Application Platform (AP) hat einiges an Echo bereits erzeugt (wir berichteten) und viele Entwickler sind sicherlich gespannt wie sich die Plattform aus technischer Sicht anfühlt. Die Vision von Rod Johnson und SpringSource ist deutlich geworden, in diesem Kurzbericht soll etwas von der technischen Seite der Plattform aufgezeigt werden.

Die Installation

Aktuell steht die SpringSource AP in der Version Beta 1 zur Verfügung. Um die Version ausprobieren zu können, muss man sich zuvor zum SpringSource Application Platform Beta Program anmelden. Nach der Anmeldung müssen nachfolgende Pakete heruntergeladen und installiert werden:

  • Application Platform (springsource-ap-1.0.0.beta1.zip)
  • Equinox (springsource-ap-el-1.0.0.beta1.zip)

Equinox wird vielen bereits durch Eclipse, als dessen OSGi Implementierung, bekannt sein. Die Installation ist dabei ein simples Entpacken der angebotenen Archive. Die Plattform präsentiert sich in Bezug auf die Verzeichnisstruktur wie in Abbildung 1.

Abb. 1: Verzeichnisstruktur der SpringSource AP nach dem Entpacken

Das Starten der Plattform geschieht dabei über die Startdatei im Verzeichnis bin (startup.bat oder startup.sh). Dieses Skript startet die Plattform und im Zuge dessen wird ein Tomcat (Port 8080 in der Standardeinstellung) hochgefahren. Nach dem Start steht eine Administrationskonsole (über /admin, Benutzer: admin und Passwort: springsource, kann in der Datei tomcat-user.xml im Verzeichnis servlet/conf geändert werden) zur Verfügung (Abbildung 2).

Abb. 2: Die Administrationskonsole

Die Konsole ist ähnlich der bereits vom Tomcat zur Verfügung gestellten Konsole, mit den bekannten Möglichkeiten zur Installation und zum Entfernen einer Anwendung.

Ein Klassiker steht schon bereit

Größere Frameworks im JEE-Bereich werden oft am Beispiel der PetClinic aufgezeigt. Für SpringSource AP steht auch diese Anwendung als Beispiel zur Verfügung. Hierfür muss zunächst von der Seite des bereits erwähnten SpringSource Application Platform Beta Program die Datei petclinic-1.0.0.RELEASE.zip heruntergeladen und entpackt werden. Die hauptsächliche Applikation wird dabei in einem PAR (Platform Archive) Archiv zur Verfügung gestellt. Solch ein Archiv ist eine Gruppe von mehreren OSGi-Bundles.

Das Beispiel ist nicht sofort lauffähig sondern es sind in der aktuellen Version noch einige manuelle Schritte notwendig um die Anwendung zum Laufen zu bekommen. Diese Schritte sollen kurz beschrieben werden, damit jeder Interessierte auch in die SpringSource AP eintauchen kann. Die Anwendung wird mit einer HSQLDB Datenbank ausgeliefert, diese muss nun zunächst auch mit Daten befüllt werden. Bevor dies funktioniert sollte als erstes das PAR Archiv über ANT erzeugt werden. Zwar wird diese mitgeliefert, es fehlen aber noch notwendige Bibliotheken. Diese werden beim Erzeugen des PAR Archives aber automatisch über Apache Ivy aus dem Internet heruntergeladen. Somit ist zunächst ein ant jar collect provided im Verzeichnis projects/par/org.springframework.petclinic.jdbc auszuführen. Die Ergebnisse liegen danach im Verzeichnis target. Das erzeugte PAR Archiv (Verzeichnis target/artifacts) nach pickup kopieren und die zusätzlichen Abhängigkeiten nach repository/bundles/usr (aus target/par-provided/bundles) kopieren. Nun kann die Datenbank (Verzeichnis db/hsqldb) gestartet werden. Der letzte Schritt ist jetzt noch das Befüllen der Datenbank mittels Apache ANT. Dies muss mit den Parametern –DuseHSQL=true und –Dplatform.home=PLATFORM_HOME (im Verzeichnis db) gestartet werden. Nachdem die Datenbank gefüllt ist kann nun die SpringSource AP hochgefahren werden und die Anwendung kann über petclinic aufgerufen werden und präsentiert sich wie in Abbildung 3.

Abb. 3: Startseite der laufenden Spring PetClinic Applikation

Das hier bereits eine große Demoapplikation zur Verfügung gestellt wird hat den Vorteil, dass  schon relativ früh mit der Plattform größere Tests gemacht werden können. Somit haben potenzielle Anwender der Plattform die Möglichkeit sich auch jetzt schon ein Bild davon zu machen.

Ein Ausblick

Rein technisch lag solch eine Plattform schon länger in der Luft. Denn OSGi und Spring passen schon sehr gut zusammen. Durch den Zukauf von Covalent war eigentlich auch klar das Tomcat als Webcontainer bevorzugt wird, da dieser aber auch weit verbreitet ist, muss dies nicht unbedingt ein Nachteil sein. Möglichkeiten zum Austausch dieses Containers werden aber sicher noch aufgezeigt und sind durch OSGi prinzipiell auch gegeben. Dieser Bericht hat nur etwas an der Oberfläche gekratzt und bei weitem nicht alle Möglichkeiten aufgezeigt. Aber insgesamt lässt sich doch schon sagen, dass die vorliegende Beta1 sich aus technischer Sicht schon sehr interessant anfühlt und auch Lust macht tiefer in die Plattform einzutauchen.

Markus Stäuble ist Senior Software Engineer bei namics (deutschland) GmbH, einem führenden IT- und Web-Dienstleister. Schwerpunkt in der täglichen Arbeit ist neben der  Projektleitung und dem Coaching die Architektur von Java EE-Anwendungen und deren Qualitätssicherung. Darüber hinaus ist er freier Autor von Fachartikeln.
Geschrieben von
Markus Stäuble
Kommentare

Schreibe einen Kommentar

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