(1) JSP Tag Libraries based Framework for Wireless Application Development Hitesh Kr. Seth Chief...
-
Upload
kylie-goodwin -
Category
Documents
-
view
223 -
download
5
Transcript of (1) JSP Tag Libraries based Framework for Wireless Application Development Hitesh Kr. Seth Chief...
(1)
JSP Tag Libraries based Framework for Wireless Application
Development
Hitesh Kr. SethChief Technology EvangelistSeraNova, [email protected]’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)
JSP by Example - Interactions
HTML Form (SubmitForm.jsp)
(14)
JSP by Example - Beans
Using Beans Without Beans
(15)
Using Third Party Beans 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
(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="[email protected]" to=“[email protected]">
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 WorldTag
Library
Multi-modal Page
(28)
Rendering Web Browser Wireless Microbrowser
(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)
Rendering HTML Browser WML Microbrowser
(37)
Tag Descriptor
(38)
Link Tag Impl.
(39)
Interactions
<form> and <field> Tags
(40)
Form & Fields
(41)
Rendering HTML Browser
(42)
Rendering WML Microbrowser
(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
(51)
Conclusion
JSP Tag Libraries Powerful mechanism to implement rich
functionality Promotes usability and maintainability
Application for a multi-modal Wireless Framework
(52)
References
(53)
References Servlets
Servlets Homepagehttp://www.javasoft.com/products/servlet
Java Tutorial (JavaSoft)http://www.javasoft.com/tutorial
Servlet Centralhttp://www.servletcentral.com
Servlets.comhttp://www.servlets.com
Java Servlet Programming (O’Reilly) Java Enterprise in a Nutshell
JSP JSP Homepage
http://www.javasoft.com/products/jsp Professional JSP (Wrox) JSP Resource Index
http://www.jspin.com
(54)
References Tag Libraries
Tag Libraries in JavaServer Pageshttp://java.sun.com/products/jsp/pdf/talks/TagLibs.pdf
Jakarta-Taglibs Tutorialhttp://jakarta.apache.org/taglibs/tutorial.html
JSR #000052http://java.sun.com/aboutJava/communityprocess/jsr/jsr_052_jsptaglib.html
Allaire JRun Tag Libraryhttp://www.allaire.com/handlers/index.cfm?ID=15990&Method=Full
Apache Jakarta Taglibshttp://jakarta.apache.org/taglibs
BEA Weblogic Portal Tag Libraryhttp://edocs.beasys.com/wlac/portals/docs/tagscontents.html
Orion Taglibs (EJB/Utility)http://www.orionserver.com/tags/
JSP Tag Libraries at Jspin.comhttp://www.jspin.com/home/tags
(55)
References Wireless
WAP Forumhttp://www.wapforum.org
HDML 3.0 Referencehttp://developer.phone.com/dev/ts/htmldoc/31h/hdmlref/output/
(56)
Questions/Suggestions?
?
(57)
Thanks for your time