2. Day of Code
Java Server Faces
Ein Standard, der die genauen Anforderungen an ein
Web-Framework spezifiziert
Warum?
Standardisierung der Lösung von Aspekten
heterogenen Landschaft wie:
der Web-Frameworks
Two-Way Binding
Form Handling
Controller Logic
[1]
www.randi2.de 2
3. Day of Code
Java Server Faces
Ein Standard, der die genauen Anforderungen an ein
Web-Framework spezifiziert
Wie? Erstellung eines
Aufbauend auf den
Frameworks, das...
existierenden rendering
Technologien auf Komponenten basiert
Event-gesteuert ist
trotz der Natur des HTTP
Protokolls zustandbehaftet
ist (stateful)
und die Erstellung von
interactiven
Webapplikationen
ermöglicht
[1]
www.randi2.de 3
4. Day of Code
JSF & RANDI2
Warum?
JSF ist eine im Java-Raum etablierte Technologie
Weltweit operierende Unternehmen setzen auf JSF
bei der Realisierung verschiedenster Anwendungen
JSF als JSR Standard sichert ständige
Weiterentwicklung und breite Unterstützung durch
die Vendors
www.randi2.de 4
5. Day of Code
ICEfaces & RANDI2
Eine Implementierung des JSF Standards, die ...
„ICEfaces is an integrated Ajax application framework that enables Java EE application developers to
easily create and deploy thin-client rich Internet applications (RIA) in pure Java. ICEfaces is a fully featured
product that enterprise developers can use to develop new or existing Java EE applications at no cost.“ [2]
www.randi2.de 5
6. Day of Code
ICEfaces & RANDI2
Eine Implementierung des JSF Standards, die ...
„ICEfaces is an integrated Ajax application framework that enables Java EE application developers to
easily create and deploy thin-client rich Internet applications (RIA) in pure Java. ICEfaces is a fully featured
product that enterprise developers can use to develop new or existing Java EE applications at no cost.“ [2]
Ajax wirklich „out of the box“
Ajax-Push Technologie
www.randi2.de 6
7. Day of Code
ICEfaces & RANDI2
Eine Implementierung des JSF Standards, die ...
„ICEfaces is an integrated Ajax application framework that enables Java EE application developers to
easily create and deploy thin-client rich Internet applications (RIA) in pure Java. ICEfaces is a fully featured
product that enterprise developers can use to develop new or existing Java EE applications at no cost.“ [2]
Ajax wirklich „out of the box“ Als JSF Implementierung ein Teil
der Java EE Umgebung
Ajax-Push Technologie
www.randi2.de 7
8. Day of Code
ICEfaces & RANDI2
Eine Implementierung des JSF Standards, die ...
„ICEfaces is an integrated Ajax application framework that enables Java EE application developers to
easily create and deploy thin-client rich Internet applications (RIA) in pure Java. ICEfaces is a fully featured
product that enterprise developers can use to develop new or existing Java EE applications at no cost.“ [2]
Ajax wirklich „out of the box“ Als JSF Implementierung ein Teil
der Java EE Umgebung
Ajax-Push Technologie
Gut aussehende und
ergonomische Oberfläche
www.randi2.de 8
9. Day of Code
ICEfaces & RANDI2
Eine Implementierung des JSF Standards, die ...
„ICEfaces is an integrated Ajax application framework that enables Java EE application developers to
easily create and deploy thin-client rich Internet applications (RIA) in pure Java. ICEfaces is a fully featured
product that enterprise developers can use to develop new or existing Java EE applications at no cost.“ [2]
Ajax wirklich „out of the box“ Als JSF Implementierung ein Teil
der Java EE Umgebung
Ajax-Push Technologie
ICEfaces ist ein Open Source
Gut aussehende und
ergonomische Oberfläche Projekt unter Mozilla Public License
Große Developer Community
(aktuell 32.000 registrierte
Entwickler)
www.randi2.de 9
10. Day of Code
So... how does it work?
register.jspx
Basics
LoginHandler
faces-config.xml
www.randi2.de 10
11. Day of Code
So... how does it work?
register.jspx
Basics
LoginHandler
faces-config.xml
www.randi2.de 11
12. Day of Code
So... how does it work?
faces-config.xml register.jspx
Basics
LoginHandler
www.randi2.de 12
13. Day of Code
So... how does it work?
LoginHandler
register.jspx
Basics
faces-config.xml
www.randi2.de 13
14. Day of Code
A single page
[3]
www.randi2.de 14
15. Day of Code
JSF Lifecycle
Was passiert, wenn ein Request ankommt...
[1]
www.randi2.de 15
16. Day of Code
JSF/ICEfaces in RANDI2
www.randi2.de 16
17. Day of Code
JSF/ICEfaces in RANDI2
inc/version.jspx
inc/header.jspx
inc/menu.jspx
inc/panels/XX.jspx
randi2.jspx
www.randi2.de 17
18. Day of Code
JSF/ICEfaces in RANDI2
Interessante Lösungen
Die komplette Validierung ist in den Model Klassen
zentral mit Hilfe von Hibernate realisiert und an die
Oberfläche mit einem RANDI2 Validator angebunden
Generische Erstellung der Oberfläche bei der
Studien-Konfiguration
Zukunft
Integration von Ajax-Push
Oberfläche für iPhone & Co.
www.randi2.de 18
19. Day of Code
Quellen
[1] „Basics and concepts of Java Server Faces“ Martin
Marinschek (http://tinyurl.com/6pv4m3)
[2] www.icefaces.org - die offizielle ICEfaces Webseite
[3] http://component-showcase.icefaces.org/
Bei Fragen oder Anregungen:
lp@randi2.de
www.randi2.de 19