FacesTales    Das JSF Ecosystem   Lars Röwekamp Matthias Weßendorf
Matthias Weßendorf <ul><li>Oracle </li></ul><ul><li>Apache Software Foundation </li></ul><ul><ul><li>ASF Member </li></ul>...
Agenda <ul><li>JavaServer Faces </li></ul><ul><li>Implementierungen </li></ul><ul><li>Planet Apache MyFaces </li></ul><ul>...
Agenda <ul><li>JavaServer Faces </li></ul><ul><li>Implementierungen </li></ul><ul><li>Planet Apache MyFaces </li></ul><ul>...
JavaServer Faces <ul><li>Web-Anwendungen mit Java </li></ul><ul><ul><li>Servlets </li></ul></ul><ul><ul><li>JavaServer Pag...
Was ist JSF wirklich ? <ul><li>Leichtgewichtiges & erweiterbares Web-Framework </li></ul><ul><ul><li>POJO, Bestandteile au...
JavaServer Faces Page Template Server Side <f:view> <h:form> <h:inputText value=“#{b.value}” /> <h:inputText … /> <h:input...
JSF Universum – (kleiner) Ausschnitt Apache MyFaces Mojarra (Sun RI) IceFaces Oracle ADF Faces Apache MyFaces Tobago Apach...
JSF Universum – Players <ul><li>JSF „IMPL“ Hersteller </li></ul><ul><ul><li>Sun, Apache, Caucho, Opermasks </li></ul></ul>...
JSF – All the view you want... <ul><li>JSP / JSPX    default (noch) </li></ul><ul><ul><li>JSF 2.0  </li></ul></ul><ul><li...
Agenda <ul><li>JavaServer Faces </li></ul><ul><li>Implementierungen </li></ul><ul><li>Planet Apache MyFaces </li></ul><ul>...
JSF Implementierungen <ul><li>Mojarra </li></ul><ul><ul><li>CDDL /GPL3.0 </li></ul></ul><ul><ul><li>RI, java.net  </li></u...
OperaMasks.org
Agenda <ul><li>JavaServer Faces </li></ul><ul><li>Implementierungen </li></ul><ul><li>Planet Apache MyFaces </li></ul><ul>...
Apache MyFaces <ul><li>Erste OpenSource JSF Implementierung </li></ul><ul><ul><li>JSF 1.1, JSF 1.2 und JSF 2.0 </li></ul><...
Apache MyFaces - Projekte <ul><li>CORE – JSF Implementierung </li></ul><ul><ul><li>JSF 1.1, JSF 1.2, JSF 2.0 </li></ul></u...
Apache MyFaces - ExtVal <ul><li>JSF-Validierungs-Framework </li></ul><ul><li>Validierung mit JPA @nnotation </li></ul><ul>...
Apache MyFaces – ExtVal BSP
ExtVal vs Seam <ul><li>Conditional validation </li></ul><ul><li>Cross-validation  </li></ul><ul><li>Validation based on JP...
Apache MyFaces - Orchestra <ul><li>JSF Extension Library </li></ul><ul><li>Conversation Scope für Multi-Request Use Cases ...
Apache MyFaces - Orchestra <ul><li><bean name=&quot;ballotTopic&quot; </li></ul><ul><li>class=&quot;org.apache.myfaces.exa...
Apache MyFaces <ul><li>   DEMO   </li></ul>
Agenda <ul><li>JavaServer Faces </li></ul><ul><li>Implementierungen </li></ul><ul><li>Planet Apache MyFaces </li></ul><ul>...
Frameworks für Faces <ul><li>JBoss Seam </li></ul><ul><li>WebBeans / JSR 299* </li></ul><ul><li>Apache Shale </li></ul><ul...
Frameworks für Faces
Apache Shale <ul><li>Apache Shale ist  nicht  Apache Struts... </li></ul><ul><li>Shale  war  „The Missing Pieces of JSF“ <...
Apache Shale <ul><li>R.I.P </li></ul><ul><li>   https://issues.apache.org/jira/browse/ATTIC-2 </li></ul><ul><li>Code ? </...
Agenda <ul><li>JavaServer Faces </li></ul><ul><li>Implementierungen </li></ul><ul><li>Planet Apache MyFaces </li></ul><ul>...
Komponenten Übersicht <ul><li>Apache MyFaces </li></ul><ul><li>JBoss RichFaces </li></ul><ul><li>Oracle ADF Faces </li></u...
JBoss RichFaces <ul><li>JSF Bibliothek </li></ul><ul><ul><li>über 100 Komponenten </li></ul></ul><ul><ul><li>enthält Ajax4...
IceFaces <ul><li>JSF/Ajax Framework </li></ul><ul><ul><li>„ RIA toolkit“ </li></ul></ul><ul><li>50+ JSF Komponenten </li><...
Oracle ADF Faces Rich Client <ul><li>ADF Faces Rich Client </li></ul><ul><ul><li>Rich Widgets, Web 2.0 </li></ul></ul><ul>...
Oracle ADF Faces Rich Client
Oracle ADF Faces Rich Client <ul><li>ADF Faces Rich Client </li></ul><ul><ul><li>Rich Widgets, Web 2.0 </li></ul></ul><ul>...
Oracle ADF Faces Rich Client Client Side Server Side Label1 Label2 Label3 OK DOM Peer Objects Document Form Element Servle...
Oracle ADF Faces Rich Client Client-seitige Komponenten Label1 Label2 OK <af:panelLabelAndMessage labelAndAccessKey=&quot;...
Komponenten Übersicht <ul><li>   DEMO   </li></ul>
Agenda <ul><li>JavaServer Faces </li></ul><ul><li>Implementierungen </li></ul><ul><li>Planet Apache MyFaces </li></ul><ul>...
Tools für die Entwicklung <ul><li>Oracle </li></ul><ul><ul><li>JDeveloper </li></ul></ul><ul><ul><li>Eclipse (via WTP) </l...
Tools für die Entwicklung <ul><li>Tarantula Consulting - Ian Hlavats </li></ul><ul><ul><li>JSF Tools für Adobe Dreamweaver...
Tools für die Entwicklung
Tools für die Entwicklung <ul><li>   DEMO   </li></ul>
Agenda <ul><li>JavaServer Faces </li></ul><ul><li>Implementierungen </li></ul><ul><li>Planet Apache MyFaces </li></ul><ul>...
Die Zukunft <ul><li>Innovationen / neue Trends </li></ul><ul><ul><li>Gestern: Ajax </li></ul></ul><ul><ul><li>Heute: Push,...
Die Zukunft <ul><li>JSF 2.0 </li></ul><ul><li>JSF 2.1    Java EE 6 </li></ul><ul><li>Portlet und JSF </li></ul><ul><ul><l...
Ein Ausblick ... <ul><li>JSF Day </li></ul><ul><ul><li>JSR 301    Portlets und JSF </li></ul></ul><ul><ul><li>Seam 3 </li...
Agenda <ul><li>JavaServer Faces </li></ul><ul><li>Implementierungen </li></ul><ul><li>Planet Apache MyFaces </li></ul><ul>...
Q&A <ul><li>Fragen ? </li></ul>
Links und mehr <ul><li>JSFCentral.com </li></ul><ul><li>Kito Mann    JSF Ecosystem Vortrag </li></ul><ul><ul><li>Danke! <...
Upcoming SlideShare
Loading in...5
×

Faces Tales - Das JSF Ecosystem

2,901

Published on

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

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

No notes for slide

Faces Tales - Das JSF Ecosystem

  1. 1. FacesTales  Das JSF Ecosystem  Lars Röwekamp Matthias Weßendorf
  2. 2. Matthias Weßendorf <ul><li>Oracle </li></ul><ul><li>Apache Software Foundation </li></ul><ul><ul><li>ASF Member </li></ul></ul><ul><ul><li>Incubator  Mentor </li></ul></ul><ul><ul><li>Apache MyFaces </li></ul></ul><ul><li>Autor </li></ul><ul><ul><li>Artikel und Bücher </li></ul></ul><ul><li>Speaker </li></ul><ul><ul><li>versch. internat. Konferenzen </li></ul></ul>
  3. 3. Agenda <ul><li>JavaServer Faces </li></ul><ul><li>Implementierungen </li></ul><ul><li>Planet Apache MyFaces </li></ul><ul><li>Frameworks </li></ul><ul><li>Komponenten </li></ul><ul><li>Tooling </li></ul><ul><li>Zukunft / Ausblick </li></ul><ul><li>Q&A </li></ul>
  4. 4. Agenda <ul><li>JavaServer Faces </li></ul><ul><li>Implementierungen </li></ul><ul><li>Planet Apache MyFaces </li></ul><ul><li>Frameworks </li></ul><ul><li>Komponenten </li></ul><ul><li>Tooling </li></ul><ul><li>Zukunft / Ausblick </li></ul><ul><li>Q&A </li></ul>
  5. 5. JavaServer Faces <ul><li>Web-Anwendungen mit Java </li></ul><ul><ul><li>Servlets </li></ul></ul><ul><ul><li>JavaServer Pages (JSP) </li></ul></ul><ul><ul><li>JavaServer Pages Standard Tag Library (JSTL) </li></ul></ul><ul><li>Emerging Frameworks </li></ul><ul><ul><li>Apache Struts / „Model 2“ Frameworks </li></ul></ul><ul><li>Probleme </li></ul><ul><ul><li>Kein „echter“ Komponentenansatz (Framework gebunden) </li></ul></ul><ul><li>EIN Standard (JCP)  JavaServer Faces (JSF) </li></ul><ul><ul><li>JSR 127  JSF 1.1 (May 2004) </li></ul></ul><ul><ul><li>JSR 252  JSF 1.2 [Java EE 5] (May 2006) </li></ul></ul><ul><ul><li>JSR 314  JSF 2.0 [Java EE 6] (2009 ?) * </li></ul></ul>
  6. 6. Was ist JSF wirklich ? <ul><li>Leichtgewichtiges & erweiterbares Web-Framework </li></ul><ul><ul><li>POJO, Bestandteile austauschbar (e.g. Navigation, View) </li></ul></ul><ul><li>UI Component API </li></ul><ul><ul><li>verschiedene 3rd party Anbieter </li></ul></ul><ul><ul><li>eigene (Projekt-) Komponenten </li></ul></ul><ul><li>Ziele </li></ul><ul><ul><li>Vereinfachung der Java Web-Entwicklung </li></ul></ul><ul><ul><li>Tooling (JDeveloper, Netbeans, Eclipse, ...) </li></ul></ul><ul><li>Ecosystem </li></ul><ul><ul><li>(OpenSource) Community </li></ul></ul><ul><ul><ul><li>User groups / E-Mail-Listen / Foren </li></ul></ul></ul><ul><ul><ul><li>verschiedene JSF Konferenzen </li></ul></ul></ul>
  7. 7. JavaServer Faces Page Template Server Side <f:view> <h:form> <h:inputText value=“#{b.value}” /> <h:inputText … /> <h:inputText …. /> … <h:commandButton … /> </h:form> </f:view> Servlet JSF Lifecycle In Memory Tree View Root Form UI Component Renderer
  8. 8. JSF Universum – (kleiner) Ausschnitt Apache MyFaces Mojarra (Sun RI) IceFaces Oracle ADF Faces Apache MyFaces Tobago Apache MyFaces Trinidad Facelets Seam JSR 299 / Web Beans Rich Client Faces Jenia  http://www.jsfmatrix.net  Add your lib here JBoss RichFaces Apache MyFaces Tomahawk PrimeFaces PureFaces GoogleMaps4JSF Woodstock PrettyFaces
  9. 9. JSF Universum – Players <ul><li>JSF „IMPL“ Hersteller </li></ul><ul><ul><li>Sun, Apache, Caucho, Opermasks </li></ul></ul><ul><li>Tools </li></ul><ul><ul><li>Oracle (JDev & Eclipse), Sun, IBM, JBoss/Exadel, JetBrains </li></ul></ul><ul><li>JSF Komponenten / Erweiterungen </li></ul><ul><ul><li>Oracle, Infragistics, SoftAspects, IceSoft, ILOG, Apache, JBoss, SpringSource, Simplica, weitere... </li></ul></ul><ul><li>Wichtige OpenSource Projekte </li></ul><ul><ul><li>Apache MyFaces, JBoss Seam, SpringWebFlow, Facelets! </li></ul></ul><ul><li>JSF-centric Web channel </li></ul><ul><ul><li>JSFCentral.com (Artikel und Blogs) </li></ul></ul>
  10. 10. JSF – All the view you want... <ul><li>JSP / JSPX  default (noch) </li></ul><ul><ul><li>JSF 2.0 </li></ul></ul><ul><li>Alternativen: </li></ul><ul><ul><li>Facelets </li></ul></ul><ul><ul><li>JSFTemplating </li></ul></ul><ul><ul><li>Apache Shale Clay </li></ul></ul><ul><li>Exoten: </li></ul><ul><ul><li>PureFaces </li></ul></ul><ul><ul><li>Smile  RIP </li></ul></ul>
  11. 11. Agenda <ul><li>JavaServer Faces </li></ul><ul><li>Implementierungen </li></ul><ul><li>Planet Apache MyFaces </li></ul><ul><li>Frameworks </li></ul><ul><li>Komponenten </li></ul><ul><li>Tooling </li></ul><ul><li>Zukunft / Ausblick </li></ul><ul><li>Q&A </li></ul>
  12. 12. JSF Implementierungen <ul><li>Mojarra </li></ul><ul><ul><li>CDDL /GPL3.0 </li></ul></ul><ul><ul><li>RI, java.net </li></ul></ul><ul><li>Apache MyFaces </li></ul><ul><ul><li>JSF 1.1 (TCK passed) </li></ul></ul><ul><ul><li>JSF 1.2 (TCK passed) </li></ul></ul><ul><ul><li>JSF 2.0 ist in Arbeit! </li></ul></ul><ul><li>Caucho Resin </li></ul><ul><ul><li>com.caucho.jsf </li></ul></ul><ul><li>IBM * </li></ul><ul><li>Opermasks </li></ul>
  13. 13. OperaMasks.org
  14. 14. Agenda <ul><li>JavaServer Faces </li></ul><ul><li>Implementierungen </li></ul><ul><li>Planet Apache MyFaces </li></ul><ul><li>Frameworks </li></ul><ul><li>Komponenten </li></ul><ul><li>Tooling </li></ul><ul><li>Zukunft / Ausblick </li></ul><ul><li>Q&A </li></ul>
  15. 15. Apache MyFaces <ul><li>Erste OpenSource JSF Implementierung </li></ul><ul><ul><li>JSF 1.1, JSF 1.2 und JSF 2.0 </li></ul></ul><ul><ul><li>Das TCK ... </li></ul></ul><ul><li>Seit 2005 in Apache Projekt </li></ul><ul><ul><li>2002  2005 auf sourceforge (LGPL) </li></ul></ul><ul><li>Größte JSF user community </li></ul><ul><ul><li>Apache: community over code </li></ul></ul><ul><li>Innovationen... </li></ul><ul><li>Mehr als „nur“ eine Implementierung </li></ul><ul><ul><li>Diverse Unterprojekte </li></ul></ul><ul><ul><li>RI für JSR 301 und JSR 329 </li></ul></ul>
  16. 16. Apache MyFaces - Projekte <ul><li>CORE – JSF Implementierung </li></ul><ul><ul><li>JSF 1.1, JSF 1.2, JSF 2.0 </li></ul></ul><ul><li>Tomahawk </li></ul><ul><ul><li>Sandbox </li></ul></ul><ul><li>Tobago </li></ul><ul><li>Trinidad </li></ul><ul><ul><li>Trinidad maven </li></ul></ul><ul><li>Orchestra </li></ul><ul><li>PortletBridge </li></ul><ul><li>ExtVal </li></ul><ul><li>Commons </li></ul>
  17. 17. Apache MyFaces - ExtVal <ul><li>JSF-Validierungs-Framework </li></ul><ul><li>Validierung mit JPA @nnotation </li></ul><ul><ul><li>Seam nutzt Hibernate Validation </li></ul></ul><ul><li>„ Cross-Component“ Validierung </li></ul><ul><li>Erweiterbar </li></ul><ul><ul><li>„ custom @nnotation“ </li></ul></ul><ul><li>Support für Client-Side Validation </li></ul><ul><ul><li>Apache MyFaces Trinidad </li></ul></ul><ul><li>JSR 303 (Bean-Validation) Modul kommt </li></ul>
  18. 18. Apache MyFaces – ExtVal BSP
  19. 19. ExtVal vs Seam <ul><li>Conditional validation </li></ul><ul><li>Cross-validation </li></ul><ul><li>Validation based on JPA 1.0 annotations </li></ul><ul><li>Mehr: </li></ul><ul><li>http://jsfcentral.com/articles/ myfaces_extval_1.html </li></ul>
  20. 20. Apache MyFaces - Orchestra <ul><li>JSF Extension Library </li></ul><ul><li>Conversation Scope für Multi-Request Use Cases </li></ul><ul><ul><li>für Managed Beans (via Spring oder @annotations) </li></ul></ul><ul><li>Persistence Context </li></ul><ul><ul><li>Handling von Conversation Scope & Persistence Context </li></ul></ul><ul><ul><li>No more LazyInitializationExeption! </li></ul></ul><ul><li>View Controller </li></ul><ul><ul><li>Unterstützung von LiveCycle Events via Callbacks </li></ul></ul><ul><ul><li>initView(), preProcess(), preRenderView() </li></ul></ul><ul><li>Deklarative Transaktionen </li></ul><ul><ul><li>via @nnotations – nur Java 1.5 und höher </li></ul></ul>
  21. 21. Apache MyFaces - Orchestra <ul><li><bean name=&quot;ballotTopic&quot; </li></ul><ul><li>class=&quot;org.apache.myfaces.examples.ballot.backings.BallotTopic&quot; </li></ul><ul><li>scope=&quot;conversation.access&quot; /> </li></ul><ul><li>@Transactional </li></ul><ul><li>public String saveAction(){ topic.setOwner(getVoterDao().getByKey(getBallotState().getVoterId())); </li></ul><ul><li>topicDao.save(topic); </li></ul><ul><li>Conversation.getCurrentInstance().invalidate(); </li></ul><ul><li>return &quot;success&quot;; </li></ul><ul><li>} </li></ul><ul><li>public class VoterDao { </li></ul><ul><li>@PersistenceContext </li></ul><ul><li>private EntityManager entityManager; </li></ul><ul><li>public Voter getByKey(Long id) { </li></ul><ul><li>return entityManager.find(Voter.class, id); </li></ul><ul><li>} </li></ul><ul><li>} </li></ul>
  22. 22. Apache MyFaces <ul><li> DEMO  </li></ul>
  23. 23. Agenda <ul><li>JavaServer Faces </li></ul><ul><li>Implementierungen </li></ul><ul><li>Planet Apache MyFaces </li></ul><ul><li>Frameworks </li></ul><ul><li>Komponenten </li></ul><ul><li>Tooling </li></ul><ul><li>Zukunft / Ausblick </li></ul><ul><li>Q&A </li></ul>
  24. 24. Frameworks für Faces <ul><li>JBoss Seam </li></ul><ul><li>WebBeans / JSR 299* </li></ul><ul><li>Apache Shale </li></ul><ul><li>SpringFaces </li></ul><ul><ul><li>WebFlow </li></ul></ul><ul><li>PrettyFaces </li></ul><ul><li>JSFUnit </li></ul><ul><li>DynaFaces </li></ul><ul><li>... </li></ul>
  25. 25. Frameworks für Faces
  26. 26. Apache Shale <ul><li>Apache Shale ist nicht Apache Struts... </li></ul><ul><li>Shale war „The Missing Pieces of JSF“ </li></ul><ul><li>Sammlung nützlicher JSF Ergänzungen </li></ul><ul><ul><li>View Controller: LifeCycle Callbacks für Managed Beans </li></ul></ul><ul><ul><li>Dialog Manager: Dialoge mit Conversion Scope State </li></ul></ul><ul><ul><li>Validation: Client- & Server-Side Validation </li></ul></ul><ul><ul><li>Clay: als Alternative zu JSP </li></ul></ul><ul><ul><li>Testing: JSF Testframework </li></ul></ul><ul><ul><li>@nnotations: Managed Beans, View Controller, ... </li></ul></ul><ul><ul><li>Remoting: URL zu Server-Side Ressource Mapping </li></ul></ul><ul><ul><li>Spring Integration </li></ul></ul><ul><ul><li>Tiles Integration </li></ul></ul>
  27. 27. Apache Shale <ul><li>R.I.P </li></ul><ul><li> https://issues.apache.org/jira/browse/ATTIC-2 </li></ul><ul><li>Code ? </li></ul><ul><ul><li>Test  Apache MyFaces (der Plan) </li></ul></ul><ul><ul><li>... </li></ul></ul>
  28. 28. Agenda <ul><li>JavaServer Faces </li></ul><ul><li>Implementierungen </li></ul><ul><li>Planet Apache MyFaces </li></ul><ul><li>Frameworks </li></ul><ul><li>Komponenten </li></ul><ul><li>Tooling </li></ul><ul><li>Zukunft / Ausblick </li></ul><ul><li>Q&A </li></ul>
  29. 29. Komponenten Übersicht <ul><li>Apache MyFaces </li></ul><ul><li>JBoss RichFaces </li></ul><ul><li>Oracle ADF Faces </li></ul><ul><li>Simplica </li></ul><ul><li>BackBase </li></ul><ul><li>IceFaces </li></ul><ul><li>Infragistics </li></ul><ul><li>QuipuKit </li></ul><ul><li>ILOG </li></ul><ul><li>Crystal Reports </li></ul><ul><li>... </li></ul>
  30. 30. JBoss RichFaces <ul><li>JSF Bibliothek </li></ul><ul><ul><li>über 100 Komponenten </li></ul></ul><ul><ul><li>enthält Ajax4JSF </li></ul></ul><ul><li>Skinning (Themes) </li></ul><ul><li>CDK (Component Development Kit) </li></ul><ul><ul><li>Erstellen und Testen von „custom components“ </li></ul></ul><ul><li>Unterstützt: </li></ul><ul><ul><li>Trinidad, Seam, Tomahawk, ... </li></ul></ul><ul><li>Demo: </li></ul><ul><ul><li>http://livedemo.exadel.com/richfaces-demo </li></ul></ul>
  31. 31. IceFaces <ul><li>JSF/Ajax Framework </li></ul><ul><ul><li>„ RIA toolkit“ </li></ul></ul><ul><li>50+ JSF Komponenten </li></ul><ul><li>OpenSource </li></ul><ul><li>CSS Themes </li></ul><ul><li>Support für Apache MyFaces Tomahawk </li></ul><ul><li>Comet / Server-Side Push </li></ul><ul><ul><li>Glassfish / Grizzly </li></ul></ul><ul><li>iPhone Support </li></ul><ul><li>Demo </li></ul><ul><ul><li>http://component-showcase.icefaces.org </li></ul></ul>
  32. 32. Oracle ADF Faces Rich Client <ul><li>ADF Faces Rich Client </li></ul><ul><ul><li>Rich Widgets, Web 2.0 </li></ul></ul><ul><li>Über 90 JSF Komponenten </li></ul><ul><ul><li>Aber, (noch) kein InputSuggest ... </li></ul></ul><ul><li>Über 30 „goodies“ </li></ul><ul><ul><li>printable view, validators, excel export, ... </li></ul></ul><ul><li>Ajax </li></ul><ul><ul><li>Ajax „for free“ </li></ul></ul><ul><ul><li>Ajax API server/client </li></ul></ul><ul><li>Requirements </li></ul><ul><ul><li>JavaServer Faces 1.2 </li></ul></ul><ul><ul><li>Apache MyFaces Trinidad 1.2.x </li></ul></ul>
  33. 33. Oracle ADF Faces Rich Client
  34. 34. Oracle ADF Faces Rich Client <ul><li>ADF Faces Rich Client </li></ul><ul><ul><li>Rich Widgets, Web 2.0 </li></ul></ul><ul><li>Über 90 JSF Komponenten </li></ul><ul><ul><li>Aber, (noch) kein InputSuggest ... </li></ul></ul><ul><li>Über 30 „goodies“ </li></ul><ul><ul><li>printable view, validators, excel export, ... </li></ul></ul><ul><li>Ajax </li></ul><ul><ul><li>Ajax „for free“ </li></ul></ul><ul><ul><li>Ajax API server/client </li></ul></ul><ul><li>Requirements </li></ul><ul><ul><li>JavaServer Faces 1.2 </li></ul></ul><ul><ul><li>Apache MyFaces Trinidad 1.2.x </li></ul></ul>
  35. 35. Oracle ADF Faces Rich Client Client Side Server Side Label1 Label2 Label3 OK DOM Peer Objects Document Form Element Servlet JSF Lifecycle In Memory Tree View Root Form UI Component Renderer
  36. 36. Oracle ADF Faces Rich Client Client-seitige Komponenten Label1 Label2 OK <af:panelLabelAndMessage labelAndAccessKey=&quot;Label 2&quot;> <af:inputText autoTab=&quot;true&quot; simple=&quot;true&quot; id=&quot;id1&quot; maximumLength=&quot;3&quot; columns=&quot;3&quot; label=&quot;first&quot;/> <af:inputText autoTab=&quot;true&quot; simple=&quot;true&quot; id=&quot;id2&quot; maximumLength=&quot;3&quot; columns=&quot;3&quot; label=&quot;second&quot;/> <af:inputText autoTab=&quot;true&quot; simple=&quot;true&quot; id=&quot;id3&quot; maximumLength=&quot;3&quot; columns=&quot;3&quot; label=&quot;third&quot;/> </af:panelLabelAndMessage> <af:inputText id=&quot;idInputText&quot; label=&quot;Label 1&quot; value=&quot;#{myBean.value}&quot;/> id1 id2 Id3
  37. 37. Komponenten Übersicht <ul><li> DEMO  </li></ul>
  38. 38. Agenda <ul><li>JavaServer Faces </li></ul><ul><li>Implementierungen </li></ul><ul><li>Planet Apache MyFaces </li></ul><ul><li>Frameworks </li></ul><ul><li>Komponenten </li></ul><ul><li>Tooling </li></ul><ul><li>Zukunft / Ausblick </li></ul><ul><li>Q&A </li></ul>
  39. 39. Tools für die Entwicklung <ul><li>Oracle </li></ul><ul><ul><li>JDeveloper </li></ul></ul><ul><ul><li>Eclipse (via WTP) </li></ul></ul><ul><ul><li>O racle E nterprise P ack for E clipse (Oracle OEPE) </li></ul></ul><ul><li>SUN / Netbeans </li></ul><ul><li>JBoss / JBoss Tools (Eclipse) </li></ul><ul><li>JetBrains / IntelliJ IDEA </li></ul><ul><li>IBM / Rational Application Developer (Eclipse) </li></ul><ul><li>Sybase / Workspace </li></ul><ul><li>Genuitec / MyEclipse </li></ul>
  40. 40. Tools für die Entwicklung <ul><li>Tarantula Consulting - Ian Hlavats </li></ul><ul><ul><li>JSF Tools für Adobe Dreamweaver CS4 </li></ul></ul><ul><ul><ul><li>JSFToolbox </li></ul></ul></ul><ul><ul><ul><li>Facelets Tools </li></ul></ul></ul><ul><ul><ul><li>Seam Tools </li></ul></ul></ul><ul><ul><ul><li>Tomahawk Tools </li></ul></ul></ul><ul><ul><ul><li>Trinidad Tools </li></ul></ul></ul><ul><ul><ul><li>IceFaces Tools </li></ul></ul></ul>
  41. 41. Tools für die Entwicklung
  42. 42. Tools für die Entwicklung <ul><li> DEMO  </li></ul>
  43. 43. Agenda <ul><li>JavaServer Faces </li></ul><ul><li>Implementierungen </li></ul><ul><li>Planet Apache MyFaces </li></ul><ul><li>Frameworks </li></ul><ul><li>Komponenten </li></ul><ul><li>Tooling </li></ul><ul><li>Zukunft / Ausblick </li></ul><ul><li>Q&A </li></ul>
  44. 44. Die Zukunft <ul><li>Innovationen / neue Trends </li></ul><ul><ul><li>Gestern: Ajax </li></ul></ul><ul><ul><li>Heute: Push, Mobile </li></ul></ul><ul><ul><li>Morgen: ??? </li></ul></ul><ul><li>JavaServer Faces  Spezifikation </li></ul><ul><li>3rd Party  “speed boot“ </li></ul><ul><ul><li>OpenSource Software </li></ul></ul><ul><ul><li>Softwarehersteller </li></ul></ul>
  45. 45. Die Zukunft <ul><li>JSF 2.0 </li></ul><ul><li>JSF 2.1  Java EE 6 </li></ul><ul><li>Portlet und JSF </li></ul><ul><ul><li>JSR 301 (Portlet 1.0 und JSF 1.2) </li></ul></ul><ul><ul><li>JSR 329 (Portlet 2.0 und JSF 1.2) </li></ul></ul><ul><li>Bean Validation </li></ul><ul><ul><li>Integration in JSF ? </li></ul></ul><ul><li>weitere JSRs... </li></ul><ul><ul><li>JSF.next (  JSF 3.0) </li></ul></ul><ul><ul><li>JSF 2.0 und Portlet2 </li></ul></ul>
  46. 46. Ein Ausblick ... <ul><li>JSF Day </li></ul><ul><ul><li>JSR 301  Portlets und JSF </li></ul></ul><ul><ul><li>Seam 3 </li></ul></ul><ul><ul><li>JSF 2.0 </li></ul></ul><ul><ul><li>Spring Web Flow </li></ul></ul><ul><li>JSF Expert Day </li></ul><ul><ul><li>JSF 2.0++ </li></ul></ul><ul><ul><li>Comet/Server-Side-Push mit JSF </li></ul></ul><ul><ul><li>JSF 2.0  custom components </li></ul></ul><ul><ul><li>Performanceaspekte bei JSF Projekten </li></ul></ul><ul><ul><li>JSF Patterns </li></ul></ul>
  47. 47. Agenda <ul><li>JavaServer Faces </li></ul><ul><li>Implementierungen </li></ul><ul><li>Planet Apache MyFaces </li></ul><ul><li>Frameworks </li></ul><ul><li>Komponenten </li></ul><ul><li>Tooling </li></ul><ul><li>Zukunft / Ausblick </li></ul><ul><li>Q&A </li></ul>
  48. 48. Q&A <ul><li>Fragen ? </li></ul>
  49. 49. Links und mehr <ul><li>JSFCentral.com </li></ul><ul><li>Kito Mann  JSF Ecosystem Vortrag </li></ul><ul><ul><li>Danke! </li></ul></ul><ul><li>http://myfaces.apache.org </li></ul>

×