引言
WCF是"Windows Communication Foundation "的缩写,,它是MS为SOA(Service Oriented Architecture)而设计的一套完整的技术框架。利用它能够开发出分布式(Distributed)应用程序,而且开发难度相比以前的.Net Remoting和Asp.Net Xml Web Service等都有了大幅度的降低。可以说WCF是目前微软平台下最先进的SOA框架,也是微软在今后一段时间内在该领域的主打产品。热线系统如果构建在SOA框架下,可以给今后系统的维护和扩充带来极大的便利。
系统结构示例图
系统框架图
技术要点
中心坐席
中心坐席涉及到对话务的控制,很多配置信息必须存放在本地。并且采用COM技术对话务组件进行控制,因此,中心坐席的主框架采用Win Form的形式。并且在Win窗体中加载话务的控制组件,实现对话务的操作控制。其他的业务界面查询界面等都采用内嵌Web页面的方式。很多业务处理页面可以和远程坐席复用。
远程坐席
采用纯IE浏览器的方式。一些业务处理页面和查询页面可以和中心坐席复用。
业务层说明
根据现有的业务流程,整理并提炼出各个独立的业务服务。根据业务压力的大小,Host到不同的服务器中。
数据库层说明
数据库层采用StarTour最新开发的组件,提供业务逻辑和数据库类型的无关性。并且为了今后能够实现多语言版本,和提高系统的安全可靠性,所有的查询语句均不使用直接字符串组合的方式,而是通过使用参数类进行参数传递。
数据库存储说明
数据库分为业务库和历史备份库。根据一定的规则,定时把业务库中的数据备份到历史库中,并且在业务库中删除已经备份的数据。使的业务库只维持少量的正在处理的信息。所有的查询程序必须能够根据查询条件,自动匹配需要查询的数据库。
日志记录
采用日志分层记录的策略,讲日志内容分为错误,警告,信息,调试信息等内容,根据不同的记录策略,决定记录不同类型的日志内容。例如:如果将日志记录策略定为 Debug,那么所有的日志类型都将记录。如果将日志记录策略改为 Simple,那么只记录发送系统错误的日志内容,其他类型的日志内容都将被忽略。日志记录模块可以采用StarTour编写的StarTour.GeneralEventLog.dll 组件来实现。
产品化设计
由于主要业务和用户验证都采用了提供服务接口的方式,这样就可以非常精确地定义和管理中心坐席数,远程坐席数。并且可以在服务端配合使用加密狗硬件和软件,超过指定数量的链接请求都将被拒绝。为系统的产品化提供了一个解决方案。
系统扩展
如果客户引入了第三方软件开发商,做其他的业务系统,如果需要我们提供热线数据,可以直接通过开放一些Web调用接口来提供数据,而不需要再额外编写数据导入导出软件。同样,如果我们需要其他软件开发商提供的数据,不管对方如何升级,只要接口不变,热线系统也不需要修改一行代码。