Kingson 发表于 2007-12-29 14:50:43

基于AJAX技术的B/S结构 CRM 系统的设计与实现

  1 引 言

  目前,客户关系管理(CRM)作为一种高附加值的信息化技术性产品已逐渐得到用户认可.基于B/S结构的CRM系统,先进性、快捷性、高效性和经济性等优点,能够将当前快速发展的信息通信技术与计算机数据库技术较好地结合在一起,因此能够最大限度地优化企业资源配置川.然而随着企业信息量的增多,系统数据传输量也不断增加,B/S结构系统数据传输效率低的问题日益显现出来.在B/S结构应用程序中,当客户更新数据或系统发布消息时,统的客户端需要与服务器端进行数据交互.而在传统的Web应用程序中,客户端在此交互过程中要消耗较长的时间和较多的带宽去重新读取整个页面,这样势必导致网络系统的负载过大,影响到系统的正常运行,甚至会造成系统数据的遗失.因此,在系统中降低数据的传输量是极其必要的.

  本文通过在 B/S结构 CRM系统中应用基于Asp.NET平台的AJAX技术,提高了系统的运行效率,减轻了网络负担,使系统得以可靠正常的运行.

  2 AJAX技术及其原理

  AJAX实际上是几项技术按一定的方式组合,在共同的协作中发挥各自作用的技术.其中包括:使用XHTML和CSS标准化呈现;使用DOM实现动态显示和交互;使用XML和XSTL 进行数据交换与处理;使用XML Request进行异步数据读取;用Java Script绑定和处理所有数据等.

  AJAX技术的应用模型如图1所示,其在用户界面和服务器之间加了一个中间层- AJAX层.AJAX层负责与服务器端通讯以及绘制用户界面,所以用户与服务器端间传输的数据,不包括用户界面的数据,节省了系统的传输量.

  与传统Web应用程序的HTTP请求同步响应方式不同,AJAX 对HTTP请求实行异步响应方式.通常产生一个HTTP请求的用户动作,现在通过JavaScript调用AJAX层来代替,任何用户动作的响应不再要求直接传到服务器.例如简单的数据校验,内存中的数据编辑,甚至一些页面导航,引擎就可以处理它.如果引擎需要从服务器取数据来响应用户动作,如提交需要处理的数据载人另外的界面代码,或接收新的数据,引擎让这些工作异步进行,通常使用XML不用再耽误用户界面的交互,提高了系统的响应速度.

  3 B/S结构CRM系统的设计与实现

  3.1 系统设计

  基于AJAX技术的CRM系统主要由客户端和服务器端组成,系统的结构如图2所示.客户端在浏览器中嵌人了AJAX引擎,通过这种方式完成与服务器端的交互.服务器端主要包括提供数据访问功能的Web服务和数据服务模块以及.NET框架中的数据库技术ADO.NTE.

  系统在客户端的设计中,采用了适用于脚本的API对象来实现AJAX引擎,在 API对象中应用了XMHLll,1甲对象和 XMLDOM对象.XMLHTTP对象通过Http协议完成传送客户的请求,接收服务器端返回的XML数据集的功能.XMLDOM对象则负责解析XML数据集,并根据此数据集生成新的数据页面.

  在服务器端,Web服务负责接收客户端AJAX引擎的数据请求,并通过调用ADO.NET模块来进行数据的存取及业务逻辑处理,最后把数据转换为XML格式返回给客户端,

  客户端与服务器端之间传输的数据主要包括两部分,一部分是用户请求的数据;另一部分则是服务器生成的页面数据.在应用了AJAX技术之后,由于AJAX引擎的加人,把服务器生成的页面数据在这一层中进行了处理,使得Web服务器返回给客户端的数据只包含用户请求的数据,从而使系统网络中传输的数据量大幅度地减少,达到了提高系统数据传输效率的目的,

  3.2 系统的实现

  系统的实现主要是指客户端中AJAX引擎和系统服务器端Web服务XML Assembly Service的实现.

  3.2.1 客户端AJAX引擎的实现

  AJAX引擎主要完成两个方面的功能:一个是应用XMLHTTP下对象向服务器端发送请求和接收诸如客户信息、系统消息的数据;另一个是通过XML.DOM对象解析XMLH叨叩对象传回客户端的客信息和系统消息数据.具体实现方法如下:

  1)系统客户端AJAX引擎中的XMLHTTP对象接收数据的流程如图3所示.

  其中xmlhttpreq("GET",url,true)和xmlHttpReq,send(客户信息)是实现从客户端页面的向服务器端发送请求信息的.而Web服务返回的客户信息、消息等数据都是以XML格式存储的,这样在传输过程中系统只涉及到XML数据的传输,占用的系统带宽较少,可以节省系统资源.

  2)AJAX引擎中,XMLHTTP对象传送回来的数据是由XMLDOM对象进行解析的,XMLDOM处理数据的流程如图4所示.具体过程为:客户信息及系统消息数据被传回后,XMLDOM对象获取这些数据在页面中显示,如果是客户信息数据,则分别在每条信息后加人一个增加按钮,当用户单击按钮时,触发按钮事件,随即调用客户端脚本函数,将此客户信息保存到服务器中.如果是系统消息,则在每条信息后加人一个超级链接,指向详细消息页面.当用户点击链接后,即链接到相应的系统消息界面.其他信息与此相仿.

  XMLDOM解析数据的部分代码如下:刀获取客户信息数据XML中的文本信息这样就可以将从XMLHTTP中取出的数据按照层次添加到相应的数据容器中去,从而在系统据页面上就能够显示出新的客户信息列表了.依此类推,通过应用类似的方法可以生成所有的页面元素.

  3.2.2 服务器端Web服务XML Assembly service的实现

  服务器端的Web服务XML Assembly service主要负责向客户端提供用户所需的数据.要使服务器端的Web服务能够响应客户端 AJAX引擎数据请求,需要在服务器设置中确定Web服务的URL.XML Assembly service就是通过这个URL在服务器端利用.NET数据访问模块 ADO.NET将客户端请求的数据,如客户信息、系统信息等通过网络传回客户端.具体的实现方法如下:

  CRM系统的整体设计与具体实现过程.该CRM系统通过采用AJAX技术使得系统的数据响应时间缩短、系统带宽占用率低、交互操作性优良,从而使减轻了系统的网络负担,减少了用户的等待时间,提高了系统的可用性.这种技术具有很高的实际价值和很好的应用前景.

zy-cumt 发表于 2008-12-3 00:24:31

:handshake

alextowxm 发表于 2009-1-14 16:38:05

但是现在不知道是如何测试的
能不能列举一些测试点呀
或是测试技巧
:(

wzb521 发表于 2009-1-15 19:59:08

ajax4jsf
页: [1]
查看完整版本: 基于AJAX技术的B/S结构 CRM 系统的设计与实现