随着网格技术发展水平的不断提高,计算机应用系统的体系结构也从局域网时代的两层结构逐步发展到网络时代的三层体系结构,下面以**证券投资交易系统为例对两者进行简单的介绍和比较。
1传统的两层体系结构
两层体系结构(客户机/服务器)是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到客户端和服务器端来实现,降低了系统的通讯开销两层结构是一种分布式计算模式,该结构将系统中各部分的任务分配给网络上担任不同角色的计算机,把复杂的处理和管理任务交给网络上的服务器,而把频繁与用户打交道的任务,如显示逻辑事务处理等交给前端计算机客户机。这种结构实现了网络上信息资源的共享。两层体系结构有界面友好、执行效率高、开发周期短等诸多优点,大部分传统的信息管理系统都是这种体系结构。
但是随着两层结构的应用系统的广泛使用,终端用户和软件供应商都发现了这种结构的一些缺陷:
1)客户端维护开销大 在两层结构中,一旦需要对数据处理进行逻辑修改,就必须把新的应用程序分发到每一个客户端;如果主机上的应用程序报告被破坏或者要增加其它业务单元,就必须重新安装相应的客户端。
2)工作节点的扩展性差 以一般的企业财务管理信息系统为例,随着业务逐渐向区、县进行推广,节点扩展规模大、面积广,每增加一个节点,就要到该节点上安装程序客户端,每次升级软件,也必须将每一节点上的客户端升级,这使得节点的扩展费用越来越高。
3)安全性差 两层体系结构中,客户端直接操作数据库服务器中的数据,使得系统的安全性受到威胁,也加大了系统安全管理的难度。
4)可移植性差 首先是两层体系结构系统具有平台相关性;其次是对数据库的类型具有依赖性。
5)工作效率较低 两层体系结构中,每一个客户端在向数据库服务器提出请求时都会与服务器建立一条连接,连接无法共享。如果大量客户机同时对服务器进行访问,会对服务器造成沉重的负担,甚至导致服务器崩溃。
2三层体系结构
由于两层体系结构存在着上述诸多缺陷,随着网络技术在各行各业的深入应用,三层(Browser/Server)网络体系结构应运而生,并飞速发展,成为众多软件争相采用的新型体系结构。在三层体系结构下,表示层、功能层、数据层被分割成三个相对独立的单元。
三层体系结构主要由以下三部分组成:
1) 客户端 客户端的主要任务是显示用户界面,接收用户事件。三层体系结构中,用户界面通过浏览器显示,Web Server将应答最终以HTML为载体下载到客户端浏览器,经支持Java的浏览器进行解释,得到最终的用户界面。
2) 中间件服务器 中间件服务器由Web Server和Java Application Server两部分组成,有的中间件把这两部分集成到了一起,如BEA Web Logic。
3) 数据库服务器 数据库服务器是业务对象的属性得以永久性保存的载体。保证对象持久的最直接的方法是使用面向对象的数据库管理系统,它是专门为存储和共享对象而设计的。
三层体系结构的特点及优越性
与传统的两层体系结构的管理系统相比,三层体系结构的系统存在如下优点:1)客户端零维护 在三层体系结构中,应用逻辑放在中间层,几乎所有的业务处理都是在中间件Web Server上完成的,客户端只需要安装支持Java的浏览器即可,所以就不存在客户端维护的问题,真正实现了客户端零维护。
2)良好的可扩展性 三层体系结构的可扩展性好主要体现在两个方面:工作节点的可扩展性好;应用系统的可扩展性好。三层体系结构采用面向对象的分析和设计模式,将业务模块都封装到了业务类和服务类中,在系统程序开发过程中,需求有变化或增加一个新的功能模块,只需替换或增加新的业务类和服务类即可。
3)安全性好 在三层体系结构中,客户端只能通过应用服务器而不能直接访问数据库,这大大提高了系统的安全性。应用服务器不仅可控制哪些数据被改变和被访问,而且还可控制数据的改变和访问的方式 。
4)可移植性好 三层体系结构可移植性的优势体现在以下三个方面:第一,系统具有平台无关性。三层体系结构的所有应用都是用Java语言开发的,因此它具有Java语言的一切优势。第二,便于数据库移植。由于客户端不直接访问数据库,而是通过一个中间层进行访问,所以在改变数据库、驱动程序或存储方式时无需改变客户端配置,只要集中改变中间件的数据库连接部分即可。第三,中间件可移植性好。三层体系结构中间件移植的关键是Servlet和JSP移植。SUN公司为Servlet和JSP白日提供了标准的API和使用规范,保证了程序开发的一致性,并使Servlet具备了一个最大的优点:协议无关性。这些保证了应用系统可以方便地从一个中间件移植到另一个中间件上。
5)资源重用性好 由于将业务逻辑集中到Web Server统一处理,三层体系结构可以更好地利用共享资源。例如数据库连接是一项很耗费系统资源、影响响应时间的工作,在三层体系结构中可以将数据库连接放在缓冲池中进行统一管理,由不同应用共享,并有效控制数量,由程序保证控制了证券投资业务的正常稳定运行,重要业务优先处理。
6)程序的规模(可伸缩性好)三层结构每一台客户机连到中间层,中间层可以保证大量的连接不间断,并且维持数据库连接不会超过一定的数目。
7)可靠性提高 三层模式可以将服务集中在一起管理,统一服务于客户端,从而具备了良好的容错能力和负载平衡能力。关键服务可以在多个中间件冗余提高可靠性。另外,封闭的服务可以减小软件的缺陷。
结束语:从上面的比较可以看出,三层体系结构应用系统在安全性、可扩展性、可维护性、适应性、开放性等方面较之两层结构均有着很大的优势,尤其对于建设大型应用系统,意义尤为深远。希望本文对于其它软件系统建设的选型与实施,能直到一定的借鉴作用。