Guru – Framework-Integration

Seam 3

Es überrascht nicht, dass zum momentanen Zeitpunkt eine Vielzahl an Erweiterungen für CDI im Umfeld der CDI-Container-Implementierungen entstehen. So wie bereits Weld, die Referenzimplementierung des JSR-299, unter dem Dach von Red Hat entstanden ist, entsteht im Rahmen von Seam 3 eine beachtliche Anzahl an Modulen (Portable Extensions) und Tools, die den bestehenden Funktionsumfangs der Java EE 6 erweitern und Integrationen mit weiteren Technologien zur Verfügung stellen. Seam 3 ist letztendlich die natürliche Weiterentwicklung von Seam 2, dessen Konzepte im Rahmen des JSR-299 in CDI mit eingeflossen sind.

Tabelle 3: Überblick der Seam-3-Module

Modul Beschreibung

Persistence Module

Das Persistence Module bietet Abstraktionen für Persistenz mittels JDBC, JPA, Hibernate, NoSQL und JDO. Des Weiteren ermöglicht das Modul Transaktionen und Persistenz auch für Nicht-EJBs in Java-SE-Umgebungen oder Servlet-Containern.

Security Module

Das Security Module bietet verschiedene Services zur Authentifizierung und Authorisierung für CDI Beans an.

Validation Module

Das Validation Module integriert den Hibernate Validator. Das Modul ermöglicht die Injizierung von diversen Validatoren und die automatische Validierung von Methoden-Parametern oder Rückgabewerten.

Catch Module

Das Catch Module bietet eine Infrastruktur zur Vereinheitlichung des Exception Handling auf der Basis von CDI Events.

Cron Module

Das Cron Module bietet Scheduling und Mechanismen zum asynchronen Aufrufen von CDI Beans an.

.

 

Die vollständige Liste der Seam-3 Module ist unter http://seamframework.org/Seam3 zu finden [5].

Fazit

Mit dieser Artikelserie hoffen wir Ihnen einen guten Einblick in CDI gegeben und den ein oder anderen dafür begeistert zu haben , CDI für das nächste Projekt zu evaluieren. Uns hat das elegante und typsichere Programmiermodell sowie das Service Provider Interface von CDI überzeugt. Bei der Spezifikation von CDI wurde von Anfang an ein hohes Augenmerk auf Erweiterbarkeit und Integrierbarkeit gelegt. Dies kommt nun Java EE mit der Version 6 zugute, um mit anderen Frameworks wie Spring ernsthaft konkurrieren zu können.

Um die CDI-Spezifikation herum entsteht ein rasant wachsendes Ökosystem an Projekten, die alle auf der SPI aufbauen. Da es sich hier um eine neue Technologie handelt, verwundert es nicht, dass noch nicht alle Projekte einen hohen Reifegrad besitzen. Auch im Tooling-Bereich entstehen die ersten Projekte wie etwa das Testing Framework Arquillian, welches Integrationstests für CDI im Container bietet.

Es wird sich in Zukunft zeigen, welche Rolle CDI und das wachsende Ökosystem am Markt spielen können. Die Weiterentwicklung der Spezifikation wurde Ende April offiziell im JSR-346 (Contexts and Dependency Injection for Java EE 1.1) mit nur einer Enthaltung abgesegnet [6].

Daniel Arndt arbeitet für die M-net Telekommunikations GmbH als Senior Software-Entwickler und Software-Architekt. Er beschäftigt sich seit zehn Jahren vorrangig mit dem Entwurf und der Realisierung von Java-Enterprise-Applikationen.

Marcel Birkner studierte an der Hochschule Bonn-Rhein-Sieg und der York University in Toronto mit dem Schwerpunkt in Software Architektur und Design. Er arbeitet für die M-net Telekommunikations GmbH als Software Entwickler und beschäftigt sich mit der Einführung von Java EE 6 für Teile der IT-Landschaft.

Kommentare

Schreibe einen Kommentar

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