文章 论坛
Google
Web 10hospital.com
市场动态
国内案例
国外案例
医德医风
院长访谈
医疗黑幕
医院战略
医院营销
医院品牌
医院文化
医疗质量
专科建设
基础建设
后勤物资
绩效考核
组织人事
信 息 化
药事管理
护理管理
医技管理
应急管理
设备管理
财务管理
成本核算
依法执业
服务管理
社区服务
医患关系
科教管理
临床实验
医疗考察
进修培训
软件定制
论  坛
管理咨询
本站月刊
管理课件
管理软件
管理书籍
管理论文
管理视频
管理课程
市级医院
区级医院
街道医院
防治站所
民办医院
相关公司
上海医院Top10+10>>

您现在的位置: 上海医院管理网 >> 管理资讯中心 >> 医院信息化建设 >> 文章正文
三层(多层)结构医院信息系统的初步探讨         ★★★ 【字体:
三层(多层)结构医院信息系统的初步探讨
作者:未知    文章来源:网络收集    点击数:    更新时间:2006-7-15
加至收藏夹新浪VIVI
[摘要] 本文从三层结构医院信息系统的技术特征,探讨代码共享和软件标准化在研制三层结构的医院信息系统的重要作用;三层结构的优越性和所遇到的新问题,及如何使用工具开发三层结构的医院信息系统。
    [关键词]医院信息系统 三层结构 标准化
在两层C/S结构下,客户端发送SQL或HTTP等命令,并通过网络传送给中央服务器,由DBMS等资源管理器接收这些请求,取得相应的数据或进行相应的处理后,再将查询结果或处理结果返回客户端。然而,这种结构存在一些缺陷,例如,如果连接的客户端数目激增,服务器的性能将会因为无法进行负载均衡而大大下降;每一次应用需求的变化,都需要对客户端和服务器端的应用程序进行修改,给应用的维护和升级造成极大的不便;此外,大量数据在网络上传输,将使系统的运行费用增高。
  如何才能更好地解决这些问题?面对医院信息系统大规模的任务应用,如要进行有效的分布式处理,就必须从客户/数据库的两层方案转变到客户层 / 应用服务器层/ 数据库的三层结构。
1、三层结构

  1996年10月1日,Oracle公司向业界发表了网络计算体系结构(NCA)。它是客户层/应用服务器层/数据库层的三层结构模式。虽然,该模式最初侧重于Internet/Intranet应用,但三层结构的思想已广泛应用于软件开发的各个方面。
  在三层结构中,客户端与数据库或其他资源管理器之间加进了一个中间层,即应用服务(Application Service)层。相对于以数据库为中心的两层客户层/数据库层服务器模型,三层结构模型(客户层/应用服务器层/数据库层)将应用的业务逻辑和用户界面分离,从而使应用开发人员能专注于应用核心业务逻辑的分析、规划和设计,快速建立应用系统的核心业务功能原型。此外,界面表示和业务逻辑的明确划分,也使用户能更有效地管理应用系统。对具有成百上千个客户的两层结构系统来说,经常性的更新、升级系统是一项十分棘手的工作,尤其是当系统已经投入实际运行后更是如此。三层模型将用户交互的表示部分与内部的业务逻辑分开,这样,对业务逻辑的一些修改甚至数据库模式的改动通常都不会要求客户端的改动。而且,将核心业务逻辑组件和表示逻辑及数据层划分开,可以在服务级别上非常有效地管理应用的运行。这种模式可以动态地管理消息流程和服务请求、快速启动和停止服务器、根据变化的负荷复制服务器、动态地广播、撤消服务器中的服务以及将服务从一个服务器转移到另一个服务器等等。这些对中间层应用服务级别上的管理大大增加了分布式应用的伸缩性和灵活性。
  在NCA中,客户机运行浏览器软件,浏览器使用HTTP协议向应用服务器层发送请求,应用服务器收到客户的请求后,一方面,从数据库服务器中提取数据,另一方面,响应客户请求。
  浏览器端所有计算已移到应用服务器中,换句话说,我们已将原来的"胖客户(端)"进行了减肥,并将企业逻辑(Business logic)集中放在应用服务器上,故此应用服务器层也称为中间业务逻辑层。这就是三层结构的核心思想。
  如今,对于非Internet/Intranet应用,三层结构的思想也被广泛采用。虽然,这样的客户端比浏览器"胖"些,但将企业逻辑独立出来后,同样受益于三层结构给我们带来的好处。
  通常,我们称客户/服务器模式为两层(2-tier)结构,而将客户/应用/数据库模式称为三层(3-tier)结构,后者也常称为多层结构或N层结构。它是计算机系统发展的产物,这种结构有利于软件开发和维护。支持三层结构的软件必须做到代码共享和软件标准化。
  (1)代码共享
   应用系统除可用性(availability)以外,可维护性是成功的关键,代码共享是作为可维护性中的一项关键技术。具体来说:一段代码不会在多处维护,从而方便管理;一个系统在不同编程语言之间能共享代码。
  从技术上看,代码共享分源代码共享和二进制代码共享两种。 源代码共享以OO(面向对象)技术为代表,主要体现在OO技术的可继承性上,二进制代码共享以DLL(动态连接库)技术为代表,它使得两个模块在不需要源程序的情况下,共享二进制代码。
二  进制代码共享比源代码共享更易于管理,并消除了编程语言之间的差异。二进制代码共享依赖于成功的先决条件是标准化工作。
  (2)软件标准化 Microsoft、Oracle等公司为我们制定了软件标准。Microsft公司制定COM(元件对象模型)技术软件标准,为实现二进制代码共享奠定了基础。在COM基础上,OLE、ActiveX等技术迅猛发展,几乎成为任何软件产品的组成部分。任何一个应用系统如果没有利用COM技术,那就意味落伍了。
  但在Oracle和一些UNIX系统公司的共同推动下,与其他一些联盟(OMO),共同形成与COM技术相竞争的标准CORBA(公共对象请求代理结构)。CORBA与COM所要解决的问题是一样的,是并存的两个标准。不过我们通过第三方软件商提供了COM或ORBA之间的网关(gateway),可以顺利地将一个标准转化成另一个标准。
  
2、三层(多层)应用程序的优越性和新问题

  两层应用程序就是早期的C/S结构应用程序模型,它主要由Client端和数据库Server端组成。它的伸缩性不够好,开发人员写出的程序在客户端运行,占用了大量的系统资源和网络资源。随着应用程序业务逻辑及复杂性的不断增大,其开发工作的难度也越来越高。
  目前,多层应用程序已成为主流。它能够满足应用程序的两种需求,即可伸缩性(或可扩展性)和Internet/Intranet应用。三层(多层)结构的应用程序把业务逻辑独立出来,组成一层或多层,这样就形成了客户端的客户层、中间业务逻辑层(可细化为多层)和后端数据库服务器层。这样做的好处是:
  (1) 简化客户端人机界面程序开发工作,它不必关心业务逻辑是如何访问数据库的,只需 把精力集中在人机界面上即可。
   (2) 中间业务逻辑层包含了大量的供客户端程序调用的业务逻辑规则,以帮助其完成业务 操作。它的优点就在于它所具有的可伸缩性,适应医疗卫生改革,医院管理模式、规 章制度正处于不断变革的需要,可使医院信息系统随具体业务的变化而改变,但在客 户层和数据服务层所做的改动较小,适合于快速开发。
   (3) 数据服务层主要提供对数据库进行各种操作的方法。它主要由中间业务逻辑层来调用 并完成业务逻辑,当数据库的结构确定后,对于它的改动也就比较小了。
  (4)系统的安全性得以提高。它可以对每个业务功能组件进行授权,限制了非法访问。
  (5)便于进行事务管理(可使用Microsoft Transaction Server MTS或其他类似的产品来 实现)。
二层应用的结构如图1所示。 三层应用结构如图2所示。
   从图2可以看出,三层结构应用软件的特点是用户界面与应用逻辑位于不同的平台上,并且应用逻辑被所有用户共享。但三层结构的层次划分并不是物理上的划分,而是结构逻辑上的划分。比如,客户端程序要调用的某专科门诊计价收费业务功能组件,要求响应速度很快,并且体积较小,那么就可以把这个业务组件配置在客户端,以DLL的形式存在;又如,客户要访问的医院统计分析辅助决策业务组件包含大量对数据库的操作(类似于数据库服务器中的存储过程所做的工作),那么可以把它配置在数据库服务器上,以减少网络负载,提高运算速度;如果某些业务组件(如:内科楼五个区的病区管理子系统)中包装的业务逻辑,大多数客户机程序都需要访问它,那么就可以单独构建一台独立的内科楼服务器,将这些组件放在其中,供内科各区客户机程序访问,而不必在每台客户机上安装。
  三层结构的优点是显而易见的,然而要实现它就需要使用当前流行的组件技术。基于Windows平台的程序开发,就会用到Microsoft的DCOM结构模型和ActiveX组件技术。如果客户要做跨平台的开发,如包括Unix和Windows两种平台的程序开发,就需要使用CORBA结构模型。
  但是,任何事务都有两面性,对于三层应用程序也是一样。在开发三层应用程序时会遇到一些不可避免的困难,它们是:
   (1) 延长了开发周期。据我们的经验,花在底部组件上的开发时间要占整个项目开发时 间的三分之一以上,开发三层应用程序所做的工作要比开发二层应用程序多一些。
   (2) 增加了开发任务的复杂性。要求开发人员对操作系统和网络有更深层次的了解,除要开发应用程序的核心业务之外,还应考虑应用程序的性能、安全性、伸缩性、可 靠性和可恢复能力。
   (3) 提高了对开发人员的素质要求。三层应用程序的开发需要开发人员提高其技术水平, 其中包括操作系统、网络、更先进的开发技术、更先进的开发工具,以及许多非计 算机技术(如:医院管理业务)。以上这些都需要长时间的学习和经验积累。
   (4) 增加了对应用程序的维护工作量。由于应用系统配置、网络结构和业务规则的不断 变化,需要开发小组的全体成员来共同维护,如修改业务组件、数据库组件等,以 适应以上这些变化。
   (5) 增加了实现共享的难度。开发一个成功的多层应用程序,关键在于程序系统结构的 设计(即根据业务规则合理划分组件),同时还要充分考虑在系统内不同项目中共享 代码。 多层应用程序有上述缺点,但它代表了应用的需要,是技术进步的结果,是符合信息时代潮流。
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    医疗信息化重在临床信息系统
    上海医院信息化投入升温
    沈阳发展数字医疗产业
    深圳启动数字化医院
    HIS 系统体系结构
    医院信息系统的数据存储—NAS和SAN的融合
    无线移动技术促进医院信息化变革
    医院网络安全大意不得
    一体化医院信息系统(IHIS)
    HIS系统概念、框架与建立
    医院信息系统的组成、功能和评价
    医院信息系统的发展趋势
    2003年中国HIS行业发展分析
    关于下发湖南省医院信息系统软件年度测评结果的函
    卫生部关于印发《医院信息系统基本功能规范》的通知
    医院管理信息化需迈哪些坎儿?
    我国医疗卫生系统信息化建设的特点和发展趋势
    医院信息系统的发展趋势:电子病例
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    服饰服装 童装网
    外贸服装批发
    女装网
    服装批发
    广州外贸童装
    衣服服饰网
    医药健康 医药谍报
    妇科医药健康
    医院管理
    近视眼俱乐部
    临床实验
    医药健康论坛
    商业商务
    管理咨询 写字楼
    企业办公网 办公楼
    IT外包 UMPC
    中国实验室
    特价打折机票
    全房网 Real Estate
    娱乐休闲
    梦想飞翔
    音乐半岛
    上海指南
    21世纪公寓
    HuShifang
    我老婆woLopo