14mohamed sabbar, medieninformatik - fachseminar 14/12/09 java server faces (jsf) „jsf“ ist mehr...

Post on 06-Apr-2016

224 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

top related