JavaServer Faces

aus Wikipedia, der freien Enzyklopädie

JavaServer Faces (kurz: JSF) ist ein Framework-Standard zur Entwicklung von Benutzeroberflächen für Webapplikationen. Basierend auf Servlets und JSP-Technologie, gehört JSF zu den Webtechnologien der Java Platform, Enterprise Edition (Java EE). Mit Hilfe von JSF kann der Entwickler auf einfache Art und Weise Komponenten für Benutzerschnittstellen in Webseiten einbinden und die Navigation definieren.

Inhaltsverzeichnis

[Bearbeiten] Komponenten

Der Programmierer entwickelt nicht die Ausgabeseite mit HTML, sondern setzt sie auf einem höheren Abstraktionsniveau aus Komponenten zusammen. Ähnlich wie bei der klassischen Anwendungsentwicklung kann sich der Entwickler stattdessen auf die eigentliche Anwendungslogik konzentrieren. Um die Anwendung besser zu strukturieren, wird strikt zwischen „Modell“, „Ausgabe“ und „Steuerung“ getrennt, wie es das Model-View-Controller-Konzept vorsieht.

Ein zentrales Konzept von JavaServer Faces ist der View. Dabei handelt es sich um eine Baumstruktur aus JSF-Komponenten. Eine solche Struktur kommt genau einmal pro Aufruf vor, bei Verwendung von JavaServer Pages (JSP) also einmal pro Seite. Der View wird am Anfang des JSF-Lebenszyklus aufgebaut, direkt nach Eintreffen der Anforderung vom Client. In der letzten Phase des Lebenszyklus werden die Komponenten des Views mit der Wurzel beginnend rekursiv aufgerufen, um die Anwort, beispielsweise eine HTML-Seite, zu erzeugen.

[Bearbeiten] Lebenszyklus

Die Spezifikation der JavaServer Faces definiert einen sogenannten Lebenszyklus, den eine JSF-Anwendung mit jedem Aufruf erneut durchläuft. Dieser Lebenszyklus ist in sechs Phasen (englisch Phases) aufgeteilt.

  1. Restore View („Sicht wiederherstellen“) wählt anhand der eingehenden Anforderung eine Sicht (View) aus und baut den dazu passenden Komponentenbaum auf.
  2. Apply Request Values („Anforderungsparameter anwenden“) extrahiert Parameter aus der Anforderung (üblicherweise ein HTTP-Post-Request) und weist sie den passenden JSF-Komponenten zu, beispielsweise Eingabefeldern.
  3. Process Validations („Validierung ausführen“) überprüft die Gültigkeit der zuvor ermittelten Eingaben. Dazu werden eigene Validator-Objekte verwendet, die den Komponenten in der View-Definition zugewiesen wurden.
  4. Update Model Values („Modell aktualisieren“) weist den Modellobjekten die zuvor ermittelten Werte zu.
  5. Invoke Application („Anwendung aufrufen“) ruft durch die Anwendung definierte Methoden auf, beispielsweise wenn ein Button betätigt wurde.
  6. Render Response („Antwort wiedergeben“) erzeugt schließlich die Antwort auf die ursprüngliche Anfrage, beispielsweise eine HTML-Seite. Hierzu werden sogenannte Renderer aufgerufen, die den View-Komponenten zugeordnet sind.

Treten Fehler auf, oder soll als Antwort beispielsweise eine HTML-Seite aufgerufen werden, die keine JSF-Komponenten enthält, so können einzelne Phasen übersprungen werden.

[Bearbeiten] Frameworks

Es ist möglich eine auf JSF basierende Webanwendung mit Ajax-Funktionalität zu erweitern, dazu existieren verschiedene Frameworks wie z.B.:

[Bearbeiten] Standardisierung

Die JSF-Spezifikation wurde im Rahmen des Java Community Process JSR 127 von einer Reihe bekannter Unternehmen entwickelt und am 27. Mai 2004 in der Version 1.1 verabschiedet. Am 11. Mai 2006 wurde die derzeit aktuelle Version 1.2 (JSR 252) veröffentlicht.

Neben der Referenzimplementierung von Sun existieren freie (z. B. Apache MyFaces) und kommerzielle Implementierungen des Standards. Verschiedene Unternehmen vermarkten standardkonforme Oberflächenkomponenten (z. B. Oracle ADF Faces) oder bieten grafische Entwicklungswerkzeuge an.

JavaServer Faces umfasst:

[Bearbeiten] Siehe auch

[Bearbeiten] Weblinks