吴建平

[摘           要]  随着高职院校“双高计划”的实施,科研工作成为提高办学质量、培养高水平职业技术人才的重要内容。科研活动的复杂性对科研管理工作提出了巨大挑战。为提升科研项目管理效率,使用户获得友好界面和丰富的信息管理功能,基于ExtJS和SSH2框架,设计并实现了高职院校信息管理系统。系统充分利用ExtJS丰富的组件技术以及SSH2的MVC框架和企业级管理能力,采用数据驱动、分级管理、组件化部署、模块化组装,有效提升了科研信息管理的自动化,并为后续系统的迁移和扩展提供了优秀的架构基础。

[关    键   词]  ExtJS+SSH2框架;高职院校;信息管理系统

[中图分类号]  G712                   [文献标志码]  A                   [文章编号]  2096-0603(2021)43-0092-02

2019年,教育部和财政部发布《关于实施中国特色高水平高职学校和专业建设计划的意见》,提出集中力量建设一批中国特色高水平的高职学校和专业群的“双高计划”的意见。“双高计划”为高职院校的发展注入了新的活力,也提出了新的要求。其中,科研水平提升是提高办学质量、培养高水平职业技术人才的重要内容。高职院校科研工作参与科研的机构及人员众多,涉及学科领域广泛、科研项目类型复杂,使科研立项、科研成果、科研经费、科研流程监督等科研管理工作变化快、复杂化程度高、工作量大、管理效率有待进一步提升。为适应“双高计划”的新要求,为高职院校开发一套界面友好、可定制化程度强、信息管理自动化程度高、数据安全性好,同时兼具可移植性的科研管理系统,将为高职院校科研管理工作带来明显的效率提升。考虑到高职院校的科研工作现状以及开发周期、后续扩展和移植等需求,本文采用ExtJS+SSH2的技术架构,设计并实现了一套适用于高职院校科研信息管理系统。

一、系统总体设计

(一)系统架构设计

本系统的总体架构以ExtJS框架作为用户接口和信息展示,以SSH2(Struts2.0+Spring3.2+Hibernate2.5)为后台,分为展示层、控制层、业务层和数据持久层。

展示层采用ExtJS,用JSON数据格式向后台提交用户请求,同时展示后台返回的执行结果。Struts在控制层根据接收到的请求调用业务层的业务逻辑组件,并将响应执行结果返回到展示层。业务层由Spring框架实现,负责管理具体的业务对象和业务操作。Hibernate在数据持久层为实现屏蔽不同数据库之间的差异,把数据库的所有操作封装在DAO中,把关系数据库中的表映射为对象,以提供统一的访问接口。前台与后台之间采用Spring Security框架实现基于角色的访问控制。

本系统充分发挥了ExtJS在交互和展示方面的丰富性和可定制性以及SSH2架构的可扩展性、可维护性、解耦性等优势,为适应不断变化的高职院校科研信息管理工作打下了良好的基础。

(二)系统功能设计

系统功能包括科研信息管理、业务管理、报表管理、系统管理四大功能。

1.信息管理。主要实现科研部门的项目、管理等信息发布,项目申报流程进度提醒、科研群组内部或科研人员与管理员之间的信息通信等。

2.业务管理。系统科研信息管理的核心模块包括:(1)科研项目管理。实现项目立项、项目中期、结项等过程管理以及相关的文档管理。(2)成果管理。实现科研人员的成果录入和管理部门的成果确认与统计以及从二级学院、科研团队、科研项目等多个角度进行成果管理。(3)经费管理。实现与财务系统互通,按照项目预算管理项目经费。(4)科研活动管理,包括学术交流活动、项目相关设备与资源、常用科研文档模板下载等。

3.报表管理。根据普通科研人员和管理员的不同角色,提供不同的报表管理方案。按照指定的统计项目查询数据库中的数据,对数据进行统计,如项目数量、项目金额、项目进度、项目成果等,同时根据所选统计项目生成和导出相应的报表。此外,还应提供按照预设计划的自动报表功能,定期生成汇总报表。

4.系统管理。这里主要是分配给管理员的功能,包括用户的新增、修改和删除,角色及用户权限的配置,用户密码重置等功能。

二、系统关键技术

在技术架构上,本文使用Apache2.4作为Web服务器,使用MySQL8.0作为持久化存储数据库。基于B/S体系使用MVC架构设计,使用JSON数据交互标准。前台使用ExtJS6.6框架、TabPanel布局,以实现跨平台的无缝开发。

(一)ExtJS框架技术

ExtJS是一个用JavaScript编写的,与后台开发技术无关的前端Ajax框架,支持所有现代浏览器,前后台之间通过JSON/XML实现数据传递。从ExtJS6开始,可以通过统一的代码,开发跨平台(桌面和移动应用)程序。ExtJS为构建Web应用程序提供了丰富的UI,也可用来开发RIA(RichInternet Application,富客户端)应用程序。ExtJS拥有丰富的表单控件,整合CSS、XML等多项技术,从实现的界面效果到数据解析及异常处理都非常出色。ExtJS不需要在客户端安装任何插件,使用ExtJS构建的RIA应用可与桌面程序媲美。

(二)JSON数据格式

在前后台的数据交换上,考虑到系统承载能力,本文采用了JSON数据格式。JSON(Java Script Object Notation)是一种轻量级的数据交换格式,可以将Java Script对象中表示的一组数据转换为字符串,然后将其在函数之间传递,或者在Ajax等异步应用程序中将字符串从Web客户机传递给服务器端程序。JSON可以表示比“键-值”更复杂的结构,如数组和复杂的对象。因此,当需要传递的数据很复杂时,JSON也能够比较好地进行处理。

(三)SpringSecurity框架技术

在安全性方面,由于后台使用了Spring框架,因此,本文使用Spring Security框架实现用户身份验证和授权。Spring Security是一个功能强大且高度可定制的身份验证和访问控制框架,它是用于保护基于Spring的应用程序的实际标准。

(四)SSH2框架技术

SSH是Struts+Spring+Hibernate的一个集成框架,能够降低J2EE开发的复杂度。SSH的技术优势体现在四个方面:(1)分离了Java代码和HTML代码,降低了对开发人员要求的复合度。(2)系统的层与层之间的工作相对独立,代码耦合度低。(3)即使脱离了Spring环境的AOP机制,也不会妨碍AOP实现业务的功能。(4)Hibernate开源性极强。

三、核心功能模块实现

(一)ExtJS展示层的数据通信请求

前后端数据通信上,本文采用ExtJS的Ext.Ajax.request方法,向服务器端发送http请求,传递参数,调用MVC的action方法,返回JSON对象。

使用ExtJS的Ext.define组件将上述方法封装在exRequest类中。利用组合技术,将exRequest组合到业务类(如科研项目管理)中,同时注册对事件“completed”的响应,以达到利用ExtJS的事件处理机制,实现页面展示与Ajax请求分离。

(二)SSH实现

1.Struts控制层。在Struts控制器中,通过Struts.xml文件配置前后台交互Action。Action的result以JSON类型定义在Struts.xml中。Action的操作方法根据请求调用业务逻辑处理类得到执行结果对象后,转换为JSON格式,接着调用json Object.toString()方法向HttpServletResponse里写JSON格式内容,并附带成功success或失败failure标识,Ext的request函数根据Struts返回的标识进行相应操作。

2.Spring业务层。Spring通过对DAO组件的调用和封装,实现业务层的操作,分为两步:(1)编写Service业务逻辑接口,定义系统所要完成的业务逻辑方法。(2)将先前定义的业务逻辑接口的实现,主要实现增、删、查、改四种操作。

3.Hibernate持久层。持久层的Hibernate将Java实体类映射到数据库表,实现与数据库之间的通信。本文在实现持久层时先创建Hibernate映射文件和持久化类,再在application Context.xml文件中配置基础组件,包括:(1)配置数据源DataSource,指向DBCP数据源类。(2)配置Session Factory,将Hibernate的数据库连接对象提供给DAO层,同时注入已配置的DataSource对象。(3)将事务配置给组件增加到Session Factory对象,并将其注入。(4)配置DAO组件和事务。(5)编写DAO类和业务层实现。

综上所述,科研信息管理系统能够极大提升科研管理工作的效率,为各层面的科研管理工作提供完善的数据依据。本文从科研信息管理的业务需求出发,兼顾数据展示、数据持久化等要求,结合现有的成熟、稳定的技术框架,以模块化的方式实现核心业务,并且保证了一定的技术冗余度,由于采用了ExtJS+SSH2框架,使系统具有较短的开发周期和较强的可维护性和扩展性。经过实际测试,系统功能和性能能够达到预期目标,满足科研信息管理工作的需求,具有较大的实际应用价值。

参考文献:

[1]谢素萍,刘沐,尹世学,等.基于ExtJS的高校预算管理系统的研究与实现[J].实验技术与管理,2011,28(4):288-291.

[2]乔淑夷.基于MVC模式的Web前端框架关键技术研究与实现[D].北京:中国海洋大学,2014.

[3]郑俊海.基于ExtJS与SSH2架构的固定资产信息管理系统的设计与实现[J].电脑与电信,2018(7):55-57.

[4]邱丽丽,陆源.基于ExtJS和SSH2架构的网上报销系统设计与实现[J].计算机应用与软件,2016(9):76-79.

编辑 司 楠