Unüberschaubare Auswahl im Alltag 1/11/2011 Seite 2
Unüberschaubare Auswahl bei Web-Frameworks 1/11/2011 Seite 3
Viele gute Artikel in Fachzeitschriften 1/11/2011 Seite 4
Flame War unerwünscht, aber überall existent 1/11/2011 Seite 5
Keine Auflistung von Features einzelner Frameworks Bullet Point Boot Camp 1/11/2011 Seite 6
Keine Quellcode-Beispiele 1/11/2011 Seite 7
Was ist die "Key-Message"? 1/11/2011 Seite 8
Ermöglichen eine Entscheidung zu treffen 1/11/2011 Seite 9
Kategorisierung wird benötigt BUCHSTABEN NUMMERN SPRACHEN A Z 1 Y C XX IV 667 Englisch Deutsch Japanisch 1/11/2011 Seite 10
Ziele dieses Vortrags BUCHSTABEN NUMMERN SPRACHEN A Z 1 Y C XX IV 667 Englisch Deutsch Japanisch Wichtige Begriffe verstehen! 1/11/2011 Seite 11
Ziele dieses Vortrags BUCHSTABEN NUMMERN SPRACHEN A Z 1 Y C XX IV 667 Englisch Deutsch Japanisch Wichtige Begriffe verstehen! Web-Frameworks kagegorisieren! 1/11/2011 Seite 12
Ziele dieses Vortrags BUCHSTABEN NUMMERN SPRACHEN A Z 1 Y C XX IV 667 Englisch Deutsch Japanisch Wichtige Begriffe verstehen! Web-Frameworks kagegorisieren! Entscheidung treffen können! 1/11/2011 Seite 13
Agenda 1. Wichtige Begriffe 2. Kategorisierung 3. Einsatzmöglichkeiten 1/11/2011 Seite 14
Agenda 1. Wichtige Begriffe (bezüglich Webentwicklung) 2. Kategorisierung 3. Einsatzmöglichkeiten 1/11/2011 Seite 15
Das wichtigste Modewort: Web 2.0 1/11/2011 Seite 16
Web 2.0 technisch betrachtet: AJAX 1/11/2011 Seite 17
Was ist AJAX nicht? 1/11/2011 Seite 18
Was ist AJAX nicht? 1/11/2011 Seite 19
Definition von AJAX AJAX is a group of interrelated web development techniques used on the client-side to create interactive web applications. (Quelle: Wikipedia) 1/11/2011 Seite 20
Klassische Kommunikation vs. AJAX 1/11/2011 Seite 21
Klassische Kommunikation vs. AJAX Client-Anfrage + Server-Antwort 1/11/2011 Seite 22
Klassische Kommunikation vs. AJAX HTML DOM JavaScript JSON / XML XMLHttpRequest- Objekt 1/11/2011 Seite 23
Multi-Page vs. Single-Page Startseite Suche Artikel Wähle Artikel aus Warenkatalog Kundenverwaltung Bestelle Artikel Warenkorb 1/11/2011 Seite 24
Multi-Page vs. Single-Page Schreibe Email Webanwendun g Zeige Eingang an Suche Email XYZ 1/11/2011 Seite 25
Server-zentrisch vs. Client-zentrisch Bei jeder Anfrage: Anfrage Client Server Antwort: Für diese Darstellung notwendige GUI + Daten 1/11/2011 Seite 26
Server-zentrisch vs. Client-zentrisch Bei der ersten Anfrage: Anfrage Client Server Antwort: Vollständige GUI + Daten 1/11/2011 Seite 27
Server-zentrisch vs. Client-zentrisch Bei weiteren Anfragen: Anfrage Client Server Antwort: Daten Beim der ersten Anfrage: Anfrage Client Antwort: Vollständige GUI + Daten Server 1/11/2011 Seite 28
Action-basiert vs. Komponenten-basiert Anfrage Client Server Antwort 1/11/2011 Seite 29
Action-basiert vs. Komponenten-basiert Button Client Anfrage Antwort Server Table Dropdown- Box Custom Component 1/11/2011 Seite 30
Agenda 1. Wichtige Begriffe 2. Kategorisierung (von Web-Frameworks) 3. Einsatzmöglichkeiten 1/11/2011 Seite 31
Welche Kriterien zur Bewertung von Web- Frameworks? 1/11/2011 Seite 32
Mögliche Kriterien zur Bewertung von Web- Frameworks Internationalsierung Lesezeichen Validierung Templates AJAX Post- Redirect- Problem Einige weitere... 1/11/2011 Seite 33
Mögliche Kriterien zur Bewertung von Web- Frameworks Internationalsierung Lesezeichen Validierung Templates AJAX Post- Redirect- Problem Einige weitere... 1/11/2011 Seite 34
Arten von Webanwendungen Kurz CRUD Klassische Web- Anwendung Portal Lang Zeitaufwand Rich Client Rich Internet Application (RIA) 1/11/2011 Seite 35
Arten von Webanwendungen Darstellung Technische Aspekte Verfügbare Web-Frameworks Kurz CRU D Klassische Web- Anwendung Rich Client Rich Internet Application (RIA) Portal Lang Zeitaufwand 1/11/2011 Seite 36
Klassische Webanwendung 1/11/2011 Seite 37
Klassische Webanwendung Technisch betrachtet: Kein Plugin notwendig Browser-Kompatibilitätsprobleme (besonders bei AJAX) 1/11/2011 Seite 38
Mögliche Web-Frameworks Klassische Webanwendung 1/11/2011 Seite 39
Mögliche Web-Frameworks Klassische Webanwendung Action-basiert 1/11/2011 Seite 40
Mögliche Web-Frameworks Klassische Webanwendung Komponenten-basiert 1/11/2011 Seite 41
Rich Internet Application (RIA) 1/11/2011 Seite 42
Rich Internet Application (RIA) Technisch betrachtet: GUI wird bei Start auf Client geladen Plugin notwendig Keine Browser-Kompatibilitätsprobleme 1/11/2011 Seite 43
Mögliche Web-Frameworks Rich Internet Application (RIA) 1/11/2011 Seite 44
Mögliche Web-Frameworks Rich Internet Application (RIA) MXML + ActionScript 1/11/2011 Seite 45
Mögliche Web-Frameworks Rich Internet Application (RIA) Bis 2010: JavaFX Script Ab 2011: Java 1/11/2011 Seite 46
Rich Client 1/11/2011 Seite 47
Rich Client Technisch betrachtet: GUI wird bei beim Start (zumindest großteils) auf Client geladen Kein Plugin notwendig Keine Browser-Kompatibilitätsprobleme 1/11/2011 Seite 48
Mögliche Web-Frameworks Rich Client 1/11/2011 Seite 49
Mögliche Web-Frameworks Rich Client Server-zentrisch 1/11/2011 Seite 50
Mögliche Web-Frameworks Rich Client Client-zentrisch 1/11/2011 Seite 51
CRUD Client (Create Read Update Delete) 1/11/2011 Seite 52
CRUD Client (Create Read Update Delete) Technisch betrachtet: Für Client kein Unterschied zur klassischen Webanwendung Full Stack -Framework Ziel: Effizientere Entwicklung 1/11/2011 Seite 53
Mögliche Web-Frameworks CRUD Client (Roma Framework) 1/11/2011 Seite 54
Mögliche Web-Frameworks CRUD Client (Roma Framework) Kein Java Groovy / Scala 1/11/2011 Seite 55
Mögliche Web-Frameworks CRUD Client (Roma Framework) Java 1/11/2011 Seite 56
Portal 1/11/2011 Seite 57
Portal Technisch betrachtet: Zusätzlich zu Web-Framework(s) Portlet-Standard Action-Phase und Render-Phase 1/11/2011 Seite 58
Mögliche Web-Frameworks Portal* *: zusätzlich zu Web-Framework(s) 1/11/2011 Seite 59
Überblick über Web-Frameworks im Java-Umfeld Lift Komplexität* hoch Flex Grails JavaFX (2010) Klassische Webanwendung Spring MVC Struts Wicket Tapestr y JSF ZK Frame work GWT Vaadin JavaFX (2011) RIA Open Xava Sprin g Roo Play Rom a Komplexität* niedrig *: aus Sicht eines Java-Entwicklers 1/11/2011 Seite 60
Überblick über Web-Frameworks im Java-Umfeld Komplexität* hoch Lift CRUD Flex Grails Client JavaFX (2010) Klassische Webanwendung Spring MVC Struts Wicket Tapestr y JSF ZK Frame work GWT Vaadin JavaFX (2011) RIA Open Xava Sprin g Roo Play Rom a Komplexität* niedrig *: aus Sicht eines Java-Entwicklers 1/11/2011 Seite 61
Überblick über Web-Frameworks im Java-Umfeld Komplexität* hoch Lift Grails Klassische Webanwendung JavaFX (2010) Flex Klassische Webanwendung Spring MVC Struts Wicket Tapestr y JSF ZK Frame work GWT Vaadin JavaFX (2011) RIA Open Xava Sprin g Roo Play Rom a Komplexität* niedrig *: aus Sicht eines Java-Entwicklers 1/11/2011 Seite 62
Überblick über Web-Frameworks im Java-Umfeld Lift Komplexität* hoch Flex Grails JavaFX (2010) Rich Client Klassische Webanwendung Spring MVC Struts Wicket Tapestr y JSF ZK Frame work GWT Vaadin JavaFX (2011) RIA Open Xava Sprin g Roo Play Rom a Komplexität* niedrig *: aus Sicht eines Java-Entwicklers 1/11/2011 Seite 63
Überblick über Web-Frameworks im Java-Umfeld Lift Komplexität* hoch Flex Grails RIA JavaFX (2010) Klassische Webanwendung Open Xava Spring MVC Struts Sprin g Roo Wicket Tapestr y JSF ZK Frame work GWT Vaadin JavaFX (2011) RIA Play Rom a Komplexität* niedrig *: aus Sicht eines Java-Entwicklers 1/11/2011 Seite 64
Überblick über Web-Frameworks im Java-Umfeld Grails Komplexität* hoch JSF = Lift Klassische Webanwendung oder Portal JavaF X (2010) Flex Klassische Webanwendung Open Xava Sprin g MVC Struts Sprin g Roo Wicket Tapestr y JSF ZK Fram ework GWT Vaadin JavaFX (2011) RIA Play Rom a Komplexität* gering *: aus Sicht eines Java-Entwicklers 1/11/2011 Seite 65
Überblick über Web-Frameworks im Java-Umfeld Komplexität* hoch Lift Grails JSF + seam-gen = CRUD Client JSF Klassische Webanwendung JSF + Seam RIA Open Xava Sprin g Roo Play Rom a Komplexität* niedrig *: aus Sicht eines Java-Entwicklers 1/11/2011 Seite 66
Überblick über Web-Frameworks im Java-Umfeld Komplexität* hoch Klassische Webanwendung JSF JSF + CaptainCasa = Rich Client JSF + Captain Casa ZK Fram ework GWT Vaadin RIA Komplexität* niedrig *: aus Sicht eines Java-Entwicklers 1/11/2011 Seite 67
Überblick über Web-Frameworks im Java-Umfeld Komplexität* hoch JSF + JSF- Flex JavaF X (2010) Flex Klassische Webanwendung JSF JavaFX (2011) JSF + Fiji RIA JSF + RIA Framework + Klebstoff = RIA Komplexität* gering *: aus Sicht eines Java-Entwicklers 1/11/2011 Seite 68
Agenda 1. Wichtige Begriffe 2. Kategorisierung 3. Einsatzmöglichkeiten (Einige Szenarien aus dem Unternehmensalltag) 1/11/2011 Seite 69
Beispiel 1 Geringe Kosten GUI muss ihren Job tun Interne Anwendung zur Verwaltung von Daten Kein Aufwand für tolles Design Nur Must- Haves 1/11/2011 Seite 70
Beispiel 1 Geringe Kosten GUI muss ihren Job machen Interne Anwendung zur Verwaltung von Daten Kein Aufwand für tolles Design Nur Must- Haves CRUD Client 1/11/2011 Seite 71
Beispiel 2 Optisch nicht anspruchsvoll Einstellungstest für Bewerber Gute Benutzbarkeit Hohe Verfügbarkeit 1/11/2011 Seite 72
Beispiel 2 Optisch nicht anspruchsvoll Einstellungstest für Bewerber Gute Benutzbarkeit Hohe Verfügbarkeit Rich Client 1/11/2011 Seite 73
Exkurs Java WebStart 1/11/2011 Seite 74
Beispiel 3 Tolle Optik Professionelles Design Unterhaltungssoftware für Marketingzwecke Gute Benutzbarkeit Multimedia- Integration 1/11/2011 Seite 75
Beispiel 3 Tolle Optik Professionelles Design Unterhaltungssoftware für Marketingzwecke Gute Benutzbarkeit Multimedia- Integration Rich Internet Application 1/11/2011 Seite 76
Beispiel 4 Übersichtliche Struktur Hohe Verfügbarkeit Externe Unternehmensdarstellung Gute Benutzbarkeit Schneller Zugriff 1/11/2011 Seite 77
Beispiel 4 Übersichtliche Struktur Hohe Verfügbarkeit Externe Unternehmensdarstellung Gute Benutzbarkeit Schneller Zugriff Klassische Webanwendung 1/11/2011 Seite 78
Beispiel 5 Integration mehrere Geschäftsbereiche in eine Oberfläche Mehrkanalfähige Prozesse Große Unternehmensanwendung Single- Sign-On Corporate Identity 1/11/2011 Seite 79
Beispiel 5 Integration mehrere Geschäftsbereiche in eine Oberfläche Mehrkanalfähige Prozesse Große Unternehmensanwendung Portal-Server:??? Single- Sign-On Corporate Identity Portal 1/11/2011 Seite 80 11.01.2011 Seite 80
Trend oder Hype? 1/11/2011 Seite 81
Trend oder Hype? 1/11/2011 Seite 82
Trend oder Hype? 1/11/2011 Seite 83
Trend oder Hype? Community Fachbücher IDE- Plugins Komponenten- Bibliotheken Medienberichte (Konferenzen, Blogs, Magazine) GUI-Builder Job-Inserate (Monster, StepStone, etc.) 1/11/2011 Seite 84
Trend oder Hype? 1/11/2011 Seite 85
Trend oder Hype? 1/11/2011 Seite 86
Trend oder Hype? 1/11/2011 Seite 87
Trend oder Hype? 1/11/2011 Seite 88
Trend oder Hype? 1/11/2011 Seite 89
Trend oder Hype? vs. 1/11/2011 Seite 90
Trend oder Hype? 1/11/2011 Seite 91
Trend oder Hype? 1/11/2011 Seite 92
Ist die "Key-Message" angekommen? 1/11/2011 Seite 93
Was war das Ziel dieses Vortrags? 1/11/2011 Seite 94
Ziel erreicht? Serverzentrisch Multi- Page AJAX Und so weiter... JSF GWT Viele mehr... 1/11/2011 Seite 95
Ziel erreicht? Serverzentrisch Multi- Page AJAX Und so weiter... Short CRU D Klassische Web- Anwendung Portal Long Time to Develope Rich Client Rich Internet Application (RIA) JavaFX JSF GWT Viele mehr... 1/11/2011 Seite 96
Ziel erreicht? Serverzentrisch Multi- Page AJAX Und so weiter... Short CRU D Klassische Web- Anwendung Portal Long Time to Develope Rich Client Rich Internet Application (RIA) JavaFX JSF GWT Viele mehr... 1/11/2011 Seite 97
Ist die "Key-Message" angekommen? 1/11/2011 Seite 98
Fragen? Interesse an Live Demo Spring Roo? Kontakt MaibornWolff et al: Email: kai.waehner@mwea.de Twitter: @KaiWaehner Blog: www.kai-waehner.de/blog