Ajax Frameworks in the J(2)EE Environment

4,214
-1

Published on

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

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

No notes for slide

Ajax Frameworks in the J(2)EE Environment

  1. 1. Ajax Frameworks in the J(2)EE Environment Lukas Gwardak
  2. 2. Agenda <ul><li>Introduction into Ajax </li></ul><ul><li>The J2EE environment </li></ul><ul><li>What is a framework? </li></ul><ul><li>Comparison criteria </li></ul><ul><li>Sample comparison </li></ul><ul><li>Conclusion </li></ul>
  3. 3. Introduction into Ajax <ul><li>The web is page-based </li></ul><ul><li>Interaction is achieved with forms (welcome back, IBM 3270!) </li></ul><ul><li>No rich Interaction </li></ul><ul><li>with plain HTML </li></ul><ul><li>Users are waiting </li></ul><ul><li>for page reloads </li></ul>(Photo: http://www.gilbertostrapazon.hpg.ig.com.br)
  4. 4. User activity Client Server processing User activity Server processing User activity Server time Jesse James Garrett, Adaptive Path, 2005
  5. 5. Introduction into Ajax <ul><li>Solution: XMLHttpRequest object </li></ul><ul><li>Introduced by Microsoft in IE5 </li></ul><ul><li>GET- and POST-Requests can be done asynchronously with JavaScript </li></ul><ul><li>Requests & responses can be done in XML or JSON </li></ul><ul><li>DOM & CSS manipulation </li></ul><ul><li>A synchronous J avaScript A nd X ML </li></ul>
  6. 6. User activity Client Server processing Server processing Server time Browser UI Ajax engine Client-side processing Jesse James Garrett, Adaptive Path, 2005
  7. 7. J2EE Environment <ul><li>Highly scalable architecture </li></ul><ul><li>Standards-compliant </li></ul><ul><li>Many vendors </li></ul><ul><li>Web applications with Servlets API </li></ul><ul><li>Many existing frameworks: </li></ul><ul><ul><li>Apache Struts </li></ul></ul><ul><ul><li>Spring </li></ul></ul><ul><ul><li>JavaServer Faces </li></ul></ul>
  8. 8. J2EE Environment <ul><li>Focus on JavaServer Faces </li></ul><ul><li>Presentation framework for JSP </li></ul><ul><li>“ State of the art“ development </li></ul><ul><ul><li>Separating logic, data and presentation </li></ul></ul><ul><ul><li>Model-View-Controller pattern </li></ul></ul><ul><ul><li>Component-based </li></ul></ul><ul><ul><li>Event-driven </li></ul></ul><ul><ul><li>Extensible </li></ul></ul>
  9. 9. JSF in the J2EE Architecture Sun Developer Network, 2004 Servlets JSP JSF API JSF App JSF App JSF Tags
  10. 10. What is a framework? <ul><li>Well known: </li></ul><ul><ul><li>Class libraries </li></ul></ul><ul><ul><li>Reusable components </li></ul></ul><ul><ul><li>Design patterns </li></ul></ul><ul><li>Sometimes overseen: </li></ul><ul><ul><li>Developer community! </li></ul></ul><ul><ul><li>Best practices! </li></ul></ul>
  11. 11. Comparison Criteria <ul><li>Browser compatibility </li></ul><ul><li>IDE support </li></ul><ul><li>Internationalization / Localization </li></ul><ul><li>Fallback mechanisms (accessibility) </li></ul><ul><li>XML/JSON support </li></ul><ul><li>Web services support </li></ul><ul><li>Traffic footprint </li></ul><ul><li>Reusable components? </li></ul><ul><li>Integration with other frameworks? </li></ul><ul><li>Licence model </li></ul>
  12. 12. Candidate frameworks <ul><li>ICEfaces </li></ul><ul><li>Backbase Ajax for JSF </li></ul><ul><li>JBoss RichFaces </li></ul><ul><li>AjaxTags </li></ul><ul><li>AjaxAnywhere </li></ul><ul><li>QuipuKit </li></ul><ul><li>Netadvantage for JSF </li></ul>
  13. 13. Icefaces Backbase
  14. 14. ICEfaces architecture
  15. 15. Backbase architecture
  16. 16. ICEfaces: Platforms <ul><li>Apache Tomcat </li></ul><ul><li>BEA Weblogic Server </li></ul><ul><li>JBoss Application Server </li></ul><ul><li>IBM Websphere Application Server </li></ul><ul><li>Oracle Application Server Container for J2EE (OC4J) </li></ul><ul><li>SAP NetWeaver </li></ul><ul><li>Sun GlassFish </li></ul><ul><li>Sun Java System Application Server </li></ul><ul><li>Webtide Jetty </li></ul>
  17. 17. Backbase: Platforms <ul><li>BEA WebLogic 8.1, 9.1, 9.2 and 10 </li></ul><ul><li>IBM WebSphere 5.1.1, 6.0.2 and higher </li></ul><ul><li>Oracle 10g 10.1.3 </li></ul><ul><li>Tomcat 5.0, 5.5 and 6.0 </li></ul><ul><li>JBoss 4.0.3 SP-1, 4.0.4 and 4.0.5 </li></ul>
  18. 18. ICEfaces: Headstart <ul><li>Integrating an Ajax-Autocomplete </li></ul><ice:selectInputText rows=&quot;10“ width=&quot;300“ valueChangeListener=&quot;#{autoCompleteBean.updateList}“> <f:selectItems value=&quot;#{autoCompleteBean.list}&quot;/> </ice:selectInputText>
  19. 19. ICEfaces: IDE support <ul><li>Eclipse (Web Tools Platform + JSF tools) </li></ul><ul><li>Sun NetBeans </li></ul><ul><li>MyEclipse Enterprise Workbench </li></ul><ul><li>BEA Workshop Studio 3, Workshop Studio for JSF </li></ul><ul><li>Oracle JDeveloper 10g Studio Edition </li></ul>
  20. 20. Backbase: IDE support <ul><li>Backbase JSF Edition Eclipse plug-in </li></ul><ul><ul><li>Code completion </li></ul></ul><ul><ul><li>Syntax highlighting </li></ul></ul><ul><li>Real-time debugger within the web browser </li></ul><ul><ul><li>Integrated with the Ajax engine </li></ul></ul>
  21. 21. Backbase: IDE support Coming soon!
  22. 22. Score table Backbase ICEfaces +++ +++ Proprietary 250+ growing + multiple IE, FF, O, S 50+ Ajax Components MPL (OSS) License +++ Documentation - Accessibility multiple IDE support +++ Community multiple Supported servers IE, FF, O, S Supported browsers
  23. 23. Conclusion <ul><li>Many frameworks to choose from </li></ul><ul><li>JSF market rapidly growing </li></ul><ul><li>Good overall score for all frameworks, according to established criteria </li></ul><ul><li>Open source frameworks dominant </li></ul><ul><li>Community activity varies </li></ul><ul><li>Quality & quantity of widgets varies </li></ul>
  24. 24. Thank you!

×