14Mohamed Sabbar, Medieninformatik - Fachseminar 14/12/09 Java Server Faces (JSF) „JSF“ ist mehr...

22
/14 Mohamed Sabbar, Medieninformatik - Fachseminar 14/12/09 Java Server Faces (JSF) „JSF“ ist mehr als nur eine Insel Fachseminar WS 09/10 Mohamed Sabbar

Transcript of 14Mohamed Sabbar, Medieninformatik - Fachseminar 14/12/09 Java Server Faces (JSF) „JSF“ ist mehr...

Page 1: 14Mohamed Sabbar, Medieninformatik - Fachseminar 14/12/09 Java Server Faces (JSF) „JSF“ ist mehr als nur eine Insel Fachseminar WS 09/10 Mohamed Sabbar.

/14Mohamed Sabbar, Medieninformatik - Fachseminar14/12/09

Java Server Faces (JSF) „JSF“ ist mehr als nur eine Insel

Fachseminar WS 09/10 Mohamed Sabbar

Page 2: 14Mohamed Sabbar, Medieninformatik - Fachseminar 14/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

Page 3: 14Mohamed Sabbar, Medieninformatik - Fachseminar 14/12/09 Java Server Faces (JSF) „JSF“ ist mehr als nur eine Insel Fachseminar WS 09/10 Mohamed Sabbar.

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

Page 4: 14Mohamed Sabbar, Medieninformatik - Fachseminar 14/12/09 Java Server Faces (JSF) „JSF“ ist mehr als nur eine Insel Fachseminar WS 09/10 Mohamed Sabbar.

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

Page 5: 14Mohamed Sabbar, Medieninformatik - Fachseminar 14/12/09 Java Server Faces (JSF) „JSF“ ist mehr als nur eine Insel Fachseminar WS 09/10 Mohamed Sabbar.

5 /14

Servlets Servlet Technologie (1997) Dynamische Generierung von HTML

Seiten Nachteile: Unübersichtlich, schwer

Verständlich

5

Page 6: 14Mohamed Sabbar, Medieninformatik - Fachseminar 14/12/09 Java Server Faces (JSF) „JSF“ ist mehr als nur eine Insel Fachseminar WS 09/10 Mohamed Sabbar.

6 /14

Java Server Pages (JSP) Skripting Elemente

(Scriptlets, Ausdrücke, Deklaration, Direktiven)

Mischung JSP/HTML-Tags mit Java Code

6

Page 7: 14Mohamed Sabbar, Medieninformatik - Fachseminar 14/12/09 Java Server Faces (JSF) „JSF“ ist mehr als nur eine Insel Fachseminar WS 09/10 Mohamed Sabbar.

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

Page 8: 14Mohamed Sabbar, Medieninformatik - Fachseminar 14/12/09 Java Server Faces (JSF) „JSF“ ist mehr als nur eine Insel Fachseminar WS 09/10 Mohamed Sabbar.

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

Page 9: 14Mohamed Sabbar, Medieninformatik - Fachseminar 14/12/09 Java Server Faces (JSF) „JSF“ ist mehr als nur eine Insel Fachseminar WS 09/10 Mohamed Sabbar.

/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)

Page 10: 14Mohamed Sabbar, Medieninformatik - Fachseminar 14/12/09 Java Server Faces (JSF) „JSF“ ist mehr als nur eine Insel Fachseminar WS 09/10 Mohamed Sabbar.

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

Page 11: 14Mohamed Sabbar, Medieninformatik - Fachseminar 14/12/09 Java Server Faces (JSF) „JSF“ ist mehr als nur eine Insel Fachseminar WS 09/10 Mohamed Sabbar.

11

/14

Grundidee (2)

Page 12: 14Mohamed Sabbar, Medieninformatik - Fachseminar 14/12/09 Java Server Faces (JSF) „JSF“ ist mehr als nur eine Insel Fachseminar WS 09/10 Mohamed Sabbar.

/1412

Architektur von JSF

Page 13: 14Mohamed Sabbar, Medieninformatik - Fachseminar 14/12/09 Java Server Faces (JSF) „JSF“ ist mehr als nur eine Insel Fachseminar WS 09/10 Mohamed Sabbar.

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

Page 14: 14Mohamed Sabbar, Medieninformatik - Fachseminar 14/12/09 Java Server Faces (JSF) „JSF“ ist mehr als nur eine Insel Fachseminar WS 09/10 Mohamed Sabbar.

14

/14

UI-Komponenten

14

Page 15: 14Mohamed Sabbar, Medieninformatik - Fachseminar 14/12/09 Java Server Faces (JSF) „JSF“ ist mehr als nur eine Insel Fachseminar WS 09/10 Mohamed Sabbar.

/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

Page 16: 14Mohamed Sabbar, Medieninformatik - Fachseminar 14/12/09 Java Server Faces (JSF) „JSF“ ist mehr als nur eine Insel Fachseminar WS 09/10 Mohamed Sabbar.

16

/14

JSF Lebenszyklus

Page 17: 14Mohamed Sabbar, Medieninformatik - Fachseminar 14/12/09 Java Server Faces (JSF) „JSF“ ist mehr als nur eine Insel Fachseminar WS 09/10 Mohamed Sabbar.

/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.

Page 18: 14Mohamed Sabbar, Medieninformatik - Fachseminar 14/12/09 Java Server Faces (JSF) „JSF“ ist mehr als nur eine Insel Fachseminar WS 09/10 Mohamed Sabbar.

/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

Page 19: 14Mohamed Sabbar, Medieninformatik - Fachseminar 14/12/09 Java Server Faces (JSF) „JSF“ ist mehr als nur eine Insel Fachseminar WS 09/10 Mohamed Sabbar.

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:

Page 20: 14Mohamed Sabbar, Medieninformatik - Fachseminar 14/12/09 Java Server Faces (JSF) „JSF“ ist mehr als nur eine Insel Fachseminar WS 09/10 Mohamed Sabbar.

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

Page 21: 14Mohamed Sabbar, Medieninformatik - Fachseminar 14/12/09 Java Server Faces (JSF) „JSF“ ist mehr als nur eine Insel Fachseminar WS 09/10 Mohamed Sabbar.

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

Page 22: 14Mohamed Sabbar, Medieninformatik - Fachseminar 14/12/09 Java Server Faces (JSF) „JSF“ ist mehr als nur eine Insel Fachseminar WS 09/10 Mohamed Sabbar.

22

/14

Vielen Dank für die Aufmerksamkeit