Neues aus der Java-Welt: JavaServer Faces 2.3

Sprachen  –  1 Kommentare

Im Rahmen der Spezifikation für Java EE 8 wird auch JSF weiterentwickelt. Die kommende Version 2.3 bringt einige wichtige Features für JSF-Entwickler. Während Oracle das Erscheinungsdatum von Java EE 8 auf das erste Halbjahr 2017 verschoben hat, sind in den aktuellen Builds des JSF-2.3-Zweigs bereits viele der geplanten Neuerungen enthalten.

Derzeit erscheint es angesagt zu sein, eine Webapplikation mit einem clientseitigen Framework wie AngularJS zu erstellen. Mehrere solcher Frameworks buhlen um die Gunst der Programmierer, mit wechselnden Präferenzen. So schön solche Frameworks auch sind, so viel Disziplin erfordern sie von den Entwicklern. Denn die clientseitige Programmierung allein reicht nicht aus, vielmehr sind alle Eingaben zusätzlich serverseitig zu validieren, um eine ausreichende Sicherheit gegen diverse Angriffe zu erlangen.

Neues aus der Java-Welt

Für 2017 sind mit Java EE 8 und Java 9 neue Versionen der Programmierplattform angekündigt. Eine lose Folge von Artikeln zu den wichtigsten Neuerungen wird auf heise Developer Einblicke in die nahe Java-Zukunft geben.

Hier liegt ein Vorteil der serverseitigen Frameworks: Sicherheitsaspekte sind automatisch dort umgesetzt, wo sie gebraucht und können deshalb nicht so schnell vergessen werden – ein Grund, warum sich sicherheitsbewusste Entwickler nach wie vor für ein serverseitiges Framework entscheiden. Und so sind die JavaServer Faces für viele Entwickler immer noch die erste Wahl. Als Frontend-Technik von Java EE findet JSF seine stetige Weiterentwicklung. Mit der Java Enterprise Edition 8 im nächsten Jahr wird Version 2.3 erwartet. Diese befindet sich derzeit in der "Early Draft Review"-Phase (EDR). Neben der Spezifikation ist eine Beschreibung der API im Javadoc-Format verfügbar.

JSF wird im Rahmen der sogenannten Java Specification Requests (JSR) entwickelt. Jeden JSR betreut eine Expertengruppe (EG); jedoch können alle Interessierten ihre Ideen und Vorschläge einbringen. Die Version 2.3 läuft als JSR 372. Sobald die Spezifikation in einer Vorabversion fertiggestellt ist, veröffentlicht das zuständige Komitee sie als EDR. In diesem Status ist sie öffentlich zugänglich, während die Spezifikation innerhalb der EG unter Berücksichtigung von Rückmeldungen voranschreitet. Bei Bedarf kommt es zu weiteren EDRs. Vor Fertigstellung von Java EE 8 gibt es dann den sogenannten Proposed Final Draft und schließlich das finale Release,

Im Fall von JSF werden neue Features nicht nur spezifiziert, sondern in weiten Teilen auch gleich im Rahmen der Referenzimplementierung umgesetzt. Sie steht der Community derzeit in Form einer vierten Meilenstein-Version zur Verfügung. Um sie beispielsweise mit GlassFish 4 nutzen zu können, ist die Datei javax.faces-2.3.0-m04.jar herunterzuladen. Umbenannt in javax.faxes.jar ersetzt sie die gleichnamige Datei im Verzeichnis <GlassFishHome>/glassfish/modules.

Um JSF 2.3 verwenden zu können, müssen Entwickler bei Maven-Projekten einfach eine Abhängigkeit in die pom.xml eintragen:

<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.faces</artifactId>
<version>2.3.0-m04</version>
<scope>provided</scope>
</dependency>

Der Scope wird (im Fall von GlassFish) auf "provided" gesetzt, da die Bibliothek ja bereits als Servermodul vorhanden ist.

Wer mehr an der Entwicklung teilhaben möchte, kann sich den tagesaktuellen Sourcecode vom
Git-Repository (git://java.net/mojarra~git) herunterladen. Der Verfasser dieses Artikels zeigt darüber hinaus in seinem Blog, wie sich der JSF-Code kompilieren lässt.