### Java与VoiceXML结合建设基于WEB的CTI
#### 概述
在现代通信技术的快速发展下,将移动通信技术与数据通信相结合,为用户提供随时随地接入网络的能力已成为可能。计算机电话集成(CTI,Computer Telephony Integration)技术的演进为我们提供了一种全新的途径,而VoiceXML与Java技术的结合,则为构建基于Web的CTI系统提供了强有力的工具。
#### VoiceXML与Java结合的意义
VoiceXML,全称为Voice eXtensible Markup Language,是由VoiceXML论坛制定的一种标准,旨在通过电话访问Web网络,使用户能够通过语音接口与网络服务进行交互。它的目标是利用Web上已有的丰富信息,通过交互式语音界面,同时减少开发者在底层编程和资源管理方面的工作负担。VoiceXML能够利用熟悉的客户端-服务器架构,将语音服务与数据服务无缝融合。
Java技术,特别是Java Servlets,作为运行在请求-响应服务器上的模块,具有跨平台特性,只需编写一次即可在任何平台上使用,解决了传统服务器端脚本的不可扩展性、平台依赖性和编程复杂性问题。Java Servlets可以像CGI脚本那样扩展Web服务器的功能,但占用的资源更少。因此,结合了强大技术支持和可扩展性的Java Servlets与VoiceXML,为构建跨平台的基于Web的CTI系统提供了理想的工作环境。
#### VoiceXML的结构与特点
VoiceXML应用程序通常包括以下组成部分:文档服务器、VoiceXML解释器、VoiceXML解释器上下文和执行平台。作为标记语言,VoiceXML具有以下显著特点:
1. **最小化交互**:通过文件中的多层交互设计,最小化客户端-服务器之间的交互。
2. **开发抽象化**:允许应用开发者无需关注底层软件和系统平台的细节。
3. **代码分离**:将用户交互代码(在VoiceXML中)与服务逻辑(如Java Servlets脚本)分开。
4. **平台独立性**:确保服务的可获取性,使其能在不同的执行平台上运行,为内容提供商、工具提供商和平台提供商提供通用语言。
5. **简化交互**:使得简单的交互变得容易,提供的语音界面能够支持复杂的对话。
#### Java Servlets的特点
Java Servlets是一种能够插入到服务器的程序对象,它们与Web服务器兼容,可以运行在JRE或JVM环境下。Servlets的主要优点包括:
1. **面向对象**:利于创建可重用的组件。
2. **API一致性**:Java提供了丰富的类库和方法,学习成本在不同场景下可获得回报。
3. **平台独立性**:Java程序在JVM中运行,这意味着在不同平台上创建的Servlets无需修改即可使用,保障了代码的平台适应性。
4. **高度集成性**:多种软件开发工具集成了数据库访问、目录服务等多种功能,使Servlets成为处理各类应用的强大工具。
#### 应用实例
以在线书店为例,通过VoiceXML与Java Servlets结合的CTI服务程序,用户可以通过电话与系统进行语音对话,完成书籍查询、购买等操作。整个流程涉及用户拨打电话至书店服务号码,由托管书店服务的语音服务平台引导用户进行语音交互,利用VoiceXML定义的对话流程,结合后端Java Servlets处理业务逻辑,如查询库存、处理订单等,最终为用户提供个性化的语音服务体验。
Java与VoiceXML的结合不仅极大地丰富了基于Web的CTI系统的功能,还提高了系统的灵活性和可用性,为用户提供了一种全新的交互方式,同时也降低了开发者的开发难度,提升了服务质量和用户体验。