CDI 2.0: Erste Schritte zu mehr Modularität

Antoine Sabot-Durand, einer der beiden Verantwortlichen fĂĽr die CDI-2.0-Spezifikation, verkĂĽndete vor wenigen Tagen, dass er mit der Aufteilung der Spezifikation begonnen habe. Aber warum und wie soll die Spezifikation ĂĽberhaupt aufgeteilt werden?

vorlesen Druckansicht
Lesezeit: 2 Min.
Von
  • Thorben Janssen

Antoine Sabot-Durand, einer der beiden Verantwortlichen fĂĽr die CDI-2.0-Spezifikation, verkĂĽndete vor wenigen Tagen, dass er mit der Aufteilung der Spezifikation begonnen habe. Aber warum und wie soll die Spezifikation ĂĽberhaupt aufgeteilt werden?

Modularisierung ist eines der großen Themen, die im Rahmen von Contexts and Dependency Injection for Java 2.0 (JSR 365) bearbeitet werden sollen (Informationen zu weiteren Themen finden sich auf dem CDI-Blog). Die Modularisierung soll anderen Spezifikationen und Frameworks die Möglichkeit geben, nur die für ihre Anforderungen benötigten Teile der Spezifikation zu verwenden. Dadurch soll der Einsatz in vielen Fällen vereinfacht und somit die Verbreitung von CDI verbessert werden.

Dazu wird die Spezifikation voraussichtlich in die Teile CDI full mit Java-EE-Unterstützung, CDI full und CDI light unterteilt werden. CDI full mit Java-EE-Integration soll dabei den vollständigen Funktionsumfang der Spezifikation enthalten. Die Teile CDI full und CDI light hingegen sollen keine Abhängigkeiten auf die Java-EE-Spezifikation aufweisen und somit eine einfache Verwendung im Java-SE-Umfeld ermöglichen. Des Weiteren sollen Kontexte und AOP kein Bestandteil von CDI light werden. Die Diskussionen zur Modularisierung sind allerdings noch nicht abgeschlossen. Änderungen an der geplanten Unterteilung lassen sich also nicht ausschließen.

Um die Modularisierung voran zu bringen, hat Sabot-Durand begonnen, die Spezifikation in einen Java-SE- und einen Java-EE-Bereich zu unterteilen und das aktuelle Zwischenergebnis veröffentlicht. Der Java-EE-Part ist dabei bis auf einige geänderte Formulierungen unverändert geblieben. Aus dem neu entstandenen Java-SE-Teil wurden alle Referenzen auf die EJB-Spezifikation entfernt. Die Referenzen auf andere Spezifikation wie Expression Language, JSF und Servlet sind derzeit allerdings noch enthalten.

Um die Änderungen zu prüfen und die grundsätzliche Unterteilung zu beschließen, hat Sabot-Durand seinen aktuellen Zwischenstand auf der Mailingliste der CDI Expert Group vorgestellt. Sobald die Diskussionen abgeschlossen sind, sollen die nächsten Schritte zur Entfernung der restlichen Java-EE-Referenzen aus dem neu geschaffenen Java-SE-Teil geplant und durchgeführt werden. Das wird sicherlich noch einige Zeit in Anspruch nehmen. Sobald es größere Fortschritte gibt, werde ich hier wieder darüber berichten. ()