HERBSTCAMPUS 2010 - Comparison and Categorization of Java Web Frameworks (JSF, Wicket, Tapestry, GWT, ZK, Flex, JavaFX, Grails, Lift, Spring MVC / Roo,
Upcoming SlideShare
Loading in...5
×
 

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

on

  • 2,960 views

Categorizes all important Java Web Frameworks (Classic Web Application, CRUD, Rich Client, Rich Internet Application, Portal). ...

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

Statistics

Views

Total Views
2,960
Views on SlideShare
2,960
Embed Views
0

Actions

Likes
2
Downloads
58
Comments
2

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

  • Kategorisierung von Web-Frameworks im Java-Umfeld Gobelingewebe Kai Wähner MaibornWolff et al GmbH
  • Unüberschaubare Auswahl im Alltag www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 2
  • Unüberschaubare Auswahl bei Web-Frameworks www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 3
  • Viele gute Artikel in Fachzeitschriften www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 4
  • Flame War – unerwünscht, aber überall existent 16.09.2010 | Seite 5 www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 5
  • Keine Auflistung von Features einzelner Frameworks Bullet Point Boot Camp www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 6
  • Keine Quellcode-Beispiele www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 7
  • Was ist die "Key-Message"? www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 8
  • Ermöglichen eine Entscheidung zu treffen www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 9
  • Kategorisierung wird benötigt BUCHSTABEN NUMMERN SPRACHEN Z 1 IV „Japanisch“ Y 667 „Englisch“ A C XX „Deutsch“ www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 10
  • Ziele dieses Vortrags BUCHSTABEN NUMMERN SPRACHEN Z 1 IV „Japanisch“ Y 667 „Englisch“ A C XX „Deutsch“ Wichtige Begriffe verstehen! www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 11
  • Ziele dieses Vortrags BUCHSTABEN NUMMERN SPRACHEN Z 1 IV „Japanisch“ Y 667 „Englisch“ A C XX „Deutsch“ Wichtige Begriffe verstehen! Web-Frameworks kagegorisieren! www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 12
  • Ziele dieses Vortrags BUCHSTABEN NUMMERN SPRACHEN Z 1 IV „Japanisch“ Y 667 „Englisch“ A C XX „Deutsch“ Wichtige Begriffe verstehen! Web-Frameworks kagegorisieren! Entscheidung treffen können! www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 13
  • Agenda 1. Wichtige Begriffe 2. Kategorisierung 3. Einsatzmöglichkeiten www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 14
  • Agenda 1. Wichtige Begriffe (bezüglich Webentwicklung) 2. Kategorisierung 3. Einsatzmöglichkeiten www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 15
  • Das wichtigste Modewort: Web 2.0 www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 16
  • Web 2.0 – technisch betrachtet: AJAX www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 17
  • Was ist AJAX nicht? www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 18
  • Was ist AJAX nicht? www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 19
  • Definition von AJAX AJAX is a group of interrelated web development techniques used on the client-side to create interactive web applications. (Wikipedia) www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 20
  • Klassische Kommunikation vs. AJAX www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 21
  • Klassische Kommunikation vs. AJAX Client-Anfrage + Server-Antwort www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 22
  • Klassische Kommunikation vs. AJAX HTML DOM JavaScript JSON / XML XMLHttpRequest- Objekt www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 23
  • Multi-Page vs. Single-Page Suche Artikel Waren- Startseite katalog Wähle Artikel aus Kunden- Warenkorb verwaltung Bestelle Artikel www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 24
  • Multi-Page vs. Single-Page Schreibe Email Web- anwendun Zeige Eingang an g Suche Email XYZ www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 25
  • Server-zentrisch vs. Client-zentrisch Bei jedem Request: Request Client Server Response: GUI + Daten www.mwea.de Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner) 9/16/2010 Seite 26
  • Server-zentrisch vs. Client-zentrisch Beim ersten Request: Request Client Server Response: Vollständige GUI + Daten www.mwea.de Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner) 9/16/2010 Seite 27
  • Server-zentrisch vs. Client-zentrisch Bei weiteren Requests: Request Client Server Response: GUI + zugehörige Steuerungslogik Beim ersten Request: Request Client Server Response: Vollständige GUI + Daten www.mwea.de Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner) 9/16/2010 Seite 28
  • Action-basiert vs. Komponenten-basiert Request Client Server Response www.mwea.de Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner) 9/16/2010 Seite 29
  • Action-basiert vs. Komponenten-basiert Button Table Request Client Server Response Dropdown- Box Custom Component www.mwea.de Einsatz und Grenzen von Java Server Faces 2.0 (Kai Wähner) 9/16/2010 Seite 30
  • Mehrkanal-Fähigkeit Webanwendung www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 31
  • Offline-Fähigkeit www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 32
  • Agenda 1. Wichtige Begriffe 2. Kategorisierung (von Web-Frameworks) 3. Einsatzmöglichkeiten www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 33
  • Welche Kriterien zur Bewertung von Web- Frameworks? www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 34
  • Mögliche Kriterien zur Bewertung von Web- Frameworks Lesezeichen Internationalsierung Einige weitere... AJAX „Post- Redirect- Problem“ 16.09.2010 | Seite 35 www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 35
  • Die Kriterien sind bereits durchgängig erfüllt Lesezeichen Internationalisierung Einige weitere... AJAX „Post- Redirect- Problem“ www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 36
  • Kategorisierung von Web-Frameworks Klassische Portal Web- CRUD Anwendung Zeit- aufwand Kurz Lang Rich Internet Rich Client Application (RIA) www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 37
  • Klassische Webanwendung www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 38
  • Klassische Webanwendung www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 39
  • Klassische Webanwendung www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 40
  • Klassische Webanwendung Technisch betrachtet: Kein Plugin notwendig Browser-Kompatibilitätsprobleme (besonders bei AJAX) www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 41
  • ;Mögliche Web-Frameworks Klassische Webanwendung 16.09.2010 | Seite 42 www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 42
  • Rich Internet Application (RIA) www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 43
  • Rich Internet Application (RIA) Technisch betrachtet: GUI wird bei Start auf Client geladen Plugin notwendig www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 44
  • Mögliche Web-Frameworks Rich Internet Application (RIA) www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 45
  • Rich Client www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 46
  • Rich Client Technisch betrachtet: GUI wird bei Start auf Client geladen Kein Plugin notwendig Keine Browser-Kompatibilitätsprobleme www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 47
  • Mögliche Web-Frameworks Rich Client 16.09.2010 | Seite 48 www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 48
  • CRUD Client (Create – Read – Update – Delete) www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 49
  • CRUD Client (Create – Read – Update – Delete) Technisch betrachtet: Für Client kein Unterschied zur klassischen Webanwendung „Full Stack“-Framework Ziel: Effizientere Entwicklung www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 50
  • Mögliche Web-Frameworks CRUD Client (Roma Framework) www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 51
  • Portal www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 52
  • Portal Technisch betrachtet: Portlet-Standard Action-Phase und Render-Phase „Low-Level“-Programmierung www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 53
  • Mögliche Web-Frameworks Portal 16.09.2010 | Seite 54 www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 54
  • Überblick über Web-Frameworks Komplexität hoch Lift Flex JavaFX Grails JSF Spring MVC Klassische Web- RIA anwendung Tapestr GWT Struts y ZK Frame Wicket work Roma Frame work Komplexität gering www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 55
  • Überblick über Web-Frameworks Komplexität hoch Lift Grails CRUD JavaFX Flex JSF Spring MVC Klassische Web- RIA anwendung Tapestr GWT Struts y ZK Frame Wicket work Roma Frame work Komplexität gering www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 56
  • Überblick über Web-Frameworks Komplexität hoch Lift Klassische Flex Grails Webanwendung JavaFX JSF Spring MVC Klassische Web- RIA anwendung Tapestr GWT Struts y ZK Frame Wicket work Roma Frame work Komplexität gering www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 57
  • Überblick über Web-Frameworks Komplexität hoch Lift Flex JavaFX Grails Spring JSF Rich Client MVC Klassische Web- RIA anwendung Tapestr GWT Struts y ZK Frame Wicket work Roma Frame work Komplexität gering www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 58
  • Überblick über Web-Frameworks Komplexität hoch Lift Flex JavaFX Grails Spring MVC JSF RIA Klassische Web- RIA anwendung Tapestr GWT Struts y ZK Frame Wicket work Roma Frame work Komplexität gering www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 59
  • Agenda 1. Wichtige Begriffe 2. Kategorisierung 3. Einsatzmöglichkeiten (Einige Szenarien aus dem Unternehmensalltag) www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 60
  • Beispiel 1 GUI muss Geringe ihren „Job“ Kosten tun Interne Anwendung zur Verwaltung von Daten Kein Nur „Must- Aufwand für Haves“ tolles Design www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 61
  • Beispiel 1 GUI muss Geringe ihren „Job“ Kosten machen Internal Application for managing Data Kein Aufwand Nur „Must- für tolles Haves“ Design CRUD www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 62
  • Beispiel 2 Optisch nicht Muss kurze Netzwerk- anspruchsvoll Probleme überstehen Einstellungstest für Bewerber Gute Hohe Verfügbarkeit Benutzbarkeit www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 63
  • Beispiel 2 Muss kurze Optisch nicht Netzwerkprobleme anspruchsvoll überstehen Einstellungstest für Bewerber Gute Hohe Benutzbarkeit Verfügbarkeit Rich Client www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 64
  • Beispiel 2 Professionelles Tolle Optik Design Unterhaltungssoftware für Marketingzwecke Gute Multimedia- Benutzbarkeit Integration www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 65
  • Beispiel 3 Professionelles Tolle Optik Design Unterhaltungssoftware für Marketingzwecke Gute Multimedia- Benutzbarkeit Integration RIA www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 66
  • Beispiel 4 Übersichtliche Hohe Struktur Verfügbarkeit Externe Unternehmensdarstellung Gute Schneller Benutzbarkeit Zugriff www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 67
  • Beispiel 4 Übersichtliche Hohe Struktur Verfügbarkeit Externe Unternehmensdarstellung Gute Schneller Zugriff Benutzbarkeit Klassische Webanwendung www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 68
  • Beispiel 5 Integration mehrere Mehrkanalfähige Geschäftsbereiche in Prozesse eine Oberfläche Große Unternehmensanwendung Offline- Corporate fähigkeit Identity 16.09.2010 | Seite 69 www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 69
  • Beispiel 5 Integration mehrere Mehrkanalfähige Geschäftsbereiche in eine Prozesse Oberfläche Große Unternehmensanwendung Offline- Corporate fähigkeit Identity Portal www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 70 16.09.2010 | Seite 70
  • Trend oder Hype? www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 71
  • Trend oder Hype? www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 72
  • Trend oder Hype? www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 73
  • Trend oder Hype? IDE- Plugins Community Fachbücher Komponenten- Bibliotheken Medienberichte (Konferenzen, Blogs, Magazine) GUI-Builder www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 74
  • Trend oder Hype? 16.09.2010 | Seite 75 www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 75
  • Trend oder Hype? www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 76
  • Trend oder Hype? 16.09.2010 | Seite 77 www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 77
  • Trend oder Hype? www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 78
  • Trend oder Hype? www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 79
  • Ist die "Key-Message" angekommen? www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 80
  • Was war das Ziel dieses Vortrags? 16.09.2010 | Seite 81 www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 81
  • Ziel erreicht? AJAX Multi- Offline Page Und so weiter... Klassische Portal Web- CRUD Anwendung Time to Short Long Develope Rich Internet Rich Application Client (RIA) JSF GWT JavaFX Viele mehr... www.mwea.de Bitte unter Einfügen/Foliennummer den Präsentationsnamen einpflegen 16.09.2010 Seite 82
  • Vielen Dank! Kai Wähner MaibornWolff et al GmbH kai.waehner@mwea.de www.kai-waehner.de/blog