EnterpriseTales: DeltaSpike geht im Apache Incubator an den Start

CDI: Volle Kraft voraus!

Vor fast einem Jahr, quasi als Kickoff der EnterpriseTales-Kolumne, haben wir die beiden Enterprise-Java-Frameworks Java EE und Spring gegenübergestellt [1]. Schon damals war klar, dass in Java EE viel Potenzial steckt. Allerdings sahen wir zum damaligen Zeitpunkt das Spring Framework in diesem „Vergleich“ noch in Führung liegen. Nicht zuletzt durch die zahlreichen Add-ons, wie z. B. für NoSQL-Datenbanken usw., hatte Spring aus unserer Sicht die Nase leicht vorn. Seitdem hat sich eine Menge im Java-EE-Umfeld getan. Fakt ist heute, dass die Leser des Java Magazins bzw. von JAXenter die Java-EE-Plattform bevorzugen [2].

Java EE hat in den vergangenen Monaten deutlich an Boden gewonnen. Die ehemals verbrannte Erde scheint vergessen. Java EE 5 und 6 sind erfolgreich in der Realität angekommen und machen Mitbewerbern wie Spring das Leben schwer. Was aber ist der Auslöser für den Erfolg und wieso tritt er erst jetzt – fünf Jahre nach dem Erscheinen von Java EE 5 – ein?

CDI: Ein wichtiger Bestandteil für Java EE und die Community

Der wachsende Erfolg von Java EE in den letzten Jahren hat viele Gründe:

  • Eine starke Vereinfachung der gesamten Plattform (z. B. EJB Lite)
  • Bereitstellung von optimal auf ihre Zielgruppen abgestimmten minimierten Profilen (viele Container bieten lediglich nur das Web Profile von Java EE an)
  • Einführung neuer und leistungsstarker Technologien (wie beispielsweise CDI)

Mit der Version 6 wurde CDI in die Java-EE-Plattform aufgenommen. Das führte zunächst, gerade auch aus dem Spring-Lager, zu nicht unerheblicher und sicherlich auch gerechtfertigter Kritik. Schon wieder hatte eine neue (und damit auch ungetestete) Technologie den „Sprung“ in den Java-EE-Standard geschafft.

CDI definiert ein kontextabhängiges Komponentenmodell und stellt ein typensicheres Dependency Injection Framework auf Basis des JSR-330 [3] bereit. Zusätzlich bietet CDI ein mächtiges SPI, das die Entwicklung von portablen CDI-Erweiterungen ermöglicht. Verschiedene Projekte wie beispielsweise Apache MyFaces CODI [4] oder JBoss Seam 3 [5], setzen an dieser Stelle an und liefern zahlreiche sinnvolle Erweiterungen, die von der Java-EE-Community mit Begeisterung angenommen wurden.

Letztendlich belegt eben dieser Erfolg, dass die Aufnahme von CDI – entgegen einiger negativer Erwartungen – der Java-EE-Plattform gut getan hat.

Apache DeltaSpike

Einziger Wermutstropfen der oben beschriebenen, CDI-basierten Projekte: Es existieren etliche Überschneidungen innerhalb der verschiedenen CDI Extension Frameworks und Libraries. Dies ist natürlich auch den zugehörigen Communitys nicht entgangen und hat zu einer bis dato wahrscheinlich einzigartigen Kooperation geführt: Apache DeltaSpike. Dieses brandneue Projekt [6] will eine Vielzahl von CDI-Erweiterungen für Java EE und – Achtung! – JavaSE bereitstellen. Das bescheidene Ziel ist die Erschaffung eines De-facto-Standards für CDI-basierte Erweiterungen, die von der Java-Community entwickelt und gepflegt werden. Doch wozu noch eine weitere Sammlung von CDI-Bausteinen?

DeltaSpike wurde als Gemeinschaftsprojekt von Apache und JBoss/Red Hat mit Unterstützung des CDISource-Projekts [7] gegründet, um die Entwicklung einer einheitlichen CDI-Sammlung voranzutreiben. In allen drei Projekten gibt es eine mehr oder weniger große Überschneidung der angebotenen Funktionalität. Statt dauerhaft in einer Art Konkurrenzverhältnis zu stehen, entschied man sich, gemeinsam an einer sehr leistungsstarken Bibliothek zu arbeiten, die einen Großteil der Java-Community anspricht. Die ersten Schritte von Apache DeltaSpike sind bereits getan, ein Git-Repository wurde angelegt und lädt zum aktiven Mitarbeiten ein:

git clone http://git-wip-us.apache.org/repos/asf/incubator-deltaspike.git ./myfolder.

Das erste Release des Projekts legt die Basis für spätere Bestandteile. Sämtlicher Code ist derzeit rein auf die Java-SE-Plattform ausgerichtet [8]. Nach und nach sollen dann die einzelnen Projekte in Apache DeltaSpike aufgehen. Langfristig wird man in zukünftigen DeltaSpike-Releases also verschiedene Komponenten finden, wie man sie aus JBoss Seam oder CODI kennt [9]. Dabei sollen bestehende Projekte nicht einfach nur übernommen, sondern optimal aufeinander ausgerichtet migriert werden.

Fazit

Innerhalb des Apache-DeltaSpike-Projekts arbeiten verschiedene Communitys an einer ganzheitlichen Softwarebibliothek für Java EE und Java SE. Diese durchaus positive Tatsache lässt hoffen, dass hier ein wirklich umfangreiches und leistungsfähiges Projekt entsteht. Langfristig wird DeltaSpike zu einem Apache-Toplevel-Projekt aufsteigen und so auch für Furore bei der Definition von zukünftigen Java-EE-Plattformen sorgen.

Interessant ist auch die Tatsache, dass der einzige Existenzgrund für DeltaSpike die Schaffung des CDI-Standards und seine Aufnahme in die Java-EE-6-Plattform darstellt. Ohne CDI gäbe es dieses „Cross-Community“-Projekt nicht. Wir wünschen ihm alles Gute für die Zukunft.

Lars Röwekamp ist Geschäftsführer der open knowledge GmbH und berät seit mehr als zehn Jahren Kunden in internationalen Projekten rund um das Thema Enterprise Computing (Twitter: @mobileLarson).

Matthias Weßendorf arbeitet für die Firma Kaazing. Dort beschäftigt er sich mit WebSocket, HTML5 und weiteren Themen rund um das Next Generation Web. Er bloggt regelmäßig auf http://matthiaswessendorf.wordpress.com (Twitter: @mwessendorf).

Kommentare

Schreibe einen Kommentar

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