基于Dorado、Spring、Hibernate实现检测数据上报系统

2010-04-11 08:07徐雪梅
制造业自动化 2010年12期
关键词:框架对象数据库

徐雪梅

XU Xue-mei

(南通大学 现代教育技术中心,南通 226019)

基于Dorado、Spring、Hibernate实现检测数据上报系统

Examination data reporting system based on Dorado, Spring and Hibernate

徐雪梅

XU Xue-mei

(南通大学 现代教育技术中心,南通 226019)

本文论述了Dorado、Spring和Hibernate,并实现了农产品检验检测机构的数据上报和汇总系统,通过实践证明利用Dorado、Spring和Hibernate框架开发Java EE项目效率提高显著,系统具有良好的用户体验和可维护性。

Dorado;Spring;Hibernate;数据上报

0 引言

长期以来,企事业单位一直采用传统的手工方式报送报表,这已经不适应新形势下现代化的信息管理要求。一方面,数据统计范围及统计量越来越大,统计格式经常变化,统计的及时性和准确率要求越来越高;另一方面,统计的最终目的——汇总和分析已成为统计工作的最大瓶颈。

随着计算机网络技术的不断发展,使得基于B/S结构的数据上报和统计成为可能,它正在取代传统的统计方式,成为电子政务、企业网络化管理的数据支持平台。

本文采用Dorado、Spring和Hibernate实现农产品检验检测机构的数据上报和汇总系统(以下简称检测数据上报),较好地解决了当前农产品检验检测机构工作中的实际问题,同时通过实践证明了利用Dorado、Spring和Hibernate框架易于Java EE项目开发的分工,开发效率提高显著,完成的系统具有良好的用户体验、可维护性以及可扩展性。

1 技术介绍

1.1 Dorado介绍

Dorado是由上海锐道信息技术有限公司研发的富浏览器展现中间件,是商业软件。Dorado展现中间件是Web应用表现层的运行平台与开发平台,提高了Web应用的系统可用性与开发效率。Dorado带给软件应用系统更为清晰的层次化架构,这使项目管理更为明确易行。Dorado可以与各种Java EE后台业务逻辑框架配合使用,是基于标准技术的开放框架[1]。

Dorado的架构一般为多层架构:dorado + 后台业务逻辑框架 + 应用服务器 + 数据库,其中后台业务逻辑框架可以为数据访问层业务对象层或控制层的框架(如Spring、Hibernate、iBatis等)。

1.2 Spring介绍

Spring Framework 是一个开源Java EE的应用程序框架,以Apache许可证形式发布。该框架提供了一个简易的开发方式,利用这种开发方式可以避免那些可能致使底层代码变得繁杂混乱的大量的属性文件和帮助类。

Spring 中包含的关键特性:1)强大的基于JavaBeans 的采用控制翻转(Inversion of Control,IoC)原则的配置管理,使得应用程序的组建更加快捷简易;2)数据库事务的一般化抽象层,允许声明式(Declarative)事务管理器,简化事务的划分使之与底层无关;3)JDBC 抽象层提供了有针对性的异常等级(不再从SQL异常中提取原始代码),简化了错误处理,大大减少了程序员的编码量。4)以资源容器、DAO 实现和事务策略等形式与 Hibernate、JDO 和 iBATIS集成。利用众多的翻转控制方便特性来全面支持,解决了许多典型的Hibernate集成问题。所有这些全部遵从Spring通用事务处理和通用数据访问对象异常等级规范;5)灵活的基于核心 Spring 功能的 MVC 网页应用程序框架。开发者通过策略接口将拥有对该框架的高度控制,因而该框架将适应于多种呈现(View)技术,例如JSP、Tiles等。Spring 中间层可以轻易地结合于任何基于 MVC 框架的网页层,例如 Struts、Dorado等;6)提供诸如事务管理等服务的面向方面编程框架[2]。

1.3 Hibernate介绍

Hibernate是一种Java语言下的对象关系映射解决方案。

目前,对象数据库尚不成熟,关系数据库的使用仍然最广泛,占据了数据库市场90%以上份额。但关系数据库中存放的数据是非面向对象的,为了解决面向对象的应用程序和面向关系的数据库系统之间的“阻抗不匹配”,需进行对象与关系的映射。映射工具能够在Java对象与数据库表之间建立映射关系,具有自我存储到关系数据库的能力,对对象的改变能够直接存储到数据库而不用数据库存取的代码,形成相对独立的对象持久层。目前存在很多ORM 工具,如TopLink、Hibernate和Castor等。在这些映射工具中,Hibernate是较为有效的一种,Hibernate是一个纯Java的对象关系映射和持久性框架,它允许开发者用XML配置文件把普通Java对象映射到关系数据库表[3]。

2 检测数据上报业务需求

检测数据上报总体要求:能充分利用互联网技术对各农产品质量安全检测站(点)的检测数据进行网络化集中处理,即各农产品质量安全检测点通过互联网方式向系统传输各项检测数据(包括:农药残留、甲醛和亚硝酸盐残留等),系统能根据各检测点上传来的数据自动进行实时动态的汇总、统计、分类、查询等处理,并自动生成各种格式的统计图表。主管部门只需通过用户名和密码登录到平台,按照相应的权限即可浏览到相关数据信息。

系统的业务功能比较简单,主要有上报数据、审核数据、汇总数据以及查看数据(报表)。

系统还有一些非功能需求譬如身份验证等。身份验证我们通过Servlet/JSP容器Tomcat 的Filter机制作出了一个简单通用的框架,只需将框架集成到系统中并进行配置即可。对于基于Filter机制的简单通用验证框架,此处不再赘述。

3 系统实现

3.1 系统层次架构

图1 系统层次架构

用户通过浏览器触发Dorado展现中间件,Dorado通过Spring调用业务类DataProvider和DataResolver,业务类继续通过Spring调用Hibernate支持的DAO类来完成数据的增删改查。

3.2 关键技术实现

3.2.1 数据持久层

基于Hibernate框架的数据持久层,有效地降低了三层架构中层与层之间的耦合度,提高了系统的可扩展性和可维护性[4]。

使用Hibernate的持久层应先配置Hibernate的Configuration文件,一般文件名为hibernate.cfg.xml,其中包括数据库连接的相关信息以及resource的mapping信息。数据持久层主要包括映射文件、实体类、数据访问对象,如系统中资源的映射文件、实体类、数据访问对象分别为Resource.hbm.xml、Resource.java、ResourceDAO.java。这些类运用Eclipse的Hibernate插件可以容易地生产,从而提高开发效率。

3.2.2 业务逻辑层

业务逻辑层包括表示层传递过来的数据与存储数据的计算和验证,根据表示层指令将结果指派给数据持久层进行操作。

其中通过Spring完成与数据持久层和表示层的沟通。

本系统中与数据持久层的沟通信息全部在manager-context.xml中。如

Default Provider Resolver类主要调用Default Manager完成数据提供和数据持久化,业务逻辑类可以采用继承或代理模式完成。

3.2.3 表示层

表示层采用Dorado,Dorado包含各种常用的展现层构件,如:各种形式的表格、树、表单、导航、下拉框、菜单以及一些不可见控件等,控件的交互操作性包括支持页面不刷新技术、支持多处修改一次性提交等。

Dorado的核心是构造一个view文件,文件主要包括Datasets、Controls和Properties三部分。一般先在Datasets中添加Dataset,Dorado支持的Dataset种类非常多,本系统采用的是MarmotDataset,如TestDataDetail Dataset部分如下:

通过Dorado自定义标签编写Jsp文件,简洁明了。同样可以使用MarmotUpdateCommand控件完成数据的持久化。

4 结束语

本文在实际的数据上报系统分析基础上,研究Dorado、Spring和Hibernate框架的集成,通过Dorado DataSet的DataProvider和DataResolver属性调用Spring管理的DataProvider和DataResolver对象、DataProvider和DataResolver对象通过成员变量调用Hibernate完成数据增删改查操作的技术路线。实践证明,利用Dorado及Spring和Hibernate框架技术能有效地将表示层、业务逻辑层和持久层分离,极大地提高了系统开发效率和复用性。

报表是系统的一个重要模块,限于篇幅本文没有论述。系统的报表引擎采用JasperReport,开发工具iReport,这是一个图形化的辅助工具,因为JasperReport仅提供了可使用的类库而未提供更好的开发工具,iReport的出现解决了这一难题,它们配合使用极大程度地提高报表设计效率。

[1] 上海锐道信息技术有限公司.Dorado白皮书[DB/OL].ftp://www.bstek.com/public/dorado/dorado5whitepaperDoc.zip.2008-01-22.

[2] 维基百科.Spring Framework[DB/OL].http://zh.wikipedia.org/zh-tw/Spring_Framework. 2010-04-07.

[3] 庄国强,施祖平.基于Struts和Hibernate的农产品检测信息直报系统的实现[J].南通大学学报自然科学版,2008,4:36-40.

[4] 李勇,于洪志,达哇彭措.基于Hibernate的民族古籍数字化系统数据持久层应用[J].南通大学学报自然科学版,2008 7(2):18-20.

TP311

B

1009-0134(2010)11(上)-0038-03

10.3969/j.issn.1009-0134.2010.11(上).13

2010-06-23

江苏省现代教育技术研究“十一五”规划重点项目“图书馆电子资源综合评价系统研究”(2009-R-13778)

徐雪梅(1975 -),女,江苏南通人,讲师,工程硕士,研究方向为计算机应用。

猜你喜欢
框架对象数据库
有机框架材料的后合成交换
框架
涉税刑事诉讼中的举证责任——以纳税人举证责任为考察对象
K-框架和紧K-框架的算子扰动的稳定性
判断电压表测量对象有妙招
攻略对象的心思好难猜
数据库
数据库
数据库
区间对象族的可镇定性分析