惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - 东成西就

重灾面前,我们有力量面对一切困难! 试一下 使用CAB中EventBroker碰到困难,暂记于此! 在.NET中动态编译与执行脚本文件 db4o学习笔记(五)、处理结构化对象上 db4o学习笔记(四)、db4o查询详解续 db4o学习笔记(三)、db4o查询详解 db4o学习笔记(二)、第一次亲密接触 db4o学习笔记(一)、db4o概览 LightweightCTI架构设计(4) LightweightCTI架构设计(3) LightweightCTI架构设计(2) LightweightCTI架构设计(1) LightweightCTI开发实录(5)板卡适配器概述 LightweightCTI开发实录(4)系统如何工作 LightweightCTI开发实录(3)分析之前 系分考试准备的论文(6):论系统设计中对用户需求的把握 LightweightCTI开发实录(2)项目计划 LightweightCTI开发实录(1) 缘由
LightweightCTI架构设计(5)
东成西就 · 2006-08-30 · via 博客园 - 东成西就

五、适配器层整体结构图

(5.1 适配器层整体结构图)

LightweightCTI适配器层由如下类构成:

Ø         通道管理器(ChannelManager);

Ø         板卡适配器(CTICardDriver);

Ø         通道(Channel);

Ø         脚本引擎(ScriptEngine);

Ø         任务管理器(TaskManager);

Ø         呼叫任务(CallTask);

Ø         会话(Session);

Ø         任务队列填充器(TaskQueueFillter);

Ø         TTS(适配器)引擎(TTSEngine);

Ø         临界区(CriticalSection)。

六、应用LightweightCTI的软件结构

前面对LightweightCTI的体系结构进行了详细的介绍,我们已经知道其灵活性及强大的扩展性。但是再强大、再灵活的框架如果不好使用的话,那也没有任何价值。为此,在本节将对使用LightweightCTI进行应用开发的软件结构进行简要的介绍。

6.1、框架整体设计模式

为了便于LightweightCTI本身的开发以及使用它进行语音应用软件的开发,在设计之初始我们就对其进行了相应的规划。无论是LightweightCTI核心系统还是外围的扩展组件都遵循MVC(模型-视图-控制器)的设计模式。

视图(View

用户界面包括基本的GUI、字符界面或系统服务

模型(Model

脚本程序、任务管理器及队列填充器等

控制器(Controller

通道管理器、板卡适配器、TTS/脚本引擎及通道等

(图6.1 适配器层应用开发模式)

通过MVC模式的应用能够使控制器、视图对模型中数据的变化做出相应的响应,同时又减小了系统中各组件之间的依赖关系。也有利于对系统进行单元测试,因为对模型中的数据(业务逻辑)的操作根本不涉及视图,所以有机会单独的对模型进行测试,当然它的好处绝不仅于此,这方面的资料十分多大家可以找来详细了解一下这里便不再详述。

6.2、应用LightweightCTI的软件结构

在面向对象的软件开发与应用中,良好的层次结构不但有利于软件系统的开发与维护工作,更能够提高系统相关组件的复用程度,从而实现构件化的软件开发。LightweightCTI的设计目标之一就是实现组件化的应用软件结构,对此在LightweightCTI体系结构一节有详细的介绍,在此将只对应用LightweightCTI进行应用软件开发的结构图作一简要介绍。

操作系统、数据库软件

板卡驱动程序软件

其它软件如CRMERP

公共服务、相关工具等

全局属性、资源

组件容器

可扩展插件树

呼叫中心、800电话服务系统、娱乐声讯台等应用软件

IVR流程编辑器

IVR流程调试器

IVR脚本编辑器

板卡适配器层

动态脚本引擎

IVR流程引擎

(图6.2 应用LightweightCTI的软件结构)

从上图可以看出利用LightweightCTI所开发的软件结构层次主要有:(1)、底层的操作系统、数据库系统、其它软件如CRMERP等及语音卡等板卡驱动程序软件;(2)、LightweightCTI框架微内核系统,此层向上层提供基础的全局属性、资源管理、系统扩展组件的管理等功能;(3)、系统扩展组件,这一层次包括提供基础服务的板卡适配器层、动态脚本引擎、IVR流程引擎及稍上层次的IVR流程编辑器、调试器和脚本编辑器;另外一方面是具体的业务软件,如呼叫中心、客服800系统、娱乐声讯软件等。整个系统由系统组件容器接口进行统一的管理与调度,最终使插入到其中的各扩展组件相互协作完成特定的业务功能。

七、LightweightCTI发展规划

应用LightweightCTI框架为东莞市自来水公司开发的自动催缴与查询系统已经成功部署并稳定运行一个多月时间。因此,我们对于运用LightweightCTI框架作为商业软件的开发是充满信心的。另外一方面,由于本人专业技术水平的限制,在文中难免出现这样那样的错误,而框架本身也有待进一步完善和丰富,为此请各方面的专家就文中出现的错误及框架设计不完善之处予于斧正。在接下来的时间里我将就大家提供的反馈意见对其进行修正。在中长期的发展中,我将在资源允许的条件下着重完成如下工作:

1)、对国内目前主流的板卡适配器的开发,当然有些受到开发环境搭建的限制将会推迟完成;

2)、为LightweightCTI for Delphi/C++Builder 1.0.0.0创建可扩展的微内核系统;

3)、研究VoiceXML RFC文档,今后无论哪个版本的框架将以VoiceXML作为首先支持的脚本语言;

  (4)、将LightweightCTI移植到.NET 2.0环境下,并以其作为后续版本主要的开发环境;