设为首页] [加入收藏]
Time:2015-04-12 09:17

传世sf,新开传世sf,传世

您所在的位置:首页应用指南医疗保险系统的设计原则(2)

面对医疗保险系统这样一个涉及成千上万参保人口的业务系统,设计的首要原则就是保证系统的稳定、可靠运行。确保系统24小时连续运转不停机。

核心应用是OLTP,这是我们对医疗保险系统的需求分析中得出的,如何设计OLTP应用架构?我们不妨从中间件的分析入手。

中间件(Middleware)是随着计算机在社会生活的各个层次广泛应用近年来迅速发展、壮大起来的一个软件领域。在应用系统的层次结构中,中间件位于操作系统和用户应用之间,其主要作用是屏蔽操作系统,为应用程序提供一个稳定安全的支撑环境,也有利于不同系统间的信息交换。应用开发人员编程时只需利用中间件产品提供的统一接口,而不必考虑不同操作系统之间的差异。利用中间件开发的应用,在提高应用程序的可移植性的同时也缩短了应用开发的周期。中间件的采用可以为我们节约大量的人力、物力和财力,使我们可以将更多的精力投入到真正有价值的业务应用的开发中。

与中间件密切相关的另一个概念是三层次体系结构。任何一个应用系统从逻辑上都可以分为用户界面逻辑(描述逻辑)、应用处理逻辑(业务逻辑)和数据逻辑三个层次。对这三个逻辑层次,可以用不同的方法实现。

如我们通常所说的客户机/服务器(C/S)结构,它是将用户界面逻辑和应用处理逻辑通过前端开发工具融合在一起,后端只有一个独立的数据库完成数据逻辑,这样的应用为两层次结构。两层次结构通常适合中小规模的局部应用。大型企业的关键业务系统一般都采用三层次式多层次体系结构。Gartner Group预测,到2000年,全世界将有90%的大型企业(年销售额超过10亿美元)在其内部采用三或n层次结构。而中间件正是连接这三个层次必不可少的部分。

从前,许多业务系统采用以数据为主的C/S二层应用结构,这种结构通常被称为二层客户机/服务器模式(2tierClient/Server)。这种应用模式,起源于桌面局域网应用系统,优点是实现起来比较简单、灵活,其灵活性的一个体现是:这种应用模式既适合于单机应用环境(主机/终端方式),又适合于局域网及广域网环境。在局部化低事务处理率的应用环境是非常适合的。

然而,随着事务处理规模的增长,尤其是达到业务系统的规模、或对于交易量很大的联机事务处理系统,这种方式暴露了其局限性。

首先,由于二层次结构是以数据为中心,它只对数据库进行管理,安全性也集中在对数据的存取上,而对应用程序则缺乏管理手段,难以管理应用程序的修改与变更,以及整个业务的安全。

同时,由于在二层次结构中,客户端直接操作数据库,每一个交易都包含一次或多次数据打开连接与关闭连接的操作,因此系统开销在事务处理量增大的情形下急剧增加。

再者,而每个数据请求可能只存取一个或者很少几个数据记录。把每个请求传送给服务器都产生大量的网络通讯,这些网络通讯不久就成了系统运行的限制因素。这种应用程序也可能产生另外一些影响:对频繁存取的表格和记录的争用会限制共享数据库服务器的性能。该应用程序需要存取其他数据服务器,这样就产生了更多的网络通讯。一个应用系统中常常有不同类型的各种交易,数据库系统通常没有办法分离出不同类别的通讯并赋予他们不同的优先权,也无法防止用户恶意或无意地以被判断错的数据库查询堵塞服务器和网络。系统性能在很大程度上依赖于用户的数量和事务处理的类型,当遇到这些问题产生的瓶颈时,相关的花费将以指数级增长。即使将硬件升级,由于对资源的争夺仍然存在,因此也不能解决问题。

针对在大型事务处理应用环境中出现的以上这些问题,事务处理应用领域沿袭大型机在事务处理方面的经验,引入三层客户机/服务器的体系结构,即以交易管理为主的客户机/服务器结构,如下图所示(图三):

在终端用户与数据管理系统(包括数据库系统,文件系统)之间,引入应用服务器(Application Server)来统一管理应用程序,完成应用与数据库系统的连接与管理。这个应用服务器就是我们所说的

三层客户机/服务器模式使系统的开销(尤指数据库开销)仅与活跃用户的数量成正比,其中心特征是每个应用程序的业务逻辑在一个共享的应用服务器(中间层)上运行,而不在客户机上执行。这种模式利用三个逻辑分开的系统服务,分别是:应用客户机、应用服务器与数据服务器。

在一个三层次系统中,每一级都支持应用程序的一个独立部分。应用客户机完成描述逻辑,应用服务器完成业务处理逻辑。在一个事务处理过程中,每一个客户机只向应用服务器发出一个请求,这就大大减少了网络通讯和竞争。每个应用程序的业务逻辑是由该应用程序的所有用户共享的,这样就能更好地控制业务处理,同时当修订业务处理而产生变化时,能极大地简化变化的实现。数据服务器负责管理和优化同时并发的数据存取。

三个逻辑层可以在网络中不同的物理系统上运行,这种方法不是三级模式的必要部分。应用服务器和数据服务器也可以在同一台中共存。三层次结构模式的特性是客户机请求应用程序服务而不是请求数据。数据库系统经常通过称为Stored Procedures(存储过程)的机构提供一个三层次结构实现的子集。这就允许将用过程语言编写的应用程序段嵌入到数据库中,并且通过SQL数据库语言调用。这样做对较短的过程来说很方便,完整性约束,它同特殊数据有密切的联系,同时在一定程度上独立于特殊的业务处理。然而,存储过程受到一些限制。他们只能有一个SQL请求启用。他们通常用专有的SQL语言的扩充部分,这些扩充部分只由单独的厂商支持,尽管有时可以得到编译形式,在通常情况下执行都是解释型的。由于厂商的数据库是唯一支持的,很难利用异种数据源。由于存储过程很少采用多处理器的服务器,事务处理的吞吐量受到限制;同时几乎没有工具能支持存储过程的开发或者在运行时的管理。

医疗保险系统业务系统的应用覆盖面广(连接众多医院、保健所、疗养院),交易量大,引入三层客户机/服务器体系结构,是最为理想的平台。原因如下:

。由于医疗保险系统的政策经常有所调整,三层次结构有利于业务逻辑变更,而无需影响所有连接上来的用户。

。由于客户机逻辑上只与应用服务器打交道,而不是直接读写数据库,使系统更加安全。

。由于中间件屏蔽了用户和操作系统之间的交道,且中间件本身是跨平台的产品,当使用不同厂家的服务器产品和不同厂家的数据库产品时,是非常方便移植的。

。由于客户机无需每次再对数据库进行连接和释放连接的动作,使系统中通讯量减少,而中间件与数据库采用的是恒连接,使系统效率提高。

。当系统中应用越来越多,总体交易量不断上涨时,可以通过扩展应用服务器的方式对系统进行扩展,非常容易和方便。

三层和多层次结构以其层次清晰、扩展能力强等应用软件业多年来不断追求的目标的实现,已成为未来应用软件业发展的趋势。

、可扩展性和可靠性、信息交换保密性高、数据传递及时准确、开发维护便利、适应电子商务网络化要求的系统,必将有助于各地市医保系统的开发实施取得卓有成效的成果。