SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
Java oberflächlich betrachtet


             Welche GUI ist die richtige?

             Treffpunkt Semicolon, GFU, 19.02.2008

             Dirk Weil, GEDOPLAN GmbH
2007-11-20
Architekturen 200x

  Mehrschichtige Architekturen




                                 © Sun Microsystems
                                                      2
Architekturen 200x

  Mehrschichtige Architekturen



"cool"
"Schnee
  von
gestern"




                                                        © Sun Microsystems
           "noch nicht"          "zu schwergewichtig"

                                                                             3
Web App Building Blocks




                                             ---
                                                ---
                                            ----- ---
                                               -----
                                              -- -----
                                                 --
                                             ---- --
                                                ----
                        Servlet              --- ----
                                                ---  JSP
                                                       JSP
                                                   ---
                                                         JSP




                                  Bean
                                   Bean
                                     Bean
               Struts

                                                               4
JavaServer Faces

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




                                  5
JavaServer Faces




                   6
JavaServer Faces

 <html>
 ...

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

 <rich:tree
   value="#{demoBean.treeValues}"
   var="treeNode"/>

 ...
 </html>




                                      7
JavaServer Faces

 <html>
 ...

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

 ...
 </html>




                                      8
Warum Web App?

  Ressourcenbedarf im Client

      Swing-Anwendungen
      brauchen viel Speicher



                         Stimmt ...
                auf'm PII mit 128 MB RAM




                                           9
Warum nicht Desktop-Anwendung?

  Clientseitige Installation
      Ggf. Admin-Rechte nötig

     Zeitaufwand




                                 10
Automatische Softwareverteilung

  Java Web Start
     Download
     Installation
     Update
     JRE und Applikation




                           JNLP




                                  11
Automatische Softwareverteilung

  Java Web Start Demo




      http://java.sun.com/products/javawebstart/apps/swingset2.jnlp


                                                                      12
Automatische Softwareverteilung

  Eclipse RCP
      Client-Framework
      JFace / SWT
      Produkt = JRE + RCP + App
      Automatische Updates




                                  13
Request Driven vs. Event Driven

  Web Application
    Request/Response
    Grobgranulare UI-Updates

  Desktop Application
     Event-Modell
     Listener, Observer
     Feingranulare Änderungen
     Tastatursteuerung



                                  14
Web vs. Fat/Rich Client

                      Ergonomie
                             technische
                 User-       Randbedingungen
                 Erwartung




                   Web /Fat/Rich Client




                                               15
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
Web vs. Fat/Rich Client

  Weitere Entscheidungsfaktoren
    Design oder Programmierung?
    Java + HTML + JavaScript + JSP + JSF oder nur Java?
    Debugging
    Security




                                                          17
Web vs. Fat/Rich Client

  Web App als Desktop Replacement?




                                     18
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
AJAX




       20
AJAX

  JavaScript kann abgeschaltet sein
  Security
  Asynchrone Verarbeitung kann problematisch sein
  'AJAX-Verdrahtung' erhöht Komplexität




                                                    21
GWT

 Google Web Toolkit
    Java-to-JavaScript Compiler
    AJAX
    Auf Geschwindigkeit optimiert
    Nicht als Desktop-Replacement
    gedacht




                                    22
Fazit

  Usererwartung bestimmt Anwendungstyp

  Katalog, Shop, Information, ...
  Portal                             Web Client
  Leichtgewichtiger Zugriff

  Datenpflege
  Aufwändige Workflows               Fat/Rich Client
  Installation akzeptabel



                                                       23
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
Und Sie?

  Wie sind Ihre Erfahrungen?

  Setzen Sie andere Frameworks ein?

  Web? Fat/Rich? Gemischt?




                                      25
Danke für's Kommen!




                      26

Mais conteúdo relacionado

Mais procurados

Elastische Skalierbarkeit für Web-Anwendungen
Elastische Skalierbarkeit für Web-AnwendungenElastische Skalierbarkeit für Web-Anwendungen
Elastische Skalierbarkeit für Web-AnwendungenAxel Irriger
 
Introduction to JEE
Introduction to JEEIntroduction to JEE
Introduction to JEEguestc44b7b
 
JBoss AS 7 als Plattform moderner Enterprise-Anwendungen
JBoss AS 7 als Plattform moderner Enterprise-AnwendungenJBoss AS 7 als Plattform moderner Enterprise-Anwendungen
JBoss AS 7 als Plattform moderner Enterprise-Anwendungengedoplan
 
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDISchlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDIadesso AG
 
May the forge be with you
May the forge be with youMay the forge be with you
May the forge be with youSandro Sonntag
 
Wie viel Client braucht das Web?JSF, Vaadin und AngularJS im Vergleich
Wie viel Client braucht das Web?JSF, Vaadin und AngularJS im VergleichWie viel Client braucht das Web?JSF, Vaadin und AngularJS im Vergleich
Wie viel Client braucht das Web?JSF, Vaadin und AngularJS im Vergleichgedoplan
 
2. Technologie-Tag - Frontend Architektur
2. Technologie-Tag - Frontend Architektur2. Technologie-Tag - Frontend Architektur
2. Technologie-Tag - Frontend ArchitekturNico Steiner
 

Mais procurados (7)

Elastische Skalierbarkeit für Web-Anwendungen
Elastische Skalierbarkeit für Web-AnwendungenElastische Skalierbarkeit für Web-Anwendungen
Elastische Skalierbarkeit für Web-Anwendungen
 
Introduction to JEE
Introduction to JEEIntroduction to JEE
Introduction to JEE
 
JBoss AS 7 als Plattform moderner Enterprise-Anwendungen
JBoss AS 7 als Plattform moderner Enterprise-AnwendungenJBoss AS 7 als Plattform moderner Enterprise-Anwendungen
JBoss AS 7 als Plattform moderner Enterprise-Anwendungen
 
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDISchlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
 
May the forge be with you
May the forge be with youMay the forge be with you
May the forge be with you
 
Wie viel Client braucht das Web?JSF, Vaadin und AngularJS im Vergleich
Wie viel Client braucht das Web?JSF, Vaadin und AngularJS im VergleichWie viel Client braucht das Web?JSF, Vaadin und AngularJS im Vergleich
Wie viel Client braucht das Web?JSF, Vaadin und AngularJS im Vergleich
 
2. Technologie-Tag - Frontend Architektur
2. Technologie-Tag - Frontend Architektur2. Technologie-Tag - Frontend Architektur
2. Technologie-Tag - Frontend Architektur
 

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

Björn Müller, CaptainCasa, Business Application Forum
Björn Müller, CaptainCasa, Business Application ForumBjörn Müller, CaptainCasa, Business Application Forum
Björn Müller, CaptainCasa, Business Application ForumAberla
 
B1 Lotusday 2008 Vortrag X Forms Rapid Development
B1 Lotusday 2008 Vortrag X Forms Rapid DevelopmentB1 Lotusday 2008 Vortrag X Forms Rapid Development
B1 Lotusday 2008 Vortrag X Forms Rapid DevelopmentAndreas Schulte
 
MT AG: Ajax Rezepte fuer web services mit jquery und ajax
MT AG: Ajax Rezepte fuer web services mit jquery und ajaxMT AG: Ajax Rezepte fuer web services mit jquery und ajax
MT AG: Ajax Rezepte fuer web services mit jquery und ajaxMT AG
 
Wieviel client braucht das web
Wieviel client braucht das webWieviel client braucht das web
Wieviel client braucht das webgedoplan
 
HTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenHTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenMayflower GmbH
 
Wieviel Client braucht das Web?
Wieviel Client braucht das Web?Wieviel Client braucht das Web?
Wieviel Client braucht das Web?gedoplan
 
Creasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform AppsCreasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform AppsCreasoft AG
 
Ajax in domino web-anwendungen - der nächste schritt
Ajax in domino web-anwendungen - der nächste schrittAjax in domino web-anwendungen - der nächste schritt
Ajax in domino web-anwendungen - der nächste schrittdominion
 
Whitepaper Infopark Cloud Express
Whitepaper Infopark Cloud ExpressWhitepaper Infopark Cloud Express
Whitepaper Infopark Cloud ExpressJustRelate
 
Citrus Agile Testing Meetup (german)
Citrus Agile Testing Meetup (german)Citrus Agile Testing Meetup (german)
Citrus Agile Testing Meetup (german)christophd
 
Microservices mit Java EE - am Beispiel von IBM Liberty
Microservices mit Java EE - am Beispiel von IBM LibertyMicroservices mit Java EE - am Beispiel von IBM Liberty
Microservices mit Java EE - am Beispiel von IBM LibertyMichael Hofmann
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web ToolkitTorben Brodt
 
JSUG - OSGi by Michael Greifeneder
JSUG - OSGi by Michael GreifenederJSUG - OSGi by Michael Greifeneder
JSUG - OSGi by Michael GreifenederChristoph Pickl
 
Roadmap von Microsoft UI Technologien und Windows 8
Roadmap von Microsoft UI Technologien und Windows 8Roadmap von Microsoft UI Technologien und Windows 8
Roadmap von Microsoft UI Technologien und Windows 8chmoser79
 
Roadmap von Microsoft UI-Technologien und Windows 8
Roadmap von Microsoft UI-Technologien und Windows 8Roadmap von Microsoft UI-Technologien und Windows 8
Roadmap von Microsoft UI-Technologien und Windows 8chmoser79
 

Semelhante a Java oberflächlich betrachtet - Welche GUI ist die richtige? (20)

Björn Müller, CaptainCasa, Business Application Forum
Björn Müller, CaptainCasa, Business Application ForumBjörn Müller, CaptainCasa, Business Application Forum
Björn Müller, CaptainCasa, Business Application Forum
 
B1 Lotusday 2008 Vortrag X Forms Rapid Development
B1 Lotusday 2008 Vortrag X Forms Rapid DevelopmentB1 Lotusday 2008 Vortrag X Forms Rapid Development
B1 Lotusday 2008 Vortrag X Forms Rapid Development
 
MT AG: Ajax Rezepte fuer web services mit jquery und ajax
MT AG: Ajax Rezepte fuer web services mit jquery und ajaxMT AG: Ajax Rezepte fuer web services mit jquery und ajax
MT AG: Ajax Rezepte fuer web services mit jquery und ajax
 
BizSpark goes Cloud
BizSpark goes CloudBizSpark goes Cloud
BizSpark goes Cloud
 
Wieviel client braucht das web
Wieviel client braucht das webWieviel client braucht das web
Wieviel client braucht das web
 
HTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenHTML5 und node.js Grundlagen
HTML5 und node.js Grundlagen
 
Wieviel Client braucht das Web?
Wieviel Client braucht das Web?Wieviel Client braucht das Web?
Wieviel Client braucht das Web?
 
Creasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform AppsCreasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform Apps
 
Ajax in domino web-anwendungen - der nächste schritt
Ajax in domino web-anwendungen - der nächste schrittAjax in domino web-anwendungen - der nächste schritt
Ajax in domino web-anwendungen - der nächste schritt
 
Net@night asp.net mvc
Net@night asp.net mvcNet@night asp.net mvc
Net@night asp.net mvc
 
Whitepaper Infopark Cloud Express
Whitepaper Infopark Cloud ExpressWhitepaper Infopark Cloud Express
Whitepaper Infopark Cloud Express
 
GWT – Google Web Toolkit in der Praxis
GWT – Google Web Toolkit in der PraxisGWT – Google Web Toolkit in der Praxis
GWT – Google Web Toolkit in der Praxis
 
GWT
GWTGWT
GWT
 
Citrus Agile Testing Meetup (german)
Citrus Agile Testing Meetup (german)Citrus Agile Testing Meetup (german)
Citrus Agile Testing Meetup (german)
 
Microservices mit Java EE - am Beispiel von IBM Liberty
Microservices mit Java EE - am Beispiel von IBM LibertyMicroservices mit Java EE - am Beispiel von IBM Liberty
Microservices mit Java EE - am Beispiel von IBM Liberty
 
Die Java Plattform Strategie
Die Java Plattform StrategieDie Java Plattform Strategie
Die Java Plattform Strategie
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
 
JSUG - OSGi by Michael Greifeneder
JSUG - OSGi by Michael GreifenederJSUG - OSGi by Michael Greifeneder
JSUG - OSGi by Michael Greifeneder
 
Roadmap von Microsoft UI Technologien und Windows 8
Roadmap von Microsoft UI Technologien und Windows 8Roadmap von Microsoft UI Technologien und Windows 8
Roadmap von Microsoft UI Technologien und Windows 8
 
Roadmap von Microsoft UI-Technologien und Windows 8
Roadmap von Microsoft UI-Technologien und Windows 8Roadmap von Microsoft UI-Technologien und Windows 8
Roadmap von Microsoft UI-Technologien und Windows 8
 

Mais de GFU Cyrus AG

Social Media im Unternehmen
Social Media im UnternehmenSocial Media im Unternehmen
Social Media im UnternehmenGFU Cyrus AG
 
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...GFU Cyrus AG
 
Clean Code Developer
Clean Code DeveloperClean Code Developer
Clean Code DeveloperGFU Cyrus AG
 
Cross-Apps-Entwicklung für iPhone, Android und Co.
Cross-Apps-Entwicklung für iPhone, Android und Co.Cross-Apps-Entwicklung für iPhone, Android und Co.
Cross-Apps-Entwicklung für iPhone, Android und Co.GFU Cyrus AG
 
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration ToolsSoftwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration ToolsGFU Cyrus AG
 
Datenschutz bei Facebook & Co. - Wie schütze ich meine persönlichen Daten im ...
Datenschutz bei Facebook & Co. - Wie schütze ich meine persönlichen Daten im ...Datenschutz bei Facebook & Co. - Wie schütze ich meine persönlichen Daten im ...
Datenschutz bei Facebook & Co. - Wie schütze ich meine persönlichen Daten im ...GFU Cyrus AG
 
Requirements Engineering in agilen Projekten - Flexibilität ist gefordert
Requirements Engineering in agilen Projekten - Flexibilität ist gefordertRequirements Engineering in agilen Projekten - Flexibilität ist gefordert
Requirements Engineering in agilen Projekten - Flexibilität ist gefordertGFU Cyrus AG
 
SharePoint 2010 - Was ist neu, was wird besser!
SharePoint 2010 - Was ist neu, was wird besser!SharePoint 2010 - Was ist neu, was wird besser!
SharePoint 2010 - Was ist neu, was wird besser!GFU Cyrus AG
 
Java Persistence 2.0
Java Persistence 2.0Java Persistence 2.0
Java Persistence 2.0GFU Cyrus AG
 
Pragmatische Einführung von IT-Servicemanagement - ITIL im Unternehmen - Erfa...
Pragmatische Einführung von IT-Servicemanagement - ITIL im Unternehmen - Erfa...Pragmatische Einführung von IT-Servicemanagement - ITIL im Unternehmen - Erfa...
Pragmatische Einführung von IT-Servicemanagement - ITIL im Unternehmen - Erfa...GFU Cyrus AG
 
Liferay Portal - ein Webportal für viele Unternehmensanforderungen
Liferay Portal - ein Webportal für viele UnternehmensanforderungenLiferay Portal - ein Webportal für viele Unternehmensanforderungen
Liferay Portal - ein Webportal für viele UnternehmensanforderungenGFU Cyrus AG
 
PostgreSQL im Produktivbetrieb
PostgreSQL im ProduktivbetriebPostgreSQL im Produktivbetrieb
PostgreSQL im ProduktivbetriebGFU Cyrus AG
 
Java Server Faces 2.0 - Der Standard für moderne und komponentenbasierte Weba...
Java Server Faces 2.0 - Der Standard für moderne und komponentenbasierte Weba...Java Server Faces 2.0 - Der Standard für moderne und komponentenbasierte Weba...
Java Server Faces 2.0 - Der Standard für moderne und komponentenbasierte Weba...GFU Cyrus AG
 
Wieviel Web2.0 braucht Ihr Unternehmen?
Wieviel Web2.0 braucht Ihr Unternehmen?Wieviel Web2.0 braucht Ihr Unternehmen?
Wieviel Web2.0 braucht Ihr Unternehmen?GFU Cyrus AG
 
Neue Features der Java EE 6
Neue Features der Java EE 6Neue Features der Java EE 6
Neue Features der Java EE 6GFU Cyrus AG
 
Das Java-Spring-Framework in der Praxis
Das Java-Spring-Framework in der PraxisDas Java-Spring-Framework in der Praxis
Das Java-Spring-Framework in der PraxisGFU Cyrus AG
 
Agile Geschäftsprozeßanalyse OOA/D am Beispiel einer Seminarverwaltung
Agile Geschäftsprozeßanalyse OOA/D am Beispiel einer SeminarverwaltungAgile Geschäftsprozeßanalyse OOA/D am Beispiel einer Seminarverwaltung
Agile Geschäftsprozeßanalyse OOA/D am Beispiel einer SeminarverwaltungGFU Cyrus AG
 
Wissensmanagement bei Volkswagen
Wissensmanagement bei VolkswagenWissensmanagement bei Volkswagen
Wissensmanagement bei VolkswagenGFU Cyrus AG
 
Professionelle Anforderungsanalyse am Beispiel einer Java-Anwendung zur Betri...
Professionelle Anforderungsanalyse am Beispiel einer Java-Anwendung zur Betri...Professionelle Anforderungsanalyse am Beispiel einer Java-Anwendung zur Betri...
Professionelle Anforderungsanalyse am Beispiel einer Java-Anwendung zur Betri...GFU Cyrus AG
 
Grenzüberschreitende Geschäftsprozesse mit Microsoft SharePoint und BizTalk
Grenzüberschreitende Geschäftsprozesse mit Microsoft SharePoint und BizTalkGrenzüberschreitende Geschäftsprozesse mit Microsoft SharePoint und BizTalk
Grenzüberschreitende Geschäftsprozesse mit Microsoft SharePoint und BizTalkGFU Cyrus AG
 

Mais de GFU Cyrus AG (20)

Social Media im Unternehmen
Social Media im UnternehmenSocial Media im Unternehmen
Social Media im Unternehmen
 
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...
 
Clean Code Developer
Clean Code DeveloperClean Code Developer
Clean Code Developer
 
Cross-Apps-Entwicklung für iPhone, Android und Co.
Cross-Apps-Entwicklung für iPhone, Android und Co.Cross-Apps-Entwicklung für iPhone, Android und Co.
Cross-Apps-Entwicklung für iPhone, Android und Co.
 
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration ToolsSoftwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
 
Datenschutz bei Facebook & Co. - Wie schütze ich meine persönlichen Daten im ...
Datenschutz bei Facebook & Co. - Wie schütze ich meine persönlichen Daten im ...Datenschutz bei Facebook & Co. - Wie schütze ich meine persönlichen Daten im ...
Datenschutz bei Facebook & Co. - Wie schütze ich meine persönlichen Daten im ...
 
Requirements Engineering in agilen Projekten - Flexibilität ist gefordert
Requirements Engineering in agilen Projekten - Flexibilität ist gefordertRequirements Engineering in agilen Projekten - Flexibilität ist gefordert
Requirements Engineering in agilen Projekten - Flexibilität ist gefordert
 
SharePoint 2010 - Was ist neu, was wird besser!
SharePoint 2010 - Was ist neu, was wird besser!SharePoint 2010 - Was ist neu, was wird besser!
SharePoint 2010 - Was ist neu, was wird besser!
 
Java Persistence 2.0
Java Persistence 2.0Java Persistence 2.0
Java Persistence 2.0
 
Pragmatische Einführung von IT-Servicemanagement - ITIL im Unternehmen - Erfa...
Pragmatische Einführung von IT-Servicemanagement - ITIL im Unternehmen - Erfa...Pragmatische Einführung von IT-Servicemanagement - ITIL im Unternehmen - Erfa...
Pragmatische Einführung von IT-Servicemanagement - ITIL im Unternehmen - Erfa...
 
Liferay Portal - ein Webportal für viele Unternehmensanforderungen
Liferay Portal - ein Webportal für viele UnternehmensanforderungenLiferay Portal - ein Webportal für viele Unternehmensanforderungen
Liferay Portal - ein Webportal für viele Unternehmensanforderungen
 
PostgreSQL im Produktivbetrieb
PostgreSQL im ProduktivbetriebPostgreSQL im Produktivbetrieb
PostgreSQL im Produktivbetrieb
 
Java Server Faces 2.0 - Der Standard für moderne und komponentenbasierte Weba...
Java Server Faces 2.0 - Der Standard für moderne und komponentenbasierte Weba...Java Server Faces 2.0 - Der Standard für moderne und komponentenbasierte Weba...
Java Server Faces 2.0 - Der Standard für moderne und komponentenbasierte Weba...
 
Wieviel Web2.0 braucht Ihr Unternehmen?
Wieviel Web2.0 braucht Ihr Unternehmen?Wieviel Web2.0 braucht Ihr Unternehmen?
Wieviel Web2.0 braucht Ihr Unternehmen?
 
Neue Features der Java EE 6
Neue Features der Java EE 6Neue Features der Java EE 6
Neue Features der Java EE 6
 
Das Java-Spring-Framework in der Praxis
Das Java-Spring-Framework in der PraxisDas Java-Spring-Framework in der Praxis
Das Java-Spring-Framework in der Praxis
 
Agile Geschäftsprozeßanalyse OOA/D am Beispiel einer Seminarverwaltung
Agile Geschäftsprozeßanalyse OOA/D am Beispiel einer SeminarverwaltungAgile Geschäftsprozeßanalyse OOA/D am Beispiel einer Seminarverwaltung
Agile Geschäftsprozeßanalyse OOA/D am Beispiel einer Seminarverwaltung
 
Wissensmanagement bei Volkswagen
Wissensmanagement bei VolkswagenWissensmanagement bei Volkswagen
Wissensmanagement bei Volkswagen
 
Professionelle Anforderungsanalyse am Beispiel einer Java-Anwendung zur Betri...
Professionelle Anforderungsanalyse am Beispiel einer Java-Anwendung zur Betri...Professionelle Anforderungsanalyse am Beispiel einer Java-Anwendung zur Betri...
Professionelle Anforderungsanalyse am Beispiel einer Java-Anwendung zur Betri...
 
Grenzüberschreitende Geschäftsprozesse mit Microsoft SharePoint und BizTalk
Grenzüberschreitende Geschäftsprozesse mit Microsoft SharePoint und BizTalkGrenzüberschreitende Geschäftsprozesse mit Microsoft SharePoint und BizTalk
Grenzüberschreitende Geschäftsprozesse mit Microsoft SharePoint und BizTalk
 

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

  • 1. 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 © Sun Microsystems 2
  • 3. Architekturen 200x Mehrschichtige Architekturen "cool" "Schnee von gestern" © Sun Microsystems "noch nicht" "zu schwergewichtig" 3
  • 4. Web App Building Blocks --- --- ----- --- ----- -- ----- -- ---- -- ---- Servlet --- ---- --- JSP JSP --- JSP Bean Bean Bean Struts 4
  • 5. JavaServer Faces In Java EE seit 5/2006 MVC, Konvertierung, I18n, ... Komponenten Statushandling Data Binding 5
  • 7. JavaServer Faces <html> ... <rich:calendar value="#{demoBean.selectedDate}" popup="false"/> <rich:tree value="#{demoBean.treeValues}" var="treeNode"/> ... </html> 7
  • 8. JavaServer Faces <html> ... <rich:gmap style="width:400px;height:400px" lat="52.002" lng="8.589"/> ... </html> 8
  • 9. Warum Web App? Ressourcenbedarf im Client Swing-Anwendungen brauchen viel Speicher Stimmt ... auf'm PII mit 128 MB RAM 9
  • 10. Warum nicht Desktop-Anwendung? Clientseitige Installation Ggf. Admin-Rechte nötig Zeitaufwand 10
  • 11. Automatische Softwareverteilung Java Web Start Download Installation Update JRE und Applikation JNLP 11
  • 12. Automatische Softwareverteilung Java Web Start Demo http://java.sun.com/products/javawebstart/apps/swingset2.jnlp 12
  • 13. Automatische Softwareverteilung Eclipse RCP Client-Framework JFace / SWT Produkt = JRE + RCP + App Automatische Updates 13
  • 14. Request Driven vs. Event Driven Web Application Request/Response Grobgranulare UI-Updates Desktop Application Event-Modell Listener, Observer Feingranulare Änderungen Tastatursteuerung 14
  • 15. Web vs. Fat/Rich Client Ergonomie technische User- Randbedingungen Erwartung Web /Fat/Rich Client 15
  • 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. Web vs. Fat/Rich Client Weitere Entscheidungsfaktoren Design oder Programmierung? Java + HTML + JavaScript + JSP + JSF oder nur Java? Debugging Security 17
  • 18. Web vs. Fat/Rich Client Web App als Desktop Replacement? 18
  • 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. AJAX 20
  • 21. AJAX JavaScript kann abgeschaltet sein Security Asynchrone Verarbeitung kann problematisch sein 'AJAX-Verdrahtung' erhöht Komplexität 21
  • 22. GWT Google Web Toolkit Java-to-JavaScript Compiler AJAX Auf Geschwindigkeit optimiert Nicht als Desktop-Replacement gedacht 22
  • 23. Fazit Usererwartung bestimmt Anwendungstyp Katalog, Shop, Information, ... Portal Web Client Leichtgewichtiger Zugriff Datenpflege Aufwändige Workflows Fat/Rich Client Installation akzeptabel 23
  • 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. Und Sie? Wie sind Ihre Erfahrungen? Setzen Sie andere Frameworks ein? Web? Fat/Rich? Gemischt? 25