14mohamed sabbar, medieninformatik - fachseminar 14/12/09 java server faces (jsf) „jsf“ ist mehr...
TRANSCRIPT
/14Mohamed Sabbar, Medieninformatik - Fachseminar14/12/09
Java Server Faces (JSF) „JSF“ ist mehr als nur eine Insel
Fachseminar WS 09/10 Mohamed Sabbar
/14
Gliederung Die Geschichte zur Entstehung von JSF JSF – Eine Einführung Architektur von Java Server Faces JSF - Ablauf eines Request Komponentenmodell für User Inferfaces Fazit und Aussichten
3 /14
Die Geschichte...
August 1991 (HTML) über HTTP einfache Auszeichnungssprache für Textausgabe
Ein paar Jahre Später JavaScript u. diverse andere Client-Technologien
Zur selben Zeit ähnliche Revolution von Serverseitige Technologien (Perl, PHP, Java u.v.m.)
JAVA Technologien
4 /14
Java Technolgien Die Sprache Java hat sich im
Hardwarebereich oder Applet-Sprache in der Breite nie durchgesetzt
Aber dafür in der Serverseitige Sprache zur Entwicklung von Web Anwendung
Servlet-Technologie 1997 Java Server Pages (JSP)
4
5 /14
Servlets Servlet Technologie (1997) Dynamische Generierung von HTML
Seiten Nachteile: Unübersichtlich, schwer
Verständlich
5
6 /14
Java Server Pages (JSP) Skripting Elemente
(Scriptlets, Ausdrücke, Deklaration, Direktiven)
Mischung JSP/HTML-Tags mit Java Code
6
7 /14
Motivation Erstellen von Webanwendungen Ziel: Trennung zwischen Darstellung
und Funktionalität UI-Framework für interaktive Web-
Anwendungen Konfigurierter Ablaufsteuerung Einfache Datenbindung zwischen
Logik(Beans) und UI-Komponenten
7
8 /14
Einführung - Java Server Faces
User-Interface-Framework, um Webapplikation basierend auf Java
Webapplikationen laufen in Servlet-Container auf Server
Darstellung der Weboberfläche auf dem Client
8
/14
JSF – Entstehung Framework zur Entwicklung von
Webanwen-dungen auf Java-Basis 2004 durch Java Community Process
Version 1.0 Spezifiziert JSF Version 1.2 (Mai 2006) JSF Version 2.0 (Juli 2009)
10
/14
Grundidee (1) Trennung der Präsentation von Logik
-> Model-View-Controller-Architektur JSP-Seiten für Präsentation der
Weboberfläche Konfigurationsdateien -> Controller Servlet,
managed beans, Dialogsteuerung JSF-Framework: Verbindung, Vermittlung
10
11
/14
Grundidee (2)
/1412
Architektur von JSF
13
/14
Komponentenbaum Oberflächen werden über JSP definiert UIComponent ist das Basisinterface für
alle GUI Komponente GUI Komponenten haben folgende
Aufgaben: Darstellung der Komponente in HTML über
Renderer Verarbeiten der Events Validieren der Benutzereingaben Verwalten der eigenen Attribute.
13
14
/14
UI-Komponenten
14
/14
JSF – Vorteile Modulare Programmierung
Starke Nutzung von Standardkomponenten; Konfiguration durch XML-Dateien
Mehrere Ansichten auf Daten möglich Kein Spaghetticode, bessere Wartbarkeit
Event-Verarbeitung Formulare etc. lösen Events aus Entwickler gibt Reaktion auf Events vor Fertige Funktionen zur Validierung von
Formularen
16
/14
JSF Lebenszyklus
/14
JSF – Ablauf eines Requests Sicht der Ausgangsseite
wiederherstellen Requestparameter einsetzen Validierung durchführen Modell aktualisieren Anwendungslogik ausführen Antwort generieren
Name:
Passwort:
Login
karl
******
User
Login erfolgreich.
/14
JSF – Anwendungsbestandteile
public class User{private String name;private String pass;
public void setName(String name) {...}public void setPass(String pass) {...}public String getName() {...}public String getPass() {...}
public String tryLogon() { if (DB.userExists(this.name,this.pass)) return "success";
return "failure"; }}
login.jsp
faces-config.xml
User.java
19
/14
Entwicklungsprozess
Entwicklung der Datenmodell in Form von Backing-Beans
Deklaration der Backing-Beans im Applikation-Konfigurationsfile
Erzeugen der Präsentation-Seite mit Hilfe von JSF Tag-Libraries
Definieren der Seitennavigation im Applikation-Konfigurationsfile
19
Für eine einfache JSF-Anwendung ergeben sich folgende Entwicklungsschritte:
20
/14
Einsatz & Fazit JSF will eine einfache Möglichkeit bieten leistungsfähige Webanwendungen
zu schreiben,. Keine große Gedanken sich über die Komplexität einer Webanwendung
(Zustand über zustandsloses Protokoll, Request, Response, ...) machen Hat sich bisher noch nicht ganz durchgesetzt, weil der Programmierer viele
Techniken beherrschen muss, unter anderem HTML, CSS, XML, Applikationserver, Expression Language und JSP
JSF 2.0 AJAX Funktionalitäten Erweiterte UI Komponenten Flexible Wiederherstellung des Komponenten Baumes
Integration weiterer Frameworks (Sandbox, tomahawk, Myfaces etc.) Web Services
20
21
/14
Quellen & Links Literatur und Artikel - Hans Bergsten: Java Server Faces, Building web-baseduserinterfaces(O‘Reilly2004)
- Sun Microsystems, The J2EE 1.4 Tutorial (http://java.sun.com/j2ee/1.4/docs/tutorial/doc/index.html)
- Sun Microsystems, IntroducingJSF Technology
(http://java.sun.com/developer/EJTechTips/2004/tt0324.html#2)
- Sun Microsystems, Java Server FacesSpecification, Final Release 1.0
(http://jcp.org/aboutJava/communityprocess/final/jsr127/)
- Kai Zaunick: Gut zu Gesicht, Java Server Faces(Java Spektrum 1/2004)
(http://www.sigs.de/publications/js/2004/01/zaunick_JS_01_04.pdf)
- Hans Bergsten: ImprovingJSF by dumpingJSP
(http://www.onjava.com/pub/a/onjava/2004/06/09/jsf.html)
Resourcen - Sun DeveloperNetwork: http://java.sun.com/j2ee/javaserverfaces/
- Sun Java Server FacesForum: http://forum.java.sun.com/forum.jsp?forum=427
- JSFCentral:http://www.jsfcentral.com/products
- James Holmes: http://www.jamesholmes.com 21
22
/14
Vielen Dank für die Aufmerksamkeit