SpringSource Application Platform
Wir haben die neue
SpringSource Application Platform angekündigt. Dies ist ein enormer Schritt, da er uns entgültig im Plattform-Markt etabliert, den wir bereits durch den Kauf von Covalent besetzt haben, die ja verschiedene Apache-Projekte wie HTTPD und Tomcat betreuen.
Eigentlich war dies absehbar - wer
Rod's Keynote auf der JAX verfolgt hat, konnte eigentlich ablesen, dass wir da etwas vorhaben - immerhin hat er davon gesprochen, dass sich durch OSGi und Java EE 6 wesentliche Möglichkeiten eröffnen, um sich im Enterprise-Java-Bereich zu etablieren. Nachdem Java EE vor fast 10 Jahren aus der Taufe gehoben worden ist, sind im wesentlichen nur neue Features hinzugekommen - mit Java EE 6 aber werden Profiles definiert, die jeweils einen reduzierten Funktionsumfang enthalten. Dadurch wird völlig neu definiert, was Java EE überhaupt ist. Und zudem werden moderne Java-Enterprise-Lösungen neuerdings auf Basis von OSGi implementiert - im Gegensatz zum Beispiel zu den vorher gebräuchlichen Mikro-Kernel-Lösungen. Genau an dieser Stelle eröffnen sich neue Möglichkeiten.
Was ist also AP?
Es ist eine Application Platform, die es ermöglicht, auf OSGi basierende Enterprise-Anwendungen zu bauen. Mit dieser Plattform ist es nun möglich, Anwendungen in OSGi-Bundles aufzuteilen, die dann individuell geupdatet werden können (ohne die Anwendung anzuhalten) und es außerdem ermöglichen, Anwendungen besser zu modularisieren. Diesem Modell wird im Moment viel Aufmerksamkeit geschenkt, aber es ist nicht einfach, damit tatsächlich produktiv zu entwickeln. Class Loading in OSGi ist ein Herausforderung und auch sonst ist einige Pionier-Arbeit zu leisten.
Daher haben wir ein eigenes Repository gebaut, dass mehr als 300 Libraries als OSGi-Bundles enthält - darunter auch weniger triviale Fälle wie Hibernate, bei dem man bzgl. des Class-Loading aufpassen muss, das bei OSGi ja ein klassisches Problem ist. Dieses Repository ist auch von Maven und Ivy aus verwendbar. Der Server für das Repository läuft übrigens mit AP. Es gibt auch einige Open Source Eclipse Plug Ins, mit denen die Entwicklung ebenfalls vereinfacht wird.
Innerhalb der Plattform arbeitet ein Tomcat als OSGi-Bundle. Dieser kann dann Anfragen über HTTP beantworten. Außerdem kann man in die Plattform auch einfache WAR-Files deployen. Man kann dann später diese WAR-Files mit Referenzen auf OSGi-Bundles ausstatten - oder das PAR-Deployment-Format nutzen. Dieses Format enthäält mehrere OSGi-Bundles, die zu einer Anwendung gehören. Ein solches Format fehlt bisher in OSGi.
Dank Spring ist das Programmiermodell wie gewohnt: Einfach Spring, es gibt keine Abhängigkeiten zu AP im Code.
Auch für den Betrieb hat AP einige Vorteile: Es gibt Log-Verzeichnisse pro Anwendung, in die auch System.out geschrieben wird. Bei einem Problem wird ein umfangreicher Dump geschrieben, der alle relevaten Informationen enthält usw.
Das ganze ist Open Source nach GPL. Dadurch kann es jeder End-User ausprobieren und verwenden. Wer es allerdings als Teil einer eigenen Lösungen verkaufen will, muss Lizenzen bei uns kaufen. Außerdem bieten wir im Rahmen solcher Lizenzen auch Support an, so dass man die Anwendungen auch sicher betreiben kann.
Also, einfach runterladen und ausprobieren!
Labels: OSGi, Spring, SpringSource Application Platform