医疗设备动态管理系统设计模式的研究与应用*
2013-09-11胡立勇林芬萍林亚忠
严 潭 胡立勇 林芬萍 林亚忠
医疗设备动态管理系统是基于Browser/Server架构,运用Java服务器页面(java server pages,JSP)技术开发的基于医院信息系统(hospital information system,HIS)平台的医疗设备动态管理系统。系统各功能模块联系紧密,并且使用流程引擎,实现业务流程自定义。因此,系统采用何种方法开发才能使系统架构清晰,并且兼顾开发效率和运行效率,就显得尤为重要[1-2]。
1 JSP的设计模式
设计模式是面向程序设计人员用来解决编程问题的一种形式化表示。目前,在大多数Browser/Server结构的Web应用中,浏览器直接通过超文本标记语言(hypertext markup language,HTML)或者JSP的形式与用户交互,响应用户的请求[3]。这种单独的JSP模块的开发虽然很直观,但随着业务逻辑及代码的增多会使程序的耦合性加大,JSP页面臃肿不堪,将使系统不易维护。为解决这种弊端,随之出现了下述2种设计模式。
1.1 JSP+JavaBean模式
如图1所示,浏览器直接调用JSP页面,JSP页面能够调用JavaBean组件来进行数据的处理,实现数据表示和数据处理的分离。但这种模式中的JavaBean组件不仅需要提供修改和返回数据的方法,而且需要经常参与数据的处理[4]。
图1 JSP+JavaBean模式
1.2 模型-视图-控制器(model view controller,MVC)模式
MVC模式(JSP+Servelet+JavaBean)体现了MVC的思想,亦称MVC模式。MVC设计模式将输入、输出和处理分为独立的处理模块,并在系统运行时将其结合,这样使得程序开发的耦合度非常低。视图一般由JSP页面组成,负责与用户交互,接收用户输入,并将结果返回给用户。模型一般由JavaBean,EJB组成,用来处理软件要涉及的业务范围,包括业务数据模型和业务逻辑模型,并通常负责与后台数据库交互。控制器是整个MVC模型的核心,起总体协调和控制作用,如调用某个模型组件、完成某些业务功能并最终向用户返回某个视图(如图2所示)[5]。
图2 MVC模式
运用JSP+JavaBean模式,会导致JSP页内被嵌入大量的脚本片段或Java代码,商业逻辑掺杂在流程中,并与界面混在一起,不利于网页设计人员对JSP页面的维护。JSP+JavaBean模式体系十分适合简单应用的需要,它却不能满足复杂的大型应用程序的实现[6-7]。而使用MVC模式清晰地分离了表达和商业逻辑,让开发人员可以在系统中定义更复杂的逻辑,明确了角色的定义以及开发者与网页设计者的分工,可重用性高,适合大型应用程序开发,后期维护量小,项目越复杂则使用MVC模式的优势就越大[8-9]。
2 MVC模式在系统中的应用
MVC模式在系统中可应用于医疗设备运行、维护管理系统,通过其全程和动态收集设备使用、管理及维护各环节的第一手数据,进一步规范设备的日常保养和维护流程;实现设备动态信息的即时输送、保养信息的预警提示、重要设备器材的使用管理、重要配件和工具出入库登记和全程动态管控、大型医疗设备运行状态的动态监控以及提供丰富查询统计等功能,并可为工程师的绩效考核提供量化数据[10-11]。
根据MVC设计模式的思想,医疗设备运维管理系统将分为3个层次:①Model(模型)层,封装了系统的业务数据和业务逻辑;②View(视图)层,既可向用户显示相关数据,又可用来接收用户的输入数据;③Controller(控制)层,创建并调用模型的相关数据业务处理方法,选择相应的视图返回于客户端[8]。以典型的查询功能为例,介绍在医疗设备运维管理系统中如何使用MVC模式进行设计开发。
2.1 Model层
典型的Model层是封装对数据库的操作,对数据库的链接及相关操作封装为类文件,不仅实现对数据库操作的统一,也使系统运行效率大幅提升[9]。熟悉系统业务的开发人员只需要知道View层需要何种数据,专注于数据的处理,而不需关心如何显示。部分代码如下:
图3 系统与用户交互界面图
2.2 View层
View层由许多JSP页面组成,主要是系统与用户交互的界面,网页设计师负责将要显示的页面进行设计和美化[10],不用关心数据处理部分的内容,如图3所示。
部分代码如下:
2.3 Contorller层
Contorller的server.class实际上就是Servlet,用于处理用户的请求,调用相应的方法。部分代码如下:
3 结语
MVC设计模式是开发Web应用的一种非常优秀的设计模式,使用MVC模式设计的医疗设备运行维护管理系统实现了表示层和逻辑层的分离[12-13]。实践证明,使用MVC模式极大提高了系统开发的速度和效率,并使系统具有很好的扩展性,易于维护[14-15]。
[1]罗俊.医疗设备信息管理中的MVC模式架构[J].医疗卫生装备,2010,31(03):102-103.
[2]严潭,林亚忠,田君鹏,等.基于HIS平台下医疗设备动态管理系统设计[J].临床医学工程,2011,18(3):442-445.
[3]耿秀红,闫宏印.Web内容管理系统的设计与实现[J].电脑开发与运用,2011,24(1):32-34.
[4]郝晓玲.基于MVC模式的飞行数据显示系统的设计与实现[J].现代计算机:下半月版,2011(9):110-112.
[5]耿祥义,张跃平.JSP实用教程[M].北京:清华大学出版社,2007:206.
[6]王敏.基于MVC模式的校友录系统设计与实现[J].计算机与数字工程,2011,39(2):104-107.
[7]姜华,赵长青.基于MVC模式的医疗器械监管系统的设计与实现[J].计算机与现代化,2007(10):122-127.
[8]戴一平.MVC设计模式在PHP开发中的应用[J].计算机与现代化,2011(3):33-37.
[9]覃开贤,卢澔.基于MVC模式的在线作业系统的设计[J].计算机与现代化,2011(2):160-163.
[10]温济川.MVC设计模式及其在JSP系统中的应用[J].实验科学与技术,2008,6(4):43-44.
[11]邹官辉,龙军.基于设计模式的通用数据库访问研究及应用[J].电脑知识与技术,2011,7(7):1503-1506.
[12]刘亚鹏,张征,愈婷.基于MVC多层架构的Web应用框架设计[J].微计算机信息,2011,27(7):169-171.
[13]闫帅领.一种面向MVC框架的软件设计研究[J].福建电脑,2011,27(6):25,31.
[14]李三清,林春燕,张宏,等.基于MVC模式的医疗设备信息管理系统的设计与开发[J].电脑开发与应用,2009,22(3):29-31.
[15]班珂,黄丹.两种Java Web通用开发框架的比较研究[J].电脑知识与技术,2010,6(19):5249-5251.