JSP-2.0 Reusable Dialog Components (RDC) ---
a framework for creating JSP taglibs that
aid in rapid development of voice and multimodal applications.
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
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.
The RDC taglib project provides the following pieces:
All functionality is implemented either directly as JSP-2.0
tag or tagx files, or as Java classes that implement
the equivalent JSP-2.0 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.
- A small collection of speech dialog components that aid in basic user interaction.
- An extensible JSP-2.0 framework for implementing additional speech components that can collaborate in producing complex spoken interaction.
- A collection of sample applications that demonstrate the use of these components.
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.
This tag library requires JSP 2.0 support and has been developed on Tomcat 5.0.
It depends on the following libraries, many of which can be obtained from various Apache projects:
It may be possible to use Commons library versions lesser than the ones quoted here.
- jstl.jar and standard.jar (JSTL 1.1)
- jsp-api.jar (JSP 2.0) for building custom tags
- commons-el.jar (1.0) for delayed EL evaluation
- struts.jar (1.2), commons-digester.jar (1.7) and
commons-beanutils.jar (1.7) for struts examples and the
rule-based directed dialog
- commons-logging.jar (1.0.4) for logging in taglib and sample
- commons-scxml.jar (0.5) needed for the SCXML dialog management
strategy of the RDC group container
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