83
Kategorisierung von Web-Frameworks im Java-Umfeld Gobelingewebe Kai Wähner MaibornWolff et al GmbH

HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

Embed Size (px)

DESCRIPTION

Categorizes all important Java Web Frameworks (Classic Web Application, CRUD, Rich Client, Rich Internet Application, Portal). Shows when to use which kind of framework and gives examples from practice. Presented at the IT conference "Herbstcampus 2010" at Nuremberg, Germany in September 2010. See details about this conference at my blog: www.kai-waehner.de/blog

Citation preview

Page 1: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

Kategorisierung von Web-Frameworks im Java-Umfeld

Gobelingewebe

Kai WähnerMaibornWolff et al GmbH

Page 2: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Unüberschaubare Auswahl im Alltag

16.09.2010 Seite 2Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Page 3: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Unüberschaubare Auswahl bei Web-Frameworks

16.09.2010 Seite 3Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Page 4: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Viele gute Artikel in Fachzeitschriften

16.09.2010 Seite 4Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Page 5: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Flame War – unerwünscht, aber überall existent

16.09.2010 Seite 5Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen16.09.2010 | Seite 5

Page 6: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Keine Auflistung von Features einzelner Frameworks

16.09.2010 Seite 6Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Bullet Point Boot Camp

Page 7: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Keine Quellcode-Beispiele

16.09.2010 Seite 7Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Page 8: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Was ist die "Key-Message"?

16.09.2010 Seite 8Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Page 9: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Ermöglichen eine Entscheidung zu treffen

16.09.2010 Seite 9Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Page 10: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Kategorisierung wird benötigt

16.09.2010 Seite 10Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

AC

YZ 1

667IV

XX„Englisch“

„Deutsch“

„Japanisch“

NUMMERNBUCHSTABEN SPRACHEN

Page 11: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Ziele dieses Vortrags

16.09.2010 Seite 11Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

AC

YZ 1

667IV

XX„Englisch“

„Deutsch“

„Japanisch“

NUMMERNBUCHSTABEN SPRACHEN

Wichtige Begriffe verstehen!

Page 12: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Ziele dieses Vortrags

16.09.2010 Seite 12Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

AC

YZ 1

667IV

XX„Englisch“

„Deutsch“

„Japanisch“

NUMMERNBUCHSTABEN SPRACHEN

Wichtige Begriffe verstehen!

Web-Frameworks kagegorisieren!

Page 13: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Ziele dieses Vortrags

16.09.2010 Seite 13Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

AC

YZ 1

667IV

XX„Englisch“

„Deutsch“

„Japanisch“

NUMMERNBUCHSTABEN SPRACHEN

Wichtige Begriffe verstehen!

Web-Frameworks kagegorisieren!

Entscheidung treffen können!

Page 14: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de 16.09.2010 Seite 14Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

1. Wichtige Begriffe

2. Kategorisierung

3. Einsatzmöglichkeiten

Agenda

Page 15: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de 16.09.2010 Seite 15Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

1. Wichtige Begriffe(bezüglich Webentwicklung)

2. Kategorisierung

3. Einsatzmöglichkeiten

Agenda

Page 16: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Das wichtigste Modewort: Web 2.0

16.09.2010 Seite 16Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Page 17: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Web 2.0 – technisch betrachtet: AJAX

16.09.2010 Seite 17Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Page 18: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Was ist AJAX nicht?

16.09.2010 Seite 18Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Page 19: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Was ist AJAX nicht?

16.09.2010 Seite 19Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Page 20: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Definition von AJAX

16.09.2010 Seite 20Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

AJAX is a group of interrelated

web development techniques used

on the client-side to create

interactive web applications.

(Wikipedia)

Page 21: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Klassische Kommunikation vs. AJAX

16.09.2010 Seite 21Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Page 22: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Klassische Kommunikation vs. AJAX

16.09.2010 Seite 22Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Client-Anfrage

+

Server-Antwort

Page 23: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Klassische Kommunikation vs. AJAX

16.09.2010 Seite 23Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

XMLHttpRequest-

Objekt

HTML

JSON / XML

JavaScript

DOM

Page 24: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de 16.09.2010 Seite 24Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Multi-Page vs. Single-Page

Waren-katalogWaren-katalog

WarenkorbWarenkorb

StartseiteStartseite

Kunden-verwaltungKunden-verwaltung

Suche Artikel

Wähle Artikel aus

Bestelle Artikel

Page 25: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de 16.09.2010 Seite 25Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Multi-Page vs. Single-Page

Web-anwendun

g

Schreibe Email

Zeige Eingang an

Suche Email XYZ

Page 26: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Server-zentrisch vs. Client-zentrisch

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

ServerServerClientClient

Request

Response: GUI + Daten

Bei jedem Request:

Page 27: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Server-zentrisch vs. Client-zentrisch

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

ServerServerClientClient

Request

Response: Vollständige GUI

+ Daten

Beim ersten Request:

Page 28: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Server-zentrisch vs. Client-zentrisch

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

ServerServerClientClient

Request

Response: Vollständige GUI +

Daten

Beim ersten Request:

ServerServerClientClient

Request

Response: GUI + zugehörige Steuerungslogik

Bei weiteren Requests:

Page 29: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Action-basiert vs. Komponenten-basiert

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

ServerServerClientClient

Request

Response

Page 30: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Action-basiert vs. Komponenten-basiert

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

ServerServerClientClient

Request

Response

ButtonButton

Custom ComponentCustom Component

Dropdown-Box

Dropdown-Box

TableTable

Page 31: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Mehrkanal-Fähigkeit

16.09.2010 Seite 31Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Webanwendung

Page 32: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Offline-Fähigkeit

16.09.2010 Seite 32Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Page 33: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de 16.09.2010 Seite 33Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

1. Wichtige Begriffe

2. Kategorisierung

3. Einsatzmöglichkeiten

Agenda

(von Web-Frameworks)

Page 34: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Welche Kriterien zur Bewertung von Web-Frameworks?

16.09.2010 Seite 34Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Page 35: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Mögliche Kriterien zur Bewertung von Web-Frameworks

16.09.2010 Seite 35Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen16.09.2010 | Seite 35

InternationalsierungLesezeichen

„Post-Redirect-Problem“

AJAX

Einige weitere...

Page 36: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Die Kriterien sind bereits durchgängig erfüllt

16.09.2010 Seite 36Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

InternationalisierungLesezeichen

„Post-Redirect-Problem“

AJAX

Einige weitere...

Page 37: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Kategorisierung von Web-Frameworks

16.09.2010 Seite 37Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Zeit-

aufwandKurz Lang

CRUD

Klassische Web-

Anwendung

Rich Internet Application

(RIA)Rich Client

Portal

Page 38: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Klassische Webanwendung

16.09.2010 Seite 38Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Page 39: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Klassische Webanwendung

16.09.2010 Seite 39Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Page 40: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Klassische Webanwendung

16.09.2010 Seite 40Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Page 41: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Klassische Webanwendung

16.09.2010 Seite 41Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Technisch betrachtet:

� Kein Plugin notwendig

� Browser-Kompatibilitätsprobleme (besonders bei AJAX)

Page 42: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

;Mögliche Web-Frameworks

16.09.2010 Seite 42Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen16.09.2010 | Seite 42

Klassische Webanwendung

Page 43: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Rich Internet Application (RIA)

16.09.2010 Seite 43Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Page 44: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Rich Internet Application (RIA)

16.09.2010 Seite 44Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Technisch betrachtet:

� GUI wird bei Start auf Client geladen

� Plugin notwendig

Page 45: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Mögliche Web-Frameworks

16.09.2010 Seite 45Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Rich Internet Application (RIA)

Page 46: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Rich Client

16.09.2010 Seite 46Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Page 47: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Rich Client

16.09.2010 Seite 47Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Technisch betrachtet:

� GUI wird bei Start auf Client geladen

� Kein Plugin notwendig

� Keine Browser-Kompatibilitätsprobleme

Page 48: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Mögliche Web-Frameworks

16.09.2010 Seite 48Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen16.09.2010 | Seite 4816.09.2010 | Seite 48

Rich Client

Page 49: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

CRUD Client (Create – Read – Update – Delete)

16.09.2010 Seite 49Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Page 50: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

CRUD Client (Create – Read – Update – Delete)

16.09.2010 Seite 50Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Technisch betrachtet:

� Für Client kein Unterschied zur klassischen Webanwendung

� „Full Stack“-Framework

� Ziel: Effizientere Entwicklung

Page 51: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Mögliche Web-Frameworks

16.09.2010 Seite 51Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

CRUD Client

(Roma Framework)

Page 52: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Portal

16.09.2010 Seite 52Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Page 53: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Portal

16.09.2010 Seite 53Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Technisch betrachtet:

� Portlet-Standard

� Action-Phase und Render-Phase

� „Low-Level“-Programmierung

Page 54: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Mögliche Web-Frameworks

16.09.2010 Seite 54Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen16.09.2010 | Seite 54

Portal

Page 55: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Überblick über Web-Frameworks

16.09.2010 Seite 55Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

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 56: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Überblick über Web-Frameworks

16.09.2010 Seite 56Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

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

Page 57: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Überblick über Web-Frameworks

16.09.2010 Seite 57Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

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 58: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Überblick über Web-Frameworks

16.09.2010 Seite 58Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

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 59: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Überblick über Web-Frameworks

16.09.2010 Seite 59Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

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 60: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de 16.09.2010 Seite 60Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

1. Wichtige Begriffe

2. Kategorisierung

3. Einsatzmöglichkeiten

Agenda

(Einige Szenarien aus dem Unternehmensalltag)

Page 61: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Beispiel 1

16.09.2010 Seite 61Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Interne Anwendung zur Verwaltung von Daten

Geringe Kosten

GUI muss ihren „Job“

tun

Kein Aufwand für tolles Design

Nur „Must-Haves“

Page 62: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Beispiel 1

16.09.2010 Seite 62Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Internal Application for managing Data

Geringe Kosten

GUI muss ihren „Job“ machen

Kein Aufwand für tolles Design

Nur „Must-Haves“

CRUD

Page 63: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Beispiel 2

16.09.2010 Seite 63Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Einstellungstest für Bewerber

Optisch nicht anspruchsvoll

Muss kurze Netzwerk-Probleme überstehen

Gute Benutzbarkeit

Hohe Verfügbarkeit

Page 64: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Beispiel 2

16.09.2010 Seite 64Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Einstellungstest für Bewerber

Optisch nicht anspruchsvoll

Muss kurze Netzwerkprobleme

überstehen

Gute Benutzbarkeit

Hohe Verfügbarkeit

Rich Client

Page 65: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Beispiel 2

16.09.2010 Seite 65Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Unterhaltungssoftwarefür Marketingzwecke

Tolle OptikProfessionelles

Design

Gute Benutzbarkeit

Multimedia-Integration

Page 66: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Beispiel 3

16.09.2010 Seite 66Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Unterhaltungssoftwarefür Marketingzwecke

Tolle OptikProfessionelles

Design

Gute Benutzbarkeit

Multimedia-Integration

RIA

Page 67: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Beispiel 4

16.09.2010 Seite 67Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

ExterneUnternehmensdarstellung

Übersichtliche Struktur

Hohe Verfügbarkeit

Gute Benutzbarkeit

Schneller Zugriff

Page 68: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Beispiel 4

16.09.2010 Seite 68Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

ExterneUnternehmensdarstellung

Übersichtliche Struktur

Hohe Verfügbarkeit

Gute Benutzbarkeit

Schneller Zugriff

KlassischeWebanwendung

Page 69: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Beispiel 5

16.09.2010 Seite 69Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen16.09.2010 | Seite 69

Große Unternehmensanwendung

Integration mehrere Geschäftsbereiche in

eine Oberfläche

Mehrkanalfähige Prozesse

Offline-fähigkeit

Corporate Identity

Page 70: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Beispiel 5

16.09.2010 Seite 70Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

16.09.2010 | Seite 70

GroßeUnternehmensanwendung

Integration mehrere Geschäftsbereiche in eine

Oberfläche

Mehrkanalfähige Prozesse

Offline-fähigkeit

Corporate Identity

Portal

Page 71: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de 16.09.2010 Seite 71Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Trend oder Hype?

Page 72: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Trend oder Hype?

16.09.2010 Seite 72Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Page 73: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Trend oder Hype?

16.09.2010 Seite 73Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Page 74: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Trend oder Hype?

16.09.2010 Seite 74Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

IDE-Plugins Community

Komponenten-Bibliotheken

GUI-Builder

Fachbücher

Medienberichte (Konferenzen,

Blogs, Magazine)

Page 75: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Trend oder Hype?

16.09.2010 Seite 75Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen16.09.2010 | Seite 75

Page 76: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Trend oder Hype?

16.09.2010 Seite 76Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Page 77: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Trend oder Hype?

16.09.2010 Seite 77Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen16.09.2010 | Seite 77

Page 78: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Trend oder Hype?

16.09.2010 Seite 78Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Page 79: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Trend oder Hype?

16.09.2010 Seite 79Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Page 80: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Ist die "Key-Message" angekommen?

16.09.2010 Seite 80Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Page 81: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Was war das Ziel dieses Vortrags?

16.09.2010 Seite 81Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen16.09.2010 | Seite 81

Page 82: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

www.mwea.de

Ziel erreicht?

16.09.2010 Seite 82Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen

Time to

DevelopeShort Long

CRUD

Klassische Web-

Anwendung

Rich Internet Application

(RIA)

Rich Client

Portal

OfflineAJAX Multi-

Page

Und so weiter...

JSFGWT

JavaFXViele mehr...

Page 83: HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,

Vielen Dank!

Kai WähnerMaibornWolff et al GmbH

[email protected]

www.kai-waehner.de/blog