多层服务器结构
王永辉 徐为春
1.多层结构简述:
早在70年代末第一个关系型数据库管理系统出现时,计算机的数据库时代就已悄然开始。那时的观念是由应用程序与关系型数据库共享统一文件系统,这种数据处理的模式一般称为单层结构(1 -Tier)。 由于这种结构的数据库程序占用计算机资源较多也不利于多用户环境数据库的访问,于是在80年代中期,数据库应用开始转向C/S(Client/Server) 结构, 也就是所谓的两层结构(2-Tier)。 这种结构在近十年内不但得到了广泛的运用, 而且相当成功。 然而,在两层C/S 结构成功的背后却逐渐暴露出其构架上的缺陷。其中最明显的问题表现在应用程序的伸缩性和维护方面。特别是每一个客户端往往必须配置数据库的客户端服务或ODBC/BDE软件,使得客户端占用资源很多,配置也很繁琐。
90年代中期后,由于分布式计算技术和Web的迅速发展,数据库应用系统在传统的 C/S 结构的基础上,出现了两个重要转变:
一是在客户层与数据库服务器层之间增加了一层或几层中间件(Mid-ware)或称为应用服务器,这种新的结构就是所谓的3层或多层结构(C/S/S 3-Tier n-Tier)。由中间件处理应用系统的业务逻辑,客户端程序只处理界面的显示;由中间件与数据库通讯,客户端因为不需要与数据库通讯,所以不需要安装数据库的客户端程序和数据库驱动程序,可以使客户端程序变得更小,更快;中间件可以有多个并且可以安装在不同的计算机上,将处理工作分散开来,改善性能。
二是随着Internet/Intranet的流行,越来越多的客户需要数据库的前端能够在浏览器中运行,于是出现了B/S(Browser/Server)结构。应用服务器的出现使得原来占用资源很多的应用程序客户端(称作肥客户)转变成占用资源较少的瘦客户,也使得瘦客户可以在浏览器中运行。这两个转变实际上同时发展并且相互推进。
值得一提的是,结合以上两种变化,出现了一种结合三层C/S/S的B/S结构(四层)。
2. 多层结构的优势
把业务逻辑封装在共享的中间层里。不同的客户端都访问相同的中间层。这可以减少由于在每个单独的客户端应用中重复业务逻辑所造成的冗余(以及相应的维护成本)
“瘦”的客户端。客户端应用程序可以写得很小,而把大多数工作交给中间层处理。客户端应用程序不仅是变小了,而且还更加的易于发布,因为它们不需要再考虑安装,配置和维护数据库连接软件(例如 BDE/ADO 及数据服务器的客户端软件)的问题。“瘦”客户端应用程序可以通过 Internet 以更加灵活的方式发布。
分布式数据处理。将一个应用系统的工作分布到几台机器上可以改善系统的性能,因为可以提供负载平衡以及用备用的机器去替代发生故障的机器。
增强安全性。可以通过使用不同的访问约束,来分层隔离敏感的功能。这提供了一个灵活的和可配置的安全层。中间层可以限制敏感部分的入口点,使你能更加容易地控制对它的访问。如果你使用 HTTP, CORBA 或是 COM+ ,你还可以同时享受到它们支持的安全模式所带来的优势。
3.多层结构的实现
Microsoft 的 DNA(Distributed Internet Information Architecture)技术是以 MTS/COM+ 为基础的,辅以 ASP/MSMQ 等的一整套集成在 Windows 2000 中的分布式应用开发技术。以 MTS/COM+ |
|