taglibs-dev  

PROPOSAL New RDC tag library

Rahul P Akolkar
Thu, 02 Sep 2004 12:27:33 -0700

Reusable Dialog Components (RDCs)
JSP Support For Server-Side VoiceXML Generation

Abstract:
JSP-based Reusable Dialog Components (RDCs) is a framework for creating 
JSP taglibs that aid in rapid development of voice and multimodal 
applications. 

I) Motivation
Server-side generation of HTML has proven an effective way of generating 
the user interface for visual Web applications that are implemented using 
server-side application frameworks such as Struts. Over time, the effort 
involved in such HTML generation has been reduced by the availability of 
various JSP tag libraries that abstract away the minutiae of HTML markup. 
The goal of the RDC project is to achieve for voice applications what JSP 
tag libraries have already achieved in the world of visual Web 
applications.

The voice application space is seeing rapid growth with the maturation of 
speech technologies along with the arrival of a stable and robust voice 
programming model as defined in the W3C VoiceXML 2.0 REC. A necessary next 
step in mainstreaming the development of server-side voice applications 
within environments like Tomcat is the availability of the appropriate tag 
libraries that help isolate the JSP developer from the intricacies of 
spoken interaction. The goal is to help package specialized speech design 
skills in the form of JSP tag libraries that make it possible for JSP 
developers to easily speech-enable Web applications. 

II) Overview
The RDC taglib project provides the following pieces: 
* A small collection of speech dialog components that aid in basic user 
interaction.
* A collection of sample applications that demonstrate the use of these 
components.
* An extensible JSP-2.0 framework for implementing additional speech 
components that can collaborate in producing complex spoken interaction.
* All functionality is implemented either directly as JSP2.0 tagx files, 
or as Java classes that implement the equivalent JSP2 tag implementation 
interfaces. Dialog components come with speech grammars authored as srgs 
files, a set of default prompts, and the associated Java beans that 
implement validation of the data collected by that component. 

The code is under active development, and we are continuing to evolve and 
enrich the basic framework as we exercise the presently available 
functionality by authoring new components and by using these components in 
real-world voice applications. 
All components in the RDC taglib produce VoiceXML 2.0 that can be served 
to any VoiceXML 2.0 compliant voice browser. The generated applications 
can be deployed to a standard Tomcat server and be accessed by a VoiceXML 
2.0 compliant voice browser. 

III) Requirements
This tag library requires JSP 2.0 support and has been developed on Tomcat 
5.0. It depends on the following libraries from the Apache project: 
jstl.jar and standard.jar --- JSTL 1.0
servlet.jar (2.4) and jsp-api.jar (2.0) --- for building custom tags
jasper-runtime.jar --- for delayed EL evaluation 
struts.jar, commons-beanutils.jar and commons-digester.jar --- for struts 
navigation used by the sample apps

A majority of the tags implemented by this tag library have been created 
as .tag files. Tag handlers implemented in Java extend JSP-2.0's 
SimpleTagSupport. 

IV) Commitment
The codebase is being worked on actively at present.  Resources are 
available to continue the evolution of the code and to interact with the 
Apache community in its ongoing development.


The source code for the RDC tag library is available here:

http://www.apache.org/~rubys/rdc/

Let me know your views/comments.


********************************************
Rahul  Akolkar
Advisory Software Engineer
Interaction Middleware and Standards for Portal Server
IBM T.J. Watson Research Center
P.O.Box 218
Yorktown Heights, N.Y. 10598
Phone: (914) 945-1105 or T/L: 862-1105
-------