三层结构部分技术阐述
CHIS5.0体系结构及开发运行环境的选择
1.1 系统环境及体系结构选择的基本要素
系统环境及体系结构的确定是系统分析最主要的任务之一,它受到多种因素的制约,关系到整个系统的成败, CHIS5.0体系结构及开发运行环境的选择主要考虑下述因素.
1. 要完全支持系统功能需求, 支持7天/24小时连续运行,足够的磁盘容量, 足够快的支持大量实时业务处理的运行速度,管理复杂关系中数据库表的能力,安全性,容错, 支持用户界面的友善性设计等.
2. 系统开发环境及工具的选择要易于程序员学习,掌握,支持程序编制的高效率,减低程序维护的难度, 支持完全面向对象的程序设计.
3. 系统运行环境和体系结构要有较强的灵活性,可伸缩性,可扩展性和开放性,应能支持系统产品化的目标, 应能支持不同地区,不同规模,不同计算机应用水平的医院的需求.
4. 系统软硬件平台的选择即要考虑其计算机技术领域的先进性,又要照顾其市场领域的成熟性,选择成熟的先进技术是我们的目标. 先进性保证我们的选择符合计算机技术的发展方向,有利于系统的进一步开发,不会早的面临落后与淘汰的被动局面,成熟性则保证所选择的环境是可靠的,无论开发和运行均较少受到系统不稳定性的损害。
5. 高性能价格比系统环境与体系结构的确定,即在满足上述要求的情况下选择价格最低的软硬件产品,组合构成整个系统。
1.2 多层客户机/服务器体系结构(C/S/S)
早在70年代末第一个关系型数据库管理系统出现时,计算机的数据库时代就已悄然开始。那时的观念是由应用程序与关系型数据库共享统一文件系统,这种数据处理的模式一般称为单层结构(1 -Tier)。 由于这种结构的数据库程序占用计算机资源较多也不利于多用户环境数据库的访问,于是在80年代中期,数据库应用开始转向C/S(Client/Server) 结构, 也就是所谓的两层结构(2-Tier)。 这种结构在近十年内不但得到了广泛的运用, 而且相当成功。 然而,在两层C/S 结构成功的背后却逐渐暴露出其构架上的缺陷。具体表现在以下几方面:
(1)由于客户端和服务器端直接连接,服务器将消耗部分系统资源用于处理 与客户端的连接工作。那么每当同时存在大量客户端数据请求时,服务器有限的系统资源将被用于频繁应付与客户端之间的连接,从而无法及时响应数据请求。客户端数据请求堆积的直接后果将导致系统整体运行效率的大幅降低甚至全面崩溃。
(2)Client与Server直接连接,安全性低。非法用户容易通过Client直接闯入中心数据库,造成数据损失
(3) Client程序肥大,并且随着业务规则的变化,需要随时更新Client端程序,大大增加维护量,造成维护工作困难,客户端应用程序的分发工作的烦琐程度令人难以接受。
(4)在存储过程调用中,即所有处理过程都在数据库层进行,只是将最终结果返回到客户端。这种结构的业务逻辑需采用专用语言开发,很难再移植到其他的数据库上去。
90年代中期后,由于分布式计算技术和Web的迅速发展,数据库应用系统在传统的 C/S 结构的基础上,出现了两个重要转变:
一是在客户层与数据库服务器层之间增加了一层或几层中间件(Mid-ware)或称为应用服务器,这种新的结构就是所谓的3层或多层结构(C/S/S 3-Tier n-Tier)。由中间件处理应用系统的业务逻辑,客户端程序只处理界面的显示;由中间件与数据库通讯,客户端因为不需要与数据库通讯,所以不需要安装数据库的客户端程序和数据库驱动程序,可以使客户端程序变得更小,更快;中间件可以有多个并且可以安装在不同的计算机上,将处理工作分散开来,改善性能
二是随着Internet/Intranet的流行,越来越多的客户需要数据库的前端能够在浏览器中运行,于是出现了B/S(Browser/Server)结构。应用服务器的出现使得原来占用资源很多的应用程序客户端(称作肥客户)转变成占用资源较少的瘦客户,也使得瘦客户可以在浏览器中运行。这两个转变实际上同时发展并且相互推进。
今天我们所面临的问题是如何能够创建通向未来的没有中断的跨越LAN、WAN 和Internet 平台的分布式可伸缩性的应用结构,以满足当今复杂的、不断发展变化的业务需求,同时又能确保医院在系统、应用、信息及人员上的投资。能够适应这种变化的结构是多层分布式计算体系结构。多层体系结构能够在低费用的条件下比现行的PC LAN、两层客户/服务器或主机/终端应用结构提供更好、更及时信息的可能性。多层分布式计算应用服务技术是目前数据库应用发展的潮流,传统的客户/服务器(二层)的应用正朝着三层或N-Tier 结构发展。
三层结构是传统的客户/服务器结构的发展,代表了企业级应用的未来,典型的有多层C/S应用,Web下的应用等。
多层结构的优势具体体现在:
安全性:中间层隔离了客户直接对数据服务器的访问,保护了数据库的安全;
可以通过使用不同的访问约束,来分层隔离敏感的功能。这提供了一个灵活的和可配置的安全层。中间层可以限制敏感部分的入口点,使你能更加容易地控制对它的访问
稳定性:对于要求24*7工作的业务系统,多层分布式体系提供了更可靠的稳定性:
1、 中间层缓冲Client与数据库的实际连接,使数据库的实际连接数量远小于Client应用数量。当然,连接数越少,我们的数据库系统就越稳定。
2、 Fail/Recover机制能够在一台服务器当机的情况下,透明地把客户端工作转移到其他具有同样业务功能的服务上。
易维护:由于业务逻辑在中间服务器,当业务规则变化后,客户端程序基本不做改动;
快速响应:通过负载均衡以及中间层缓存数据能力,可以提高对客户端的响应速度;
系统扩展灵活:基于多层分布体系,当业务增大时,可以在中间层部署更多的应用服务器,提高对客户端的响应,而所有变化对客户端透明。
开放性: 由于每个中间层部件都有标准的接口,我们将开放系统中大多数部件的接口,提供给其他软件公司或客户进行二次开发,可以重写自己的客户端程序,写自己的浏览器程序,可重写针对特殊需求的中间层部件,也可增加新的部件到系统中。
适用性:基于部件的开发,使系统的适用性大大增强,可针对特殊的业务需求开发专门的部件来替换原有的部件。
复用性:软件对象的复用性大大增强。
多层结构的实现
Microsoft 的 DNA(Distributed Internet Information Architecture)技术是以 MTS/COM+ 为基础的,辅以 ASP/MSMQ 等的一整套集成在 Windows 2000 中的分布式应用开发技术。以 MTS/COM+ 提供事务服务,用 DCOM/RPC 进行分布对象间通讯,用 ASP 进行 Web 应用开发,用 MSMQ 提供消息通讯。
|
|