现在想像一下在移动设备上实现同样的网页,例如在个人数字助理(PDA)上。应用程序会完成同样的功能,但是可视区域要小一些。让我们假设一下,如果你没有可访问Web的设备,那你又该怎么做呢?一种可能的解决方案可能就是打电话了。
在创建基于Web的应用程序时,应用程序开发的管理者有了一个新的选择:基于VoiceXML的系统。VoiceXML(以下简称VXML)建立在传统的交互式语音响应(IVR))电话应用程序的成功和进步之上,它是Web和电话科技的结晶。
VXML能让最终用户通过语音浏览器同一个基于Web的应用程序进行交互操作。在一个典型的会话里,语音浏览器(或者叫做翻译者)会通过合成语音或者预先录制的语音文件同用户进行“交谈”。最终用户通过使用自然语言或者DTMF(电话按键)输入来进行回应。语音浏览器然后就会接受这个输入,解析或者翻译输入的信息,然后执行编码的动作。
这一功能同标准的Web浏览器所采取的步骤很类似。浏览器接受HTML标示形式的输入信息,并在窗口内显示Web的内容。一个符合VoiceXML标准的浏览器会接受VXML脚本形式的输入信息,并对用户执行或者“口述”对话。
VXML技术能够让开发人员以语音响应系统的形式来设计内容发布应用程序,而不需要开发底层的语音翻译逻辑。而且,开发人员能够设计符合VXML标准的语音浏览器,这就能够让你把注意力放在应用程序的内容上。(W3C现在在2.0版的工作草案里对其提供了支持。)
VXML人机交互的范围包括下列内容:
从概念上讲,VXML应用程序是基于一系列VXML文档或者脚本的。当用户开始同VXML浏览器进行交互操作的时候,一个会话就开始了。VXML会引用一个会话,并将文档作为对话来执行,后者由一个或者多个对话或者交互路径组成。
在任何给定的时间内,活动的最终用户一直都是与一个对话进行交互操作的。对话可以是菜单或者表单。表单会定义收集信息的交互操作,并能够设置变量。表单的每个元素都可以定义语法或者定义能够被允许的输入。菜单会为用户提供一组同其他对话相关联的选项。当用户从一个对话切换到另一个对话的时候,这就是个转换,它用标准的URI参照来表示。当一个没有参照URI的转换结束时,开发人员可以认为这个会话已经完成,执行就要结束了。
VXML还定义了其他的概念,例如事件和链接。开发人员在很多情况下都能够利用事件来控制执行,例如非法的输入或者没有响应的超时等情况。你可以根据链接的语法来细分各种URI。最后,标准的XML协议是VXML的基础。VXML结构描述里的元素会描述创建文档所需要的组件。
作者 Scott Withrow具有超过18年以上的IT工作经验,包括IT管理、Web开发管理,以及内部咨询应用程序分析。