You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Ted Husted <te...@gmail.com> on 2005/08/12 19:46:49 UTC

[OT] Struts and XML - Any stories to tell?

A colleague is looking to add VoiceXML capabilities to their Struts
consumer-to-business application.

I don't see any prior references to VoiceXML in the archives, just
this one aside:

* http://www.mail-archive.com/user@struts.apache.org/msg30556.html

I wonder if anyone here has any VoiceXML best practices, war stories,
or gotchas to share, especially relating to Struts or development
tools, or the Jakarta Taglibs Reuseable Dialog Components (RDC).

TIA, Ted.

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: [OT] Struts and XML - Any stories to tell?

Posted by Michael Jouravlev <jm...@gmail.com>.
On 8/12/05, Ted Husted <te...@gmail.com> wrote:
> A colleague is looking to add VoiceXML capabilities to their Struts
> consumer-to-business application.
> 
> I don't see any prior references to VoiceXML in the archives, just
> this one aside:
> 
> * http://www.mail-archive.com/user@struts.apache.org/msg30556.html
> 
> I wonder if anyone here has any VoiceXML best practices, war stories,
> or gotchas to share, especially relating to Struts or development
> tools, or the Jakarta Taglibs Reuseable Dialog Components (RDC).

Ted, I can add a little to the link you mentioned.

Several years ago when Struts was young and hip ;) we developed an app
using Struts + Weblogic/EJB (aw, entity beans) + IBM Voice Response
Server (for VoiceXML).

Application has the following features:
* renders regular HTML
* delivers WML output
* delivers voice responses via VoiceXML + voice server (we used IBM
Voiceresponce, but then switched to much smaller and cheaper in-house
VoiceXML browser); gets DTMF input.

We do not use voice recognition or voice generation. We use
pre-recorded voice sequences in sound files, and touch-tone DTMF
input.

For these three categories we have common EJB/business/Struts actions,
but different JSPs. When client hits the application for the first
time, we check "accepts" header and set medium to either WEB, WAP or
IVR. Then startup action forwards to to an actual welcome action
corresponding to the medium.

We have three types of action mappings for each medium, like 
<action path = "/login" type = "acme.struts.LoginAction">  <-- for html
<action path = "/vlogin" type = "acme.struts.LoginAction"> <-- for voice xml
<action path = "/wlogin" type = "acme.struts.LoginAction"> <-- for wap

Each action mapping has its own JSPs which is reasonable since markup
is so different. Each JSP contains links only to actions for its own
medium, so after "welcome" action detects the medium, all interaction
happens within actions and JSPs for a particular medium.

This is a pretty cool application, a lot of stuff there: EJB,
WebLogic, clustering, telephony, sound-processing, WML markup, WML
gateway interaction, VoiceXML markup, VoiceXML browser, ... Yep, this
was a great project.

Michael.

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: [OT] Struts and VoiceXML - Any stories to tell?

Posted by Rahul Akolkar <ra...@gmail.com>.
On 8/13/05, Ted Husted <te...@gmail.com> wrote:
> Oops, subject imprecise:
> 
>  /s/XML/VoiceXML/
<snip/>

And for the next generation of dialog management, I'd look at State
Chart XML, a Working Draft out of the W3C Voice Browser Working Group
[1], which has resulted in a Commons (Sandbox) implementation.
Commons-SCXML wiki is up [2], the rest will soon follow. The Reusable
Dialog Components (RDC) framework [3] includes a SCXML dialog
management strategy.

-Rahul

[1] W3C SCXML WD [ http://www.w3.org/TR/2005/WD-scxml-20050705/ ]
[2] Commons SCXML wiki [ http://wiki.apache.org/jakarta-commons/SCXML ]
[3] Earlier reference to RDCs in this thread [
http://marc.theaimsgroup.com/?l=struts-user&m=112395091630608&w=2 ]

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: [OT] Struts and VoiceXML - Any stories to tell?

Posted by Ted Husted <te...@gmail.com>.
Oops, subject imprecise:

  /s/XML/VoiceXML/

... thanks for the replies so far, gang. 

On 8/12/05, Ted Husted <te...@gmail.com> wrote:
> A colleague is looking to add VoiceXML capabilities to their Struts
> consumer-to-business application.
> 
> I don't see any prior references to VoiceXML in the archives, just
> this one aside:
> 
> * http://www.mail-archive.com/user@struts.apache.org/msg30556.html
> 
> I wonder if anyone here has any VoiceXML best practices, war stories,
> or gotchas to share, especially relating to Struts or development
> tools, or the Jakarta Taglibs Reuseable Dialog Components (RDC).
> 
> TIA, Ted.
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: [OT] Struts and XML - Any stories to tell?

Posted by Rahul Akolkar <ra...@gmail.com>.
On 8/12/05, Ted Husted <te...@gmail.com> wrote:
> A colleague is looking to add VoiceXML capabilities to their Struts
> consumer-to-business application.
> 
> I don't see any prior references to VoiceXML in the archives, just
> this one aside:
> 
> * http://www.mail-archive.com/user@struts.apache.org/msg30556.html
> 
> I wonder if anyone here has any VoiceXML best practices, war stories,
> or gotchas to share, especially relating to Struts or development
> tools, or the Jakarta Taglibs Reuseable Dialog Components (RDC).
<snip/>

Sounds like a RDC thing ;-)

The RDC framework is agnostic to the higher layers. We use Struts for
the controller bits in the sample applications. We have a multi
channel sample application (GUI & VUI) called music-store, that uses
Amazon Web Services (so a AWS subscription ID is needed to try it
out). Looking at the struts config [1] for the sample apps might help
convey how we used path wild cards (Struts 1.2) to tackle multiple
views (one for each channel), while sharing many of the higher layer
artifacts. Ofcourse, the entire sample app is in svn.

At some point, I took a stab at explaining the RDC-Struts interface
[2] in the RDC tutorials [3] section of the Taglibs wiki. Your
colleague may also want to look at the RDC website [4], for
developments and documentation, if there is interest.

I'd be glad to help on taglibs-dev / user @jakarta.apache.org if there
are other questions.

-Rahul

Reference Links:

[1] RDC examples war - struts config for sample apps [
http://svn.apache.org/repos/asf/jakarta/taglibs/proper/rdc/trunk/examples/web/WEB-INF/struts-config.xml
]

[2] Tutorial - How to use RDCs with Struts [
http://wiki.apache.org/jakarta-taglibs/ReusableDialogComponents/Tutorials/StrutsInterface
 ]

[3] RDC Tutorials - [
http://wiki.apache.org/jakarta-taglibs/ReusableDialogComponents/Tutorials
]

[4] RDC home page - [ http://jakarta.apache.org/taglibs/doc/rdc-doc/intro.html ]

> 
> TIA, Ted.
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
> 
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org