Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow)...

76
www.mwea.de Einsatz und Grenzen von Java Server Faces 2.0 Einsatz und Grenzen von Java Server Faces 2.0 Kai Wähner München 09. September 2010

Transcript of Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow)...

Page 1: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Einsatz und Grenzen von Java Server Faces 2.0 Einsatz und Grenzen von Java Server Faces 2.0

Kai Wähner

München

09. September 2010

Page 2: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Einordnung von JSF in JEE

9/11/2010 Seite 2Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Page 3: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Einordnung von JSF in JEE

9/11/2010 Seite 3Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Page 4: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

"Überblick" über JSF

9/11/2010 Seite 4Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Page 5: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Ziel: ÜBERBLICK über JSF geben

9/11/2010 Seite 5Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Page 6: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Keine Erläuterung aller Details des JSF-Standards

9/11/2010 Seite 6Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Bullet Point Boot Camp

Page 7: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Keine Quellcode-Beispiele

9/11/2010 Seite 7Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Page 8: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

1. Überblick über JSF

2. Verfügbare Addons

3. Grenzen von JSF

Agenda

9/11/2010 Seite 8Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Page 9: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

1. Überblick über JSF2. Verfügbare Addons

3. Grenzen von JSF

Agenda

9/11/2010 Seite 9Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Page 10: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

JSF ist ein Web-Framework �Was ist das?

9/11/2010 Seite 10Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

A web application framework is a software framework that is designed to support the development Web applications.

The framework aims to alleviate the overhead associated with common activities performed in Web development..

(Wikipedia)

Page 11: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Model-View-Controller (MVC) Pattern

9/11/2010 Seite 11Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Page 12: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Überblick über JSF

9/11/2010 Seite 12Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Faces Servlet

Renderer

XUL

JSP

XHTML Converter

Validator

Managed Bean

faces-

(optional)

faces-config.xml(optional)

HTTP-Request

HTTP-Response

(AJAX)

Component A

Component A

Component B

Component B

Component C

Component C

Validator

ConverterConverter

Page 13: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

JSF und MVC

9/11/2010 Seite 13Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Faces Servlet

Renderer

XUL

JSP

XHTML Converter

Validator

Managed Bean

faces-

(optional)

faces-config.xml(optional)

HTTP-Request

HTTP-Response

(AJAX)

Component A

Component A

Component B

Component B

Component C

Component C

Validator

ConverterConverter

View

Page 14: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

JSF und MVC

9/11/2010 Seite 14Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Faces Servlet

Renderer

XUL

JSP

XHTML Converter

Validator

Managed Bean

faces-

(optional)

faces-config.xml(optional)

HTTP-Request

HTTP-Response

(AJAX)

Component A

Component A

Component B

Component B

Component C

Component C

Validator

ConverterConverter

Model

Page 15: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

JSF und MVC

9/11/2010 Seite 15Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Faces Servlet

Renderer

XUL

JSP

XHTML Converter

Validator

Managed Bean

faces-

(optional)

faces-config.xml(optional)

HTTP-Request

HTTP-Response

(AJAX)

Component A

Component A

Component B

Component B

Component C

Component C

Validator

ConverterConverter

Controller

Page 16: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

MVC - View

9/11/2010 Seite 16Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

<?xml version='1.0' encoding='UTF-8' ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"xmlns:h="http://java.sun.com/jsf/html"><h:head><title>"Hello World"-Beispiel</title>

</h:head>

<h:body><p>Aktuelles Datum: </p><h:outputText value="#{helloBean.now}" />

<h:button value="Zur zweiten Seite“ action="#{helloBean.secondPage}"</h:body>

</html>

Page 17: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

package de.mwea.waehner.helloworld.beans;

import javax.faces.bean.ManagedBean;

import javax.faces.bean.RequestScoped;

// Annotations statt Konfiguration in faces-config.xml

@ManagedBean(name="helloBean") // Default-Name: helloWorldManagedBean

public class HelloWorldManagedBean {

public HelloWorldManagedBean() {}

public java.util.Date getNow() { return new java.util.Date();}

public String getSecondPage() { return "secondPage.xhtml"; } // auch Navigation möglich

}

MVC – Model und Controller

9/11/2010 Seite 17Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Page 18: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

JSF Life Cycle

9/11/2010 Seite 18Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

RequestRequest

ResponseResponse

Apply Request Values

Apply Request Values

Restore View

Restore View

Process ValidationsProcess Validations

Update Model Values

Update Model Values

Invoke Application

s

Invoke Application

s

Render ResponseRender

Response

No Query Data

Conversion or Validation Errors

Page 19: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Design-Konzepte � Multi-Page

9/11/2010 Seite 19Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Waren-katalogWaren-katalog

WarenkorbWarenkorb

StartseiteStartseite

Kunden-verwaltungKunden-verwaltung

Suche Artikel

Wähle Artikel aus

Bestelle Artikel

Page 20: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Design-Konzepte � Server-zentrisch

9/11/2010 Seite 20Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

ServerServerClientClient

Request

Response: GUI + Daten

Bei jedem Request:

Page 21: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Design-Konzepte � Komponenten-basiert

9/11/2010 Seite 21Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

ButtonButton

Complex ComponentComplex ComponentRadioButtonsRadioButtons

Dropdown-Box

Dropdown-Box

ButtonButton

TableTable

Page 22: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Design-Konzepte: Server-seitige Validierung

9/11/2010 Seite 22Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Standard-Validierung vs. Bean-Validation (JSR-303)

Page 23: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Was ist eigentlich neu bei JSF 2.0?

9/11/2010 Seite 23Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Standardisiertes Ressourcen-Management

Facelets(kein JSR!)

Zusätzliche Scopes

AJAX

Annotations

Einfachere Komponenten-entwicklung

Weniger Konfiguration

Page 24: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Standard JSF Tags

Managed Beans,

Navigation,

Facelets,

Data Tables,

Converter,

Validation,

Composite Components,

Event Handling,

Custom Components,

Converters and Validators.

Weitere Details (d.h. Codebeispiele) zu JSF?

9/11/2010 Seite 24Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Page 25: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

1. Überblick über JSF

2. Verfügbare Addons3. Grenzen von JSF

Agenda

9/11/2010 Seite 25Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Page 26: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Verfügbare Addons: Komponenten-Bibliotheken

9/11/2010 Seite 26Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Page 27: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Beispiel "RichFaces"

9/11/2010 Seite 27Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

AJAX-Erweiterungen

AJAX-Erweiterungen

Dynamische

Ressourcen-Verwaltung

Dynamische

Ressourcen-Verwaltung

Client-side ValidationClient-side Validation

Eigene Komponenten

noch einfacher

Eigene Komponenten

noch einfacher

Viele Komponente

n

Viele Komponente

n

Page 28: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Verfügbare Addons: JBoss Seam

9/11/2010 Seite 28Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Page 29: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

JBoss Seam

9/11/2010 Seite 29Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Seam 2 vs. Seam 3

Page 30: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

JBoss Seam – Rückblick: Seam 2 (JSF 1.2)

9/11/2010 Seite 30Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

„Mit JBoss Seam liegt ein Framework vor, das das Gebot der Leichtgewichtigkeit mit dem klassischen Java EE Stack kombinieren will. Es verspricht, die einzelnen Java-EE-Komponenten mit einem speziellen „Klebstoff“ zu verbinden und so für den Entwickler die Grenzen zwischen den einzelnen Technologien zu verwischen.“

Java Magazin 01/2009 (Jan Groth, Frank Ratzlow)

Page 31: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

JBoss Seam – Rückblick: Seam 2 (JSF 1.2)

9/11/2010 Seite 31Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

JBoss

JBoss LGLP-

LizenzLGLP-Lizenz

100% JEE-

konform

100% JEE-

konform

JSF 1.2 + EJB 3.0 / POJO + JPA 1.0 / Hibernate

+ jBPM

JSF 1.2 + EJB 3.0 / POJO + JPA 1.0 / Hibernate

+ jBPM

seam-genseam-gen

Seam-Kontext über alle Schichten

(GUI – Logik –DB)

Seam-Kontext über alle Schichten

(GUI – Logik –DB)

Page 32: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

JBoss Seam – Vorschau: Seam 3 (JSF 2.0)

9/11/2010 Seite 32Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

„Wenn Java EE 6 das Haus baut, dann sorgt Seam 3 für die Möbel“

Dan Allen (Seam-Comitter) im Java Magazin 08/2010

Page 33: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

JBoss Seam – Vorschau: Seam 3 (JSF 2.0)

9/11/2010 Seite 33Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

„Problem“: Vieles von Seam 2 in Java EE 6 integriert

� Context and Dependency Injection (JSR-299)

� Bean Validation (JSR-303)

� neue JSF 2.0 Features

Page 34: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

JBoss Seam – Vorschau: Seam 3 (JSF 2.0)

9/11/2010 Seite 34Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Frage: Wieso wird dann

überhaupt noch Seam 3 benötigt?

Page 35: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

JBoss Seam – Vorschau: Seam 3 (JSF 2.0)

9/11/2010 Seite 35Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Auszug aus Seam 3:

� JEE 6 Web-Profil als technisches Minimum

� seam-gen fast komplett neu

� „Seam 2 Bridge“

� PDF-Erzeugung

� BPM-Integration

� Arquillian: „An end to end testing solution“

Page 36: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

JBoss Seam – Wann soll es eingesetzt werden?

9/11/2010 Seite 36Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Seam ist geeignet für:

�Entwicklung einer vollständigen Webanwendung

Seam ist nicht geeignet für:

� Entwicklung einzelner Module

� Integration mit anderen Frameworks

Page 37: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

JBoss Seam – Pitfall

9/11/2010 Seite 37Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

„Ich habe mit Seam angefangen. Ich habe aber gar keine Erfahrung mit Web-Entwicklung. Würde mir jemand sagen, wie ich darüber Beispiele und kleine Übungen finden kann?“

Quelle: Ein Java-Forum...

Page 38: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

JBoss Seam – Pitfall

9/11/2010 Seite 38Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Hohes Maß an Verständnis sowohl der verwendeten Technologien als auch der Seam-

Konzepte wird unbedingt vorausgesetzt!

„Ich habe mit Seam angefangen. Ich habe aber gar keine Erfahrung mit Web-Entwicklung. Würde mir jemand sagen, wie ich darüber Beispiele und kleine Übungen finden kann?“

Quelle: Ein Java-Forum...

Page 39: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Verfügbare Addons: Portal-Integration

9/11/2010 Seite 39Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

<Exkurs_Portal>

Page 40: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Portal-Integration - Was ist ein Portal?

9/11/2010 Seite 40Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Kein Standard!

Page 41: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Portal-Integration - Was ist ein Portal?

9/11/2010 Seite 41Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

� Informationen verschiedener Anwendungen auf eine einheitliche Art darstellen

� Informationen, Personen und Prozesse über organisatorische Grenzen hinweg in Unternehmen integrieren

� zusätzlich zu Web-Framework(s)

� Portal-Server

� Portlet-Standard

Page 42: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Portal-Integration

9/11/2010 Seite 42Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Page 43: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Portal-Integration - Vorteile eines Portals?

9/11/2010 Seite 43Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

� Integration

� Zusammenarbeit

� Single-Sign-On

� Personalisierung

Page 44: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Portal-Integration

9/11/2010 Seite 44Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

</ Exkurs_Portal>

Page 45: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Portal-Integration - Wieso JSF bei Portal einsetzen?

9/11/2010 Seite 45Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Problem generell:

Integration / Migration von Portlet und Web-Framework

Page 46: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Portal-Integration - Wieso JSF bei Portal einsetzen?

9/11/2010 Seite 46Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Problem bei JSF:

JSF Life Cycle vs. Portlet Life Cycle

Problem generell:

Integration / Migration von Portlet und Web-Framework

Page 47: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Portal-Integration - Wieso JSF bei Portal einsetzen?

9/11/2010 Seite 47Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

„Portlet Bridge for JSF“

� JSR-301: Portlet 1.0 (JSR-168) + JSF 1.2

� JSR-329: Portlet 2.0 (JSR-286) + JSF 1.2

� JSR-???: Portlet 2.0 (JSR-286) + JSF 2.0

(bisher keine Standardspezifikation gestartet)

Liferay: portletfaces.org

JBoss: PortletBridge 3.0

Page 48: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Verfügbare Addons: CaptainCasa

9/11/2010 Seite 48Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Page 49: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

CaptainCasa – Was ist das?

9/11/2010 Seite 49Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

100% JSF-kompatibel100% JSF-kompatibel

Zielgruppe: Enterprise-

Anwendungen

Zielgruppe: Enterprise-

Anwendungen

Rich Client + JSF BackendRich Client + JSF Backend

Verschiedene Lizenzierungs-möglichkeiten

Verschiedene Lizenzierungs-möglichkeiten

Eigene PDL und Render-KitEigene PDL

und Render-Kit

Page 50: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

CaptainCasa – Welche Technologien werden eingesetzt?

9/11/2010 Seite 50Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

HTML-Client als

Alternative

HTML-Client als

Alternative

XML-Layout statt HTMLXML-Layout statt HTML

Ausschluss einiger JSF-Features

Ausschluss einiger JSF-Features

Swing-basierter Client

Swing-basierter Client

Nutzt JSF-Referenz-

implementierung

Nutzt JSF-Referenz-

implementierung

Page 51: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

CaptainCasa – Wie wird entwickelt?

9/11/2010 Seite 51Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Video-TutorialsVideo-Tutorials

Einfache Installation /

Keine Konfiguration

Einfache Installation /

Keine Konfiguration

Viele verfügbare Komponente

n

Viele verfügbare Komponente

n

GUI-Builder + Eclipse-Plugin

GUI-Builder + Eclipse-Plugin

Page 52: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

CaptainCasa – Wie wird entwickelt?

9/11/2010 Seite 52Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Page 53: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

CaptainCasa – Wie wird entwickelt?

9/11/2010 Seite 53Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Page 54: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Verfügbare Addons: Viele weitere...

9/11/2010 Seite 54Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

JSF-FlexJSF-Flex

XULFacesXULFaces

J4Fry (u.a. JSF-JPA-Bridge)

J4Fry (u.a. JSF-JPA-Bridge)

JSFUnitJSFUnit PrettyFacesPrettyFaces

MyFaces External Validation

(Server-side)

MyFaces External Validation

(Server-side)

RichFaces Validation (Client-side)

RichFaces Validation (Client-side)

jQuery4jsfjQuery4jsf

OracleADF

OracleADF

Page 55: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

1. Überblick über JSF2. Verfügbare Addons

3. Grenzen von JSF

Agenda

9/11/2010 Seite 55Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Page 56: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Welche Kriterien für den Vergleich von Web-Frameworks?

9/11/2010 Seite 56Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Page 57: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Kriterien für den Vergleich von Web-Frameworks

9/11/2010 Seite 57Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

InternationalisierungLesezeichen

„Post-Redirect-Problem“

AJAXEinige mehr...

Page 58: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Kriterien für den Vergleich von Web-Frameworks

9/11/2010 Seite 58Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

InternationalisierungLesezeichen

„Post-Redirect-Problem“

AJAX

Einige mehr...

Page 59: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Unerwünscht: Flame War

9/11/2010 Seite 59Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Page 60: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Kategorisierung von Web-Frameworks

9/11/2010 Seite 60Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Zeit-

aufwandKurz Lang

CRUD

Klassische Web-

Anwendung

Rich Internet Application

(RIA)Rich Client

Portal

Page 61: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Überblick über Web-Frameworks im Java-Umfeld

9/11/2010 Seite 61Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Grails

JSF

Flex

JavaFX

Tapestry

Wicket

Roma Framework

ZK Framework

GWT

Struts

Spring

MVC

Komplexität hoch

Komplexität gering

Klassische

Web-

anwendungRIA

Lift

Page 62: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Überblick über Web-Frameworks im Java-Umfeld

9/11/2010 Seite 62Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Grails

JSF

Flex

JavaFX

Tapestry

Wicket

Roma Framework

ZK Framework

GWT

Struts

Spring

MVC

Komplexität hoch

Komplexität gering

Klassische

Web-

anwendungRIA

Lift

CRUD-Client

Page 63: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Überblick über Web-Frameworks im Java-Umfeld

9/11/2010 Seite 63Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Grails

JSF

Flex

JavaFX

Tapestry

Wicket

Roma Framework

ZK Framework

GWT

Struts

Spring

MVC

Komplexität hoch

Komplexität gering

Klassische

Web-

anwendungRIA

Lift

Klassische Webanwendung

Page 64: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Überblick über Web-Frameworks im Java-Umfeld

9/11/2010 Seite 64Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Grails

JSF

Flex

JavaFX

Tapestry

Wicket

Roma Framework

ZK Framework

GWT

Struts

Spring

MVC

Komplexität hoch

Komplexität gering

Klassische

Web-

anwendungRIA

Lift

Rich Client

Page 65: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Überblick über Web-Frameworks im Java-Umfeld

9/11/2010 Seite 65Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Grails

JSF

Flex

JavaFX

Tapestry

Wicket

Roma Framework

ZK Framework

GWT

Struts

Spring

MVC

Komplexität hoch

Komplexität gering

Klassische

Web-

anwendungRIA

Lift

RIA

Page 66: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Überblick über Web-Frameworks im Java-Umfeld

9/11/2010 Seite 66Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Grails

JSF

Flex

JavaFX

Tapestry

Wicket

Roma Framework

ZK Framework

GWT

Struts

Spring

MVC

Komplexität hoch

Komplexität gering

Klassische

Web-

anwendungRIA

Lift

JSF = Klassische Webanwendung

Page 67: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Überblick über Web-Frameworks im Java-Umfeld

9/11/2010 Seite 67Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Grails

JSF

Roma Framework

Komplexität hoch

Komplexität gering

Klassische

Web-

anwendungRIA

Lift

JSF + seam-gen= CRUD Client

JSF+

Seam

Page 68: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Überblick über Web-Frameworks im Java-Umfeld

9/11/2010 Seite 68Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

JSF

ZK Framework

GWT

Komplexität hoch

Komplexität gering

Klassische

Web-

anwendungRIA

JSF + CaptainCasa = Rich Client

JSF +

Captain Casa

Page 69: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Überblick über Web-Frameworks im Java-Umfeld

9/11/2010 Seite 69Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

JSF

Flex

JavaFX

Komplexität hoch

Komplexität gering

Klassische

Web-

anwendungRIA

JSF + ??? = RIA

JSF +???

Page 70: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Überblick über Web-Frameworks im Java-Umfeld

9/11/2010 Seite 70Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

JSF

Flex

JavaFX

Komplexität hoch

Komplexität gering

Klassische

Web-

anwendungRIA

JSF + ??? = RIA

JSF +???

Page 71: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

"Key-Message" angekommen?

9/11/2010 Seite 71Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Page 72: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Was ist JSF?

9/11/2010 Seite 72Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

JSF

Page 73: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Welche Addons gibt es?

9/11/2010 Seite 73Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

JSFSeam

CaptainCasa

PortletBridge

JSFUnitJSF-Flex

Viele weitere....

PrettyFaces

Page 74: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Welches Web-Framework einsetzen?

9/11/2010 Seite 74Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Zeit-

aufwandKurz Lang

CRUD

Klassische Web-

Anwendung

Rich Internet Application

(RIA)Rich Client

Portal

JSFSeam

CaptainCasa

PortletBridge

JSFUnitJSF-Flex

Viele weitere....

PrettyFaces

Page 75: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Ziel: Verständlichen Überblick über JSF geben

9/11/2010 Seite 75Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Grenzen von JSF

Verfügbare Addons

Überblick über JSF

Page 76: Einsatz und Grenzen von Java Server Faces 2€¦ · Java Magazin 01/2009 (Jan Groth, Frank Ratzlow) JBoss Seam –Rückblick: Seam 2 (JSF 1.2) Einsatz und Grenzen von Java Server

www.mwea.de

Auf Wiedersehen!

9/11/2010 Seite 76Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner)

Kai WähnerIT-Consultant

Telefon +49 89 544 253 88Mobil +49 151 544 277 [email protected]/blog

MaibornWolff et al GmbH | Theresienhöhe 13 | D-80339 München

Kai WähnerIT-Consultant

Telefon +49 89 544 253 88Mobil +49 151 544 277 [email protected]/blog

MaibornWolff et al GmbH | Theresienhöhe 13 | D-80339 München