Date post: | 25-Jan-2015 |
Category: |
Technology |
Upload: | gfu-cyrus-ag |
View: | 2,023 times |
Download: | 1 times |
Java oberflächlich betrachtet
Welche GUI ist die richtige?
Treffpunkt Semicolon, GFU, 19.02.2008
Dirk Weil, GEDOPLAN GmbH
2007-11-20
2
Architekturen 200x
Mehrschichtige Architekturen
©S
un M
icro
syst
ems
3
Architekturen 200x
Mehrschichtige Architekturen
©S
un M
icro
syst
ems
"zu schwergewichtig""noch nicht"
"Schnee von
gestern"
"cool"
4
Struts
Web App Building Blocks
ServletServletServletServletJSPJSPJSPJSP
----------------- JSPJSPJSPJSP
----------------- JSPJSPJSPJSP
-----------------
BeanBeanBeanBeanBeanBeanBeanBeanBeanBeanBeanBean
5
JavaServer Faces
In Java EE seit 5/2006
MVC, Konvertierung, I18n, ...
Komponenten
Statushandling
Data Binding
6
JavaServer Faces
7
JavaServer Faces
<html>...
<rich:calendarvalue="#{demoBean.selectedDate}"popup="false"/>
<rich:treevalue="#{demoBean.treeValues}"var="treeNode"/>
...</html>
8
JavaServer Faces
<html>...
<rich:gmapstyle="width:400px;height:400px"lat="52.002"lng="8.589"/>
...</html>
9
Warum Web App?
Ressourcenbedarf im Client
Swing-Anwendungenbrauchen viel Speicher
Stimmt ...
auf'm PII mit 128 MB RAM
10
Warum nicht Desktop-Anwendung?
Clientseitige Installation
Ggf. Admin-Rechte nötig
Zeitaufwand
11
Automatische Softwareverteilung
Java Web Start
Download
Installation
Update
JRE und Applikation
JNLP
12
Automatische Softwareverteilung
Java Web Start Demo
http://java.sun.com/products/javawebstart/apps/swingset2.jnlp
13
Automatische Softwareverteilung
Eclipse RCP
Client-Framework
JFace / SWT
Produkt = JRE + RCP + App
Automatische Updates
14
Request Driven vs. Event Driven
Web Application
Request/Response
Grobgranulare UI-Updates
Desktop Application
Event-Modell
Listener, Observer
Feingranulare Änderungen
Tastatursteuerung
15
Web vs. Fat/Rich Client
User-Erwartung
Ergonomie
technische Randbedingungen
Web /Fat/Rich Client
16
Web vs. Fat/Rich Client
Web Clients
Kunden-Anwendungen
Einfache Präsentationslogik
Aufwändige Gestaltung
Fat/Rich Clients
Sachbearbeiter-Anwendungen
Komplexe GUIs
Aufwändige Präsentationslogik
Tastatursteuerung
17
Web vs. Fat/Rich Client
Weitere Entscheidungsfaktoren
Design oder Programmierung?
Java + HTML + JavaScript + JSP + JSF oder nur Java?
Debugging
Security
18
Web vs. Fat/Rich Client
Web App als Desktop Replacement?
19
AJAX
Asynchronous JavaScript and XML
XMLHttpRequest
Update von Teilen der Seite
XMLHttpRequest
HTML mitJavaScript
Request durch dasXMLHttpRequest-Objekt
Clientdocument
anchors applets forms images layers links
button checkbox hidden password radio reset
submit text textarea select
options
DOM der HTML-Seite
ServerVerarbeiten der
Anfrage
Daten alsXML, HTML,Plaintext
1.
2.
3.Update desSeiten-DOM
20
AJAX
21
AJAX
JavaScript kann abgeschaltet sein
Security
Asynchrone Verarbeitung kann problematisch sein
'AJAX-Verdrahtung' erhöht Komplexität
22
GWT
Google Web Toolkit
Java-to-JavaScript Compiler
AJAX
Auf Geschwindigkeit optimiert
Nicht als Desktop-Replacementgedacht
23
Fazit
Usererwartung bestimmt Anwendungstyp
Katalog, Shop, Information, ...
Portal
Leichtgewichtiger Zugriff
Datenpflege
Aufwändige Workflows
Installation akzeptabel
Web Client
Fat/Rich Client
24
Fazit
Falls Web-Anwendung:
JSF bietet tragfähige, standardisierte Basis
Ggf. AJAXJSF-Komponente
Saubere Architektur!
Falls Fat/Rich-Client
Swing (ggf. ergänzt) + Java Web Start
Alternativ Eclipse RCP
Saubere Architektur!
25
Und Sie?
Wie sind Ihre Erfahrungen?
Setzen Sie andere Frameworks ein?
Web? Fat/Rich? Gemischt?
26
Danke für's Kommen!