Java oberflächlich betrachtet


             Welche GUI ist die richtige?

             Treffpunkt Semicolon, GFU, 19.02.2...
Architekturen 200x

  Mehrschichtige Architekturen




                                 © Sun Microsystems
               ...
Architekturen 200x

  Mehrschichtige Architekturen



"cool"
"Schnee
  von
gestern"




                                  ...
Web App Building Blocks




                                             ---
                                             ...
JavaServer Faces

  In Java EE seit 5/2006
  MVC, Konvertierung, I18n, ...
  Komponenten
  Statushandling
  Data Binding

...
JavaServer Faces




                   6
JavaServer Faces

 <html>
 ...

 <rich:calendar
   value="#{demoBean.selectedDate}"
   popup="false"/>

 <rich:tree
   val...
JavaServer Faces

 <html>
 ...

 <rich:gmap
   style="width:400px;height:400px"
   lat="52.002"
   lng="8.589"/>

 ...
 </...
Warum Web App?

  Ressourcenbedarf im Client

      Swing-Anwendungen
      brauchen viel Speicher



                    ...
Warum nicht Desktop-Anwendung?

  Clientseitige Installation
      Ggf. Admin-Rechte nötig

     Zeitaufwand




         ...
Automatische Softwareverteilung

  Java Web Start
     Download
     Installation
     Update
     JRE und Applikation



...
Automatische Softwareverteilung

  Java Web Start Demo




      http://java.sun.com/products/javawebstart/apps/swingset2....
Automatische Softwareverteilung

  Eclipse RCP
      Client-Framework
      JFace / SWT
      Produkt = JRE + RCP + App
  ...
Request Driven vs. Event Driven

  Web Application
    Request/Response
    Grobgranulare UI-Updates

  Desktop Applicatio...
Web vs. Fat/Rich Client

                      Ergonomie
                             technische
                 User-   ...
Web vs. Fat/Rich Client

  Web Clients
    Kunden-Anwendungen
    Einfache Präsentationslogik
    Aufwändige Gestaltung

 ...
Web vs. Fat/Rich Client

  Weitere Entscheidungsfaktoren
    Design oder Programmierung?
    Java + HTML + JavaScript + JS...
Web vs. Fat/Rich Client

  Web App als Desktop Replacement?




                                     18
AJAX

  Asynchronous JavaScript and XML
  XMLHttpRequest
  Update von Teilen der Seite


                         Client  ...
AJAX




       20
AJAX

  JavaScript kann abgeschaltet sein
  Security
  Asynchrone Verarbeitung kann problematisch sein
  'AJAX-Verdrahtung...
GWT

 Google Web Toolkit
    Java-to-JavaScript Compiler
    AJAX
    Auf Geschwindigkeit optimiert
    Nicht als Desktop-...
Fazit

  Usererwartung bestimmt Anwendungstyp

  Katalog, Shop, Information, ...
  Portal                             Web ...
Fazit

  Falls Web-Anwendung:
      JSF bietet tragfähige, standardisierte Basis
      Ggf. AJAX
         JSF-Komponente
 ...
Und Sie?

  Wie sind Ihre Erfahrungen?

  Setzen Sie andere Frameworks ein?

  Web? Fat/Rich? Gemischt?




              ...
Danke für's Kommen!




                      26
Upcoming SlideShare
Loading in...5
×

Java oberflächlich betrachtet - Welche GUI ist die richtige?

2,129

Published on

Für die Entwicklung neuer Software gilt es bei der Wahl der Benutzeroberfläche (engl. GUI) einiges zu bedenken: Benutzerfreundlichkeit, technische Zuverlässigkeit, Geschwindigkeit, Verteilbarkeit und nicht zuletzt Wirtschaftlichkeit. Zusätzlich kommen immer komplexere, Desktop-ähnliche Anforderungen auf die GUI-Architektur und -Entwicklung zu.

Herr Weil diskutiert in diesem Treffpunkt die folgenden Fragestellungen und gibt Hilfestellungen für die Wahl der geeigneten Vorgehensweise:

Welche Architekturanteile werden in Java-Anwendungen genutzt?
Webanwendung oder Rich Client?
Wie hält man Rich Clients aktuell?
Welche Web-Techniken wie z.B. AJAX und GWT können sinnvoll eingesetzt werden?

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,129
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
14
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Java oberflächlich betrachtet - Welche GUI ist die richtige?

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

    Clipping is a handy way to collect important slides you want to go back to later.

×