1 / 57

JSP Tag Libraries based Framework for Wireless Application Development

JSP Tag Libraries based Framework for Wireless Application Development. Hitesh Kr. Seth Chief Technology Evangelist SeraNova, Inc hitesh.seth@seranova.com O’Reilly Conference on Enterprise Java, 2001. Agenda. Overview Servlets Java Server Pages JSP Tag Libraries

Download Presentation

JSP Tag Libraries based Framework for Wireless Application Development

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. JSP Tag Libraries based Framework for Wireless Application Development Hitesh Kr. Seth Chief Technology Evangelist SeraNova, Inc hitesh.seth@seranova.com O’Reilly Conference on Enterprise Java, 2001

  2. Agenda • Overview • Servlets • Java Server Pages • JSP Tag Libraries • Tag Libraries for Wireless Application Development • Design Requirements • Tags • Enhancements • Conclusion • References

  3. Servlets

  4. Servlets • Java based web server extension mechanism • Based on HTTP request-response Paradigm • Multi threaded, Session Management • Versions • J2EE v1.2 – Servlets 2.2 • J2EE v1.3 - 2.3 (Draft) • Usage Scenarios • Creating dynamic web applications • Finer control than JSP

  5. Features • Extend Web Server Functionality • Similar to CGI-BIN, NSAPI/ISAPI extensions, apache Modules • Portable • Multiple Servlet implementations on various platforms • Rich • Can call any Java API, such as JDBC, EJB, JNDI etc. • High Performance • Loaded into memory once and called • Uses threads for concurrency • Can maintain connection pools

  6. Features • Converts HTTP Form parameters into a Hashtable • Customizable Session Management capabilities • Using cookies and URL rewriting • Application Servers implement session management Mechanisms • Memory, File System, Relational Database; Web farm compatible • Leverage other java capabilities such as localization

  7. Servlet by Example

  8. Java Server Pages

  9. JSP • Embedded dynamic Java scriptlets • Similar to ASP and Server Side JavaScript • Implemented as a “Self-Managed” Servlet • “Compiled” into Servlets and kept in Memory • Separates presentation from business logic • Tag Extension mechanism • Versions • J2EE v1.2 – JSP 1.1 • J2EE v1.3 – JSP 1.2 (Draft) • Usage Scenarios • Dynamic/flexible presentation layer

  10. JSP Elements • Static Templates • HTML/XML/WML/... • Standard Directives • Include Directive • Page Directive • Taglib Directive • Scripting Elements • Declaration • Expression • Comments • Standard Actions • forward, get/set Property, include, plugin, useBean, param • Custom Tags • Tag Libraries

  11. JSP Implicit Objects • request • response • pageContext • session • application • out • config • page • exception • Error Pages Only

  12. JSP by Example

  13. HTML Form (SubmitForm.jsp) JSP by Example - Interactions

  14. Using Beans Without Beans JSP by Example - Beans

  15. Upload HTML <form method="post" action="Upload.jsp" enctype="multipart/form-data"> <input type="file" name="FILE1" SIZE="50"><br/> <input type="submit" value="Upload"> </form> JSP Using Third Party Beans

  16. JSP/Servlet Implementations • Reference Implementation • Apache Tomcat@Jakarata • Third Party Implementations • Allaire JRun Application Server • ATG Dynamo Application Server • BEA Weblogic Application Server • Gemstone/J Application Server • IBM WebSphere Application Server • iPlanet Application Server • Orion Application Server • SilverStream Application Server • etc.

  17. JSP Tag Libraries

  18. JSP Tag Libraries • Create application/vertical specific tags • Rich • Encapsulation of functionality • Simplified Code • Less presentation code to manage • Easier to author • Ease of Use • Ease of Use within WYSIWYG authoring tools • Portability • Reusability • Less Java “Scriptlets” • Cleaner separation of presentation format & presentation logic

  19. JSP Taglib Examples • Examples • Logging <x:log message=“database #13 connection opened”/> • XSLT Transformation <xslt:transform stylesheet=“Product.xsl”>xml content </xslt:transform> • Iteration <x:Iterate …/>…</x:Iterate> • Send an Email <x:email from="hitesh.seth@seranova.com" to=“hitesh.seth@seranova.com">Message... </x:email> • JSR #000052 • A Standard Tag Library for Java Server Pages

  20. Tag Libraries by Example

  21. Taglib Descriptor

  22. Reusable Tag Libraries • Allaire JRun Tag Library • Sql, Email, JMS, JNDI, XML Query, XSLT Transformation, Field Validation, Logic - For Each, If, Switch, Case • Apache Jakarta Taglibs • Application, BSF, DateTime, Input, JNDI, JSP Spec, Page , Regexp, Request, Response, Session, SQL, Utility, XSL • BEA Weblogic Portal Tag Library • Portal Framework • Orion Taglibs • EJB/Utility

  23. Tag Libraries for Wireless Application Development

  24. Design Requirements

  25. Requirements Summary • Leverage existing HTTP/HTTPS based application delivery frameworks • Support multiple display formats • HTML, WML, HDML, i-mode (Compact HTML), XHTML-Basic • Simple • Similar to existing known HTML tags • Simple tags and attributes • Compliant with Authoring Tools

  26. Multi-modal Page <page> Tag

  27. Hello World Tag Library Multi-modal Page

  28. Web Browser Wireless Microbrowser Rendering

  29. Taglib Descriptor

  30. Page Tag Impl. Browser Detection

  31. Page Tag Impl.(contd.) WAP/WML Delivery

  32. Page Tag Impl. (contd.)

  33. Page Tag Impl. (contd.)

  34. Hyperlinks <link> Tag

  35. The Link Tag

  36. HTML Browser WML Microbrowser Rendering

  37. Tag Descriptor

  38. Link Tag Impl.

  39. Interactions <form> and <field> Tags

  40. Form & Fields

  41. HTML Browser Rendering

  42. WML Microbrowser Rendering

  43. Tag Descriptor (Field)

  44. Tag Descriptor (Form)

  45. Field Tag Impl. Call Parent Tag Methods

  46. Form Tag Impl.

  47. Form Tag Impl. Enumerate all fields

  48. Taglib So far • Implemented • <page> Tag • <link> Tag • <form> Tag • <field> Tag • Common Elements • <p>, <br/>, <b>, simplified <table> • Basic Simple Constructs for creating an complete multi-modal application

  49. Benefits • Similar to HTML tags • Ease of authoring/learning • Use existing XML Compliant HTML tags • <p>, <br/> etc. • Simplicity • Just <page>, <link>, <form>, <field> tags can be used to create full featured applications • Use all JSP features with the application • Session Management • Request/Response handling • Call any Java API

  50. Enhancements • Implement other delivery formats • HDML, i-Mode, etc. • More functionality (more tags/attributes) • Use “body” tags • Code optimization • Use XSLT for “templated” delivery • Provide capability to implement device/network specific functionality

More Related