随着现代企业的分支机构越来越多,应用系统的负载和数据量也日趋庞大。应用系统经过了主机/终端和客户/服务器结构的历程,现在正由客户/服务器方式转向三层结构方式。所谓三层结构是指在客户/服务器两层结构基础上加入中间层。
以上优点,分布式的体系结构目前已被众多的应用系统所采用。
为了更好地说明应用服务器的功能以及应用和数据的分布,需要用一个实例描述,因此我们构造了一个虚拟的应用——分布式呼叫中心标准管理系统。与传统的呼叫中心不同,这是一个全国范围的呼叫中心,数据、应用和座席需要分布在全国各个节点。各节点的受理员可受理全国各地的客户,并且能访问全网内任何节点的数据。
可以看出:我们把数据库建在省受理中心(内部数据库)或其他业务部门(外部数据库),根据各地的需求,一个应用服务器可对应一个或多个数据库服务器。应用服务器细分为业务逻辑和数据逻辑,业务逻辑响应客户端的请求,从客户端获得参数,返回结果,业务逻辑的组件将整个业务封装,业务逻辑调用数据逻辑,实现对不同地点异构数据库的访问。
受理席可以是中心内部的受理席或远程外包受理席;客户端为普通Windows应用,浏览器为动态HTML(CGI、ASP、JSP)和Java Applet。它们都是瘦客户端,仅有用户界面,可访问应用服务器的业务逻辑; 业务可由插件的方式改变,这些都可通过应用服务器的业务逻辑改变来实现。整个系统网络连接由TCP/IP上层协议CORBA、Http、Socket实现。
分布式呼叫中心系统三层结构有很多优点:
(1) 可实现应用级和数据库级的全面分布。应用分为用户界面和业务逻辑,业务逻辑以组件的形式分布在应用服务器上。服务器根据需要分布在整个网络的任何节点上,尽管整个应用在物理上是分布式的,但逻辑上却是一个整体。当前的分布式数据库技术已经非常成熟,能保证分布数据的完整性和一致性。
(2) 实现大用户量、大吞吐量下的负载平衡。随着Internet的迅速发展,在Web上需要实现很多关键业务(如网上购物、订票等),这些应用的最大特点是并发用户量大,三层结构比以前的结构更能承担大业务量。三层结构将应用纵向均匀分布在客户端、应用服务器和数据库服务器上,横向分布在多个应用服务器和数据库服务器上,应用的分布实现了负载的平衡。因此,在大用户量、大吞吐量情况下,仍能迅速响应每个客户端的需求。
(3) 如果使用Java技术,可实现应用的跨平台。Java是一种跨平台的语言,不论是在客户端,还是在应用服务器上使用Java技术,都可使应用在一个操作系统上编写,并能无缝移植到其他操作系统上。
(4) 能实现组件级的开发。应用服务器的组件既能用于传统的客户端,也能应用于Web,提高了代码的重用率。
(5)中间层的存在,大大提高了数据的安全性。Web或其他客户端不直接访问数据库,从而加强了数据的安全性。