Spring Code Camp
Zusammen mit der Entwickler Akademie bieten wir unter
http://entwickler-akademie.de/codecamps/java-cc-spring ein Spring Code Camp an.
Am Donnerstag stehen dort Themen wie Spring ROO für die produktive Entwicklung mit Spring, Spring Integration für EAI-Anwendungen und Sping-Batch für die Implementierung von Batch-Anwendungen auf dem Programm. Außerdem werden wir uns mit Spring Web Services für Contract First Web Services beschäftigen. An diesem Tag geht es also um einige fortgeschrittene Themen, die weiter Möglichkeiten für den Einsatz von Produkten aus dem Spring-Portfolio vorstellen.
Der Freitag steht ganz im Zeichen des dm Servers, der vor kurzem als Projekt bei der Eclipse Foundation eingereicht worden ist. Er vereinfacht die Entwicklung von Enterprise Java Anwendungen mit OSGi wesentlich.
Alle diese Einheiten werden jeweils von praktischen Beispielen begleitet, die man selber am Rechner nachvollziehen kann. Die Code Camps bieten also eine sehr gute, kompakte Einführung für verschiedene Spring Technologien, um schnell einen Überblick zu bekommen. Selbstverständlich bieten wir außerdem Trainings an:
http://springsource.de/training .
Labels: dm Server, OSGi, Spring Batch, Spring Code Camp, Spring Integration, Spring Web Services
Bundlor: Ein neuer Ansatz für OSGi-Builds
Im Moment ist es nicht leicht, eine OSGi-Anwendung zu bauen - es gibt zwar einige Ansätze, aber keiner macht richtig glücklich. Unter
http://blog.springsource.com/2009/03/18/our-plans-for-building-osgi-applications/ stellt mein Kollege Rob Harrop das Problem dar und er stellt auch seine Ideen zu Lösung vor - Feedback ist ausdrücklich erwünscht. Das Feedback soll dann in das Bundor-Tool einfließen.
Labels: Bundlor, ivy, Maven, OSGi
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