陈 帅
(1.江南大学 物联网工程学院,江苏无锡214122;2.淮阴工学院科技处,江苏淮安223003)
从事科研工作是高等学校承担的一项重要任务,科研水平的高低已成为衡量高校实力的重要指标。随着高校从事科研活动的日益增多,科研能力不断增强,高校科研管理工作量随之增多和日趋复杂,对科研管理工作的要求也越来越高。传统的以纸质文档或通过Excel、Word等办公软件来进行科研管理的方式已远不能满足要求。通过计算机网络、数据库技术等信息化手段,构建科研管理平台,全面、实时、准确地提供学校的科研信息,服务于科研工作人员,辅助领导进行科研管理决策,提升高校的科研管理工作水平势在必行。
本文以淮阴工学院科研管理系统的开发为例,阐述了应用SSH(Struts、Spring和Hibernate)框架建立高校科研管理系统的设计与实现方法。
MVC(Model-View-Controller)设计模式是目前最常见的Web应用所基于的体系结构,它将应用的输入、处理和输出分离为三个层:模型层、视图层和控制层。模型封装了问题的核心数据、逻辑和功能的计算关系,进行业务流程和状态的处理以及业务规则的制定。视图把表示模型的数据、逻辑关系和状态的信息以特定形式展示给用户,即 Web应用中的 HTML界面或者 XHTML、XML以及Applet。控制器用于控制业务流程,本身并不做任何的数据处理,它接收视图发送的用户请求和数据,然后选择对应的模型进行处理,最后调用相应的视图来显示模型所返回的数据,是视图和模型的纽带。模型、视图与控制器的分离可以有效地提高分布式应用系统中组件的重用能力和事务控制的灵活性,提高了应用系统的可维护性、可扩展性、可移植性以及组件的可复用性。
SSH框架是目前应用最广泛的J2EE轻量级架构,是Struts、Spring和Hibernate三种技术的有机融合。
Struts是一个基于J2EE平台的MVC模式的具体实现,它很好地结合了JSP、Java Servlet、Java Bean和Taglib等技术,将模型、视图、控制器三大核心组件分别应用到Web应用的不同组件当中。
Spring是一个在J2EE开发中能够替代EJB技术的强大的轻量级框架。与EJB相比,Spring可使开发人员将技术层次之间的风险降至最低。其核心是IoC(Inversion of Control)/DI(Dependence Injection)机制。
Hibernate是目前最为流行的对象关系映射框架,它在关系型数据库和Java对象之间做了一个自动映射,使得程序员可以用非常简便的方式实现对数据库的操作。
本系统运用MVC模式,基于SSH框架,分为客户层、表示层、业务层、持久层和数据层五个层次,如图1所示。客户层运行在用户机器的浏览器中,处理与用户的交互。表示层用Struts框架负责MVC的分离。业务层用Spring提供支持。利用Hibernate架构对持久层提供支持。采用Hibernate架构实现的 DAO类来实现Java类与数据库之间的转换和访问。数据层存放系统的应用数据,选择常用的Mysql作为数据库服务器端软件。
图1 系统结构图
根据高校科研管理的特点,结合本校的具体情况,将系统划分为六大模块,即:项目管理模块、成果管理模块、经费管理模块、统计查询模块、系统设置模块和用户管理模块。整个系统功能模块如图2所示。
(1)项目管理模块。提供项目录入、项目统计报表和项目查询的功能。其中项目浏览可分为按个人、项目类别和项目来源进行查询。项目统计报表功能提供多种形式的统计查询,查询的数据可以导出到Excel表中,也可生成报表直接打印或导出为Word、PDF等格式用于排版和编辑。
(2)成果管理模块。实现了成果登记、成果浏览、成果入库和成果统计报表的功能。其中成果入库功能主要是实现对各二级单位所登记成果的审核入库工作。
(3)经费管理模块。包括经费设置、经费浏览和经费统计报表功能。用户可以登记项目经费的拨入和拨出,对项目经费进行查询和统计以及导出打印。
(4)统计查询模块。实现对科研信息综合统计和各种查询的功能,在此模块中不能进行添加、修改和删除等操作。
(5)系统设置模块。进行系统初始化和维护,如设置院系、人员、权限等。
(6)用户管理模块。对系统用户进行添加、修改、删除等操作。
本系统采用的是典型的B/S(浏览器/服务器)结构。客户端浏览器支持常见的IE浏览器。用 Tomcat5.0作为 Web服务器。选用 MySQL Server 5.0作为后台数据库。使用MyEclipse作为集成开发环境,使系统整合更加高效,程序编写更加方便。
MyEclipse有两种方法整合SSH。一种是打开MyEclipse,通过视图窗口分别设置添加对Struts、Spring、Hibernate的支持,这种方法较繁琐。另一种方法则是将Struts、Spring、Hibernate及数据库所需jar包直接放到默认的WebRoot/WEB-INF/lib目录下,接着在src目录下分别添加Struts配置文件 struts.xml、Spring 配置文件 application Con -text.xml,并修改WebRoot/WEB -INF目录下web.xml文件,即可完成 spring、struts、hibernate 的整合,这种方法比较方便、高效。
系统安全性涉及用户登录信息,项目、成果信息等数据安全问题。为了避免别人篡改数据这种情况的发生,系统在接收到修改或者删除数据的信息时就要判断发出相应请求的用户是否有修改权限,由于用户的权限都是存放在数据库中,而且修改数据的页面往往是连续的,如果每次修改请求都要查找数据库,那么系统的效率就会很低。为了提高效率,本系统拟采用JSP的Session对象。当一个用户首次访问服务器上的一个页面时,JSP引擎产生了一个Session对象,这个Session对象调用相应的方法可以存储客户访问各个页面期间提交的各种信息,比如姓名、密码等信息。这个Session对象被分配了一个String类型的DI号,根据这个ID号JPs引擎和用户建立了一一对应的关系,从而系统在判断某个用户是否具有某些权限时,只要访问一次数据库,把一些有用的信息存储在Session中,以后直接访问Sesssion中存放的信息就可以了,这样可以避免反复地读取后台数据库,提高了系统的运行效率。
本文结合高校科研管理情况,采用基于J2EE的MVC模式,利用Struts、Spring和Hibernate的整合架构设计和实现了一个基于Web的高校科研管理信息系统。本系统具有良好的扩展性和实用性,易于后期维护和管理。系统的实施大大提高了办公自动化、计算机辅助决策、信息数据标准化、现代化信息发布平台等方面的工作效率,也带动了科研管理部门内部管理方法的优化和流程的规范化,提高了科研管理工作的效率和工作水平。
[1]朱晓丹.科研管理信息系统的构建[J].哈尔滨工业大学学报:社会科学版,2009,11(4):110 -114.
[2]郭卜铭,吕渭济.基于J2EE的高校科研管理信息系统的构建[J].科技和产业,2007,7(7):53-55.
[3]杨海斌.基于SSH框架的高校网站群内容管理系统设计[J].软件导刊,2009,8(9):118-119.
[4]王喜媛,张平平,叶明,等.用C/S和B/S模型构建高校科研管理信息系统的网络平台[J].科研管理,2005,25(2):42 -44.
[5]赵颖娣,计时鸣.基于Web的科研管理系统原型设计[J].科技情报开发与经济,2005,25(14):224-225.