随着信息时代的到来,基于网络的数据处理问题日益成为企业信息化的中心环节。数据库的灵活性、安全性和可拓展性等成为数据处理技术焦点。随着人们对计算机应用软件要求的不断提高,其网络数据处理模式不断更新换代,因此形成了多种处理模式,当三层结构模式未出现之前,历史上主要是采用两层结构模式,近年来有前瞻性的开发商则纷纷采用三层结构模式来开发基于数据库的企业信息化管理系统。下列分别叙述两层及三层的不同特点:
两层结构:昨日黄花 (以前采用模式)
两层结构概念:即“客户/服务器”结构,就是在系统中专门划分出一个数据管理层,其余工作放在客户界面计算机上完成,客户界面通过数据服务器,获得对集中管理的数据的访问。
两层结构的运行特点:客户端提供用户界面、运行逻辑处理应用;数据服务器接受客户端SQL语句并对数据库进行查询,然后返回查询结果。用一个形象的比喻来描述就是:服务器端像一个仓库,主要功能是存储原材料和成品,但并不进行加工,而客户端就像加工车间,完成从原料到成品的整个制造过程,然后将成品存储到仓库。由于业务的处理逻辑主要在客户端执行,因此这种结构也被称为胖客户(Fat client)结构。 该结构最大的优点在于结构简单,开发和运行的环境简单,因此两层结构一般只用于工作站不多、对系统性能要求不高的HIS系统,对于开发商来说其开发成本较低,但对于用户来说,这种结构存在诸多问题:
1.工作站数目受限:当工作站数目超过100个时,系统会瘫痪;
2.执行效率慢:
当将部门级的应用逐渐推广到企业级的关键任务时,这些小规模环境下运行良好的应用,进入大规模生产系统之后,性能呈几何级数下降,以致影响到系统的可靠性。并且因两层结构采用直接存储数据的方式,因此当多个用户同时操作时会引起网络数据传输量过大而降低数据传输效率,从而影响应用系统的执行速度。同时在两层结构中服务器不得不同时为多个用户提供服务,使得服务器运算量过大降低了服务器的执行效率从而直接影响应用系统的执行速度,使得应用系统不能快速响应用户的操作请求使得用户长时间的等待。
3.维护成本高:
由于客户/服务器经常把应用系统的业务处理逻辑编写在客户端的应用程应中,因此当应用系统需要改变时,所有在客户端的应用程序都必须改变,这对于应用系统的维护来说成本太高。虽然有一些企业把系统的业务处理逻辑改写在数据库上,但是这样的结构有更大的问题,因为如此一来不但应用系统都绑死在特定的数据库上,此外许多应用逻辑的程序代码并不适合在数据库之中执行,因为使用大量计算的程序代码会严重拖累数据库的执行效率。
4.系统可扩展性差:
由于两层结构的企业业务逻辑集中在客户端,所以当用户需要对系统进行升级并修改企业逻辑时,即使是有一点点变动也需要更换全部客户端以达到整体系统的一致性。如果不更换则会造成系统客户端的不同版本造成各客户端的企业逻辑不一致,导致各种业务数据错误严重时会因各项数据的错误使系统瘫痪。所以这就迫使用户不得不更换所有客户端并因此造成极大的浪费和不必要的损失。
5.安装维护困难,系统可靠性差:
整个系统的安装维护非常繁杂,在每一台客户机上不但要安装应用程序,而且必须安装相应的数据库连接程序,还要完成大量的系统配置工作。当将各部门级的成功应用逐渐推广到企业级的关键任务时,在小规模环境下能运行良好的应用,一旦进入大规模生产系统之后,性能呈几何级数下降,从而影响到系统的可靠性。在二层结构下,大量代码化的企业业务流程驻留在客户机上,给系统的安全性带来了极大的考验。同时随着用户数量的增加,这种业务逻辑的维护成本也越来越高。
三层结构:方兴未艾 (国内为数较少的几个有实力的公司使用这个模式)
三层结构概念:一般是指将系统分解为用户界面、业务逻辑、数据管理三个软件层面,并将这三个层面部署在不同的位置上。其中第一层是客户端(用户界面),提供用户与系统的友好访问;第二层是应用服务器,专用于企业业务逻辑的实现;第三层是数据服务器,负责数据信息的存储、访问及其优化。
三层结构有诸多优点:
1.维护成本低:
三层结构之所以能够大大节省维护费用,主要表现为两大特点:
1) 由于三层结构具有瘦客户端结构(由于客户端不再处理复杂的业务逻辑和数据管理,而只专注于用户交互界面,因而客户端变得更小、更灵活,使得客户端更易于部署、安装、维护。
2) 业务逻辑的集中封装通过将业务逻辑封装在专门的服务器中,易于对业务规则的集中控制使得业务逻辑更容易维护。
2. 执行效率高:由于三层结构通过数据管理层进行数据的集中管理,并将大部分业务逻辑封装在数据管理层分担了客户端及服务器对数据的处理而提高了应用系统的执行效率。同时由于三层结构实现了数据库连接的高速缓存、复用、负载平衡,从而大幅提高系统吞吐量、响应时间等性能,使得应用系统能够快速的响应用户请求。
3.系统可扩展性大大增强:由于三层结构将所有企业逻辑集中在应用服务器即业务层因此使系统具有模块化,使得系统很容易在纵向和水平两个方向拓展:一方面可以将系统升级为更大、更有力的平台,同时也可以适当增加规模来增强系统的网络应用。由于摆脱了系统同构性的限制,使得分布的数据处理成为可能。
4.营造企业竞争优势:主要体现在三层结构的模块化设计使得用户在现有结构的基础上实现了系统扩展,从而提高企业信息化的速度,提高业务水平;系统扩充升级时,开发商通过利用大量的三层结构中间件(这也是科网联“二八”开发法则,八成共性的充分体现),可以大大降低周期和费用。随着中间件市场的出现和中间件产品的不断丰富,以开放标准为基础,使用采三层结构开发的用户系统,可以跨平台、可靠性等方面凸显出二层结构所没有的优势。以中间件为基础,构建三层的数据处理结构,将会更快、更好的促进企业的信息化,提升企业的竞争力,在激烈的市场竞争中赢得优势、脱颖而出。
综上所述可以得出三层结构的优势所在,并且随着越来越激烈的市场竞争和外部环境要求快速响应,伴随企业成长的应用需求和数据规模的不断增加,已有的信息投资需要保护等因素,因而使得企业对计算模式提出了更高的要求。而这些又集中体现在要在一个异构型的硬件环境中,实现分布的计算设备的协同合作,能够共同完成一项复杂的计算任务。还要求可以快速部署、快速改变、容易升级、易于维护。这些要求又统统反应出为什么要采用三层结构开发应用系统的重要性和必要性。
(可参考第三方权威专题论述:《流动的艺术:三层结构中的数据处理问题》