Jsp tag libraries based framework for wireless application development
This presentation is the property of its rightful owner.
Sponsored Links
1 / 57

JSP Tag Libraries based Framework for Wireless Application Development PowerPoint PPT Presentation


  • 73 Views
  • Uploaded on
  • Presentation posted in: General

JSP Tag Libraries based Framework for Wireless Application Development. Hitesh Kr. Seth Chief Technology Evangelist SeraNova, Inc [email protected] 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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


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

[email protected]

O’Reilly Conference on Enterprise Java, 2001


Agenda

Agenda

  • Overview

    • Servlets

    • Java Server Pages

  • JSP Tag Libraries

  • Tag Libraries for Wireless Application Development

    • Design Requirements

    • Tags

  • Enhancements

  • Conclusion

  • References


Servlets

Servlets


Servlets1

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


Features

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


Features1

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


Servlet by example

Servlet by Example


Java server pages

Java Server Pages


Jsp tag libraries based framework for wireless application development

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


Jsp elements

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


Jsp implicit objects

JSP Implicit Objects

  • request

  • response

  • pageContext

  • session

  • application

  • out

  • config

  • page

  • exception

    • Error Pages Only


Jsp by example

JSP by Example


Jsp by example interactions

HTML Form

(SubmitForm.jsp)

JSP by Example - Interactions


Jsp by example beans

Using Beans

Without Beans

JSP by Example - Beans


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

Using Third Party Beans


Jsp servlet implementations

JSP/Servlet Implementations

  • Reference Implementation

    • Apache [email protected]

  • 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.


Jsp tag libraries

JSP Tag Libraries


Jsp tag libraries1

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


Jsp taglib examples

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]" [email protected]">Message...

      </x:email>

    • JSR #000052

      • A Standard Tag Library for Java Server Pages


Tag libraries by example

Tag Libraries by Example


Taglib descriptor

Taglib Descriptor


Reusable tag libraries

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


Tag libraries for wireless application development

Tag Libraries for Wireless Application Development


Design requirements

Design Requirements


Requirements summary

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


Multi modal page

Multi-modal Page

<page> Tag


Hello world

Hello World

Tag Library

Multi-modal Page


Rendering

Web Browser

Wireless Microbrowser

Rendering


Taglib descriptor1

Taglib Descriptor


Page tag impl

Page Tag Impl.

Browser Detection


Page tag impl contd

Page Tag Impl.(contd.)

WAP/WML Delivery


Page tag impl contd1

Page Tag Impl. (contd.)


Page tag impl contd2

Page Tag Impl. (contd.)


Hyperlinks

Hyperlinks

<link> Tag


The link tag

The Link Tag


Rendering1

HTML Browser

WML Microbrowser

Rendering


Tag descriptor

Tag Descriptor


Link tag impl

Link Tag Impl.


Interactions

Interactions

<form> and <field> Tags


Form fields

Form & Fields


Rendering2

HTML Browser

Rendering


Rendering3

WML Microbrowser

Rendering


Tag descriptor field

Tag Descriptor (Field)


Tag descriptor form

Tag Descriptor (Form)


Field tag impl

Field Tag Impl.

Call Parent Tag Methods


Form tag impl

Form Tag Impl.


Form tag impl1

Form Tag Impl.

Enumerate all fields


Taglib so far

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


Benefits

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


Enhancements

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


Conclusion

Conclusion

  • JSP Tag Libraries

    • Powerful mechanism to implement rich functionality

    • Promotes usability and maintainability

  • Application for a multi-modal Wireless Framework


References

References


References1

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 Homepagehttp://www.javasoft.com/products/jsp

    • Professional JSP (Wrox)

    • JSP Resource Indexhttp://www.jspin.com


References2

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


References3

References

  • Wireless

    • WAP Forumhttp://www.wapforum.org

    • HDML 3.0 Referencehttp://developer.phone.com/dev/ts/htmldoc/31h/hdmlref/output/


Questions suggestions

Questions/Suggestions?

?


Thanks for your time

Thanks for your time


  • Login