贾向炜+高瞻
摘要:科研管理是高校信息化建设的一个重要组成部分,科研管理系统根据系统角色的不同可分为人文社科端、理科端、教师个人端等几部分。教师个人端在整个科研系统中使得科研管理、考核、查询等过程成为可能。该系统采用B/S模式,运用java语言的MVC多层开发框架技术设计并实现,为广大教职工提供项目来款信息、财务明细、资金流量表、科研到款、暂付款信息等在线查询和打印功能,进一步提高了教师科研管理的水平。
关键词:教师科研管理;MVC
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)31-0063-03
Design and Implementation of Teacher Research Management System Based on MVC Framework Technology
JIA Xiang-wei, GAO Zhan
(Data and Information Center of Xi'an JiaoTong University,Xian 710049, China)
Abstract:The Scientific research management is an important part of the information construction in Colleges and Universities. The scientific research management system can be divided into several parts, such as the humanities and Social Sciences end, the science teachers end and the teachers' personal ends,according to the different roles of the system. Teachers make personal side research management , assessment and inquiry process becomes possible in the whole research system. The system uses B/S model and application of the Java language of the MVC multilayer development framework technology design and implementation, for the majority of workers to provide information, financial details, capital flows, scientific research to the payment information, such as online query and print function, and further improve the level of teacher research management.
Key words: teacher research management; MVC
1概述
高校的综合实力是靠教学和科研两方面的硬性指标来衡量的,而科研方面的指标的度量则需要通过一套完整的管理机制来满足要求,本系统正是为了满足教师科研管理的需要而实现的典型J2EE应用。该系统运行MVC的典型多层开发框架,为科研管理提供了重要保障。而且以后随着业务的扩展,可以面向教师的一些其他综合业务提供相应数据服务。
2 关键技术介绍
2.1 MVC框架技术介绍
MVC(Model-View-Control)开发结构用来分析程序的结构特征,把web程序分成了若干逻辑部件,这些逻辑部件分属不同的逻辑层次,使得程序设计及编码、维护工作变得更加容易、简单。
MVC(Model模型层-View视图层-Controller控制层)把应用的输入、处理、输出流程进行逻辑上的分层,分成三层或四层的多层开发结构层,各层相互关联,共同完成web应用的增、删、改、查、统计、打印等功能。MVC组件关系及功能图如图1所示:
图1 MVC组件关系和功能
M,即Model模型层,该层的模型对象用于数据库存取数据。
V,即View视图层,数据展示层(系统界面层),实现系统与操作用户的沟通桥梁的作用。
C,即Control控制层,根据业务处理的需要完成各种控制功能和业务逻辑,并实现相应的增、删、改、查等功能。
随着MVC技术的发展,java语言的多层开发框架有ssh,ssh2,ssi等框架,根据不用技术的优劣,各开发框架均有一定的市场份额。其中,以ssh为主的MVC多层开发框架占据了市场很大的份额。在系统分层开发后,开发时间大大缩减,各层人员更为关注本层的实现,而不需要太高的入门门槛,而且也提高了系统的可维护性。
2.2 Json技术介绍
Json作为轻量级的数据传输格式,可以在多种开发语言之间进行数据交换,因此,为了系统的数据复用效率,数据传输采用json格式。Json且易于阅读、编码,相比xml,解绝了解析时的性能、兼容性等问题。
此次开发中运用的是FastJson技术,它是Json的处理工具包,包括“序列化”、“非序列化”两部分,而且经测试和许多应用证明,FastJson有极高的性能,超越任何其他转化工具,而且支持javabean、集合、map、日期、eum,支持android等特点。因此,项目上线后的性能非常高。
3 系统的设计与实现
3.1 系统设计
经过系统需求分析之后,该系统的主要模块有:学校财务来款查询,项目管理、项目统计查询、到款统计查询、问题咨询、通知公告及办事指南查询模块。
系统采用基于MVC模式的J2EE体系结构,是B/S方式的典型J2EE应用。采用多层Web开发技术在本系统开发中分为表示层、业务逻辑层、数据持久层、以及数据库层,每层在应用程序中都发挥着自己的作用。本次采用的是JSF+Hibernate。图2为该系统分层架构图。
表现层,也称页面层,在整个系统中,完成界面的展示功能,负责直接和用户进行交流。系统的可交互性完全由该层决定。
业务逻辑层,对个模块的业务进行业务封装,完成业务的具体操作,如查询操作、新增操作等,具体表现为service接口类,serviceImpl接口实现类。
数据持久层,封装了访问数据库的方法,通过该层业务数据直接操作数据库,具体则表现有dao接口类,daoImpl接口实现。本系统采用的是Hibernate技术。Hibernate是一个面向Java环境的对象/关系数据库映射工具,用来关联java 对象和数据库中各数据表 。在持久层中,通过Hibernate提供的HQL操作实体对象,从而达到操作数据库的目的。为了提供数据的复用性,对于所有的查询接口都要求用json格式进行数据交换。
图2 系统架构图
3.2 JSF技术的应用
JSF完成数据展现功能的实现,通过faces-config.xml 来显示bean与页面之间的对应。在jsf页面通过GgMngBean.pageList 方式来实现值的传递。
下面是jsf的核心配置文件的示例:
……
<!-- 页面跳转部分 -->
<!-- *********************公告管理
************************ -->
<!—管理功能页面 jsf 参数 -->
<!—管理功能页面 -->
<!—显示公告信息页面 jsf 参数 -->
<!—显示公告信息页面-->
<!—编辑公告信息页面 jsf 参数 -->
<!—编辑公告信息页面 -->
……
<!-- 公告管理-->
<!-- 公告管理编辑bean-->
<!—java类位置-->
<!-- 公告管理编辑bean 作用范围-->
……
<!-- 公告管理信息查看bean-->
<!—bean对应的java类位置-->
<!-- 公告管理信息查看bean 作用范围-->
……
<!-- 公告管理管理bean-->
<!—bean对应的java类位置-->
<!-- 公告管理管理bean 作用范围-->
……
3.3 Hibernate 技术的应用
Hibernate技术是在数据持久层进行应用的,它的核心任务是通过hibernate.cfg.xml配置文件的配置信息建立java对象与数据库设计出的各表建立映射。在系统实现时,为了提高数据的响应速度,还使用proxool连接池。通过proxool.pool_alias、proxool.xml2个属性进行设置。具体如下:
下面是通知公告模块中映射文件:
……
……
使用Hibernate 的优势有两点:1、通过pojo类的Getter 和Setter 方法屏蔽了数据持久层的技术细节,使数据持久层、业务层的耦合更小一些;2、避免了程序员编写数据持久层的方法,使程序员更专注于业务逻辑的开发、实现。
3.3 Json技术的应用
FastJson快速将bean信息进行数据格式转换,只需要调用API:JSON.toJSONString(),实现javabean、list、map等信息的转换。
本系统采用的json数据格式是最基本的“名称/值对”格式,如:{”title”:” 河南新乡市技术需求”},对于一组数据格式,则是将众多带花括号的记录组合在一起,返回形式具体如下:
{
“ dataList “:[
{“title”:”河南新乡市技术需求”,”publishdate”:”2015-09-01”,”readcount”:”20”},
{“title”:”第37批陕西省技术转让技术开发合同认定审核结果”,”publishdate”:”2015-09-15”,”readcount”:”187”},
{“title”:”关于推荐陕西省公共文化服务体系建设专家库专家的通知”,”publishdate”:”2015-09-22”,”readcount”:”48”}
]
},在本系统中查询失败返回的json信息如下:
:{\”code\”:\”1\”,\”message\”:\”失败\”,\”totalNum\”:\”0\”,\”dataList\”:[]},对于查询成功的数据集合则返回数据格式如下:
{\”code\”:\”0\”,\”message\”:\”成功\”,\”totalNum\”:\”5\”,\”dataList\”:[{\”title\”:\”河南新乡市技术需求\”,\”publishdate\”:\”2015-09-01\”,\”readcount\”:\”20\”},
{\”title\”:\”第37批陕西省技术转让技术开发合同认定审核结果\”,\”publishdate\”:\”2015-09-15\”,\”readcount\”:\”187\”},
{\”title\”:\”关于推荐陕西省公共文化服务体系建设专家库专家的通知\”,\”publishdate\”:\”2015-09-22\”,\”readcount\”:\”48\”}]}
4 结束语
本系统是基于MVC模式实现的教师科研管理系统,很好地满足了了教师科研项目管理、查询各项目花销的需要,提高了教师的科研工作效率、管理效率,同时有利于科研资源的共享管理,方便科研资源的信息查询、统计功能,并且该系统具有一定的可维护性和可扩展性。
参考文献:
[1] 陆荣幸,郁洲,王志强,等.J2EE平台上MVC设计模式的研究与实现[J].计算机应用研究,2003(3):46-50.
[2] 李文亮,刘竹松,陈璟.基于SOA的科研项目管理系统的分析与设计[J].计算机技术与发展,2010(20):234-241.
[3] 邱恕洁.基于B_S三层结构的高校科研管理系统设计与实现[D].成都:电子科技大学,2013.
[4] 王明.基于MVC科研管理系统的研究与实现[J].微计算机应用,2009(1):77-80.
[5] 林志强.基于SSH的高校科研管理系统的设计与实现[D]. 济南:山东大学,2012.