J2E技术在纳米新材料共享数据平台中的应用
2015-03-30杨保成华丽靳宗信苗作云
杨保成华丽靳宗信苗作云
(1.黄河科技学院纳米材料研究所,河南郑州 450063;2.河南工业大学文献信息研究所,河南郑州 450001)
·能源与化学工程·
J2E技术在纳米新材料共享数据平台中的应用
杨保成1华丽2靳宗信1苗作云1
(1.黄河科技学院纳米材料研究所,河南郑州 450063;2.河南工业大学文献信息研究所,河南郑州 450001)
本研究设计并实现了基于J2EE技术的纳米材料科学数据共享平台,介绍了系统的总体层次结构、各个功能模块和后台数据库设计,并阐述了系统开发过程中的J2EE技术。实际运行效果表明,本系统能够适用于各种纳米材料数据的管理,帮助研究纳米材料的科研人员更好地分析和利用科学数据。
J2EE技术;纳米材料;科学数据共享平台
21世纪已成为纳米技术的时代,国家科委、中科院将纳米技术定位为“21世纪最重要、最前沿的科学”。纳米材料除了有传统材料的优异性能外,还具备许多传统材料不具备的性能。随着纳米技术的飞速发展,纳米材料的在机械、电子、光学、磁学、化学和生物学领域都有着广泛的应用前景。
河南郑州是中国超硬材料的发源地,也是该行业科研开发、人才培养、生产经营的中心城市。2012年又建成了新材料产业集聚区,即国家专利导航产业发展实验区,规划建设以超硬材料为主的新材料产业基地。该基地以郑州市在中国超硬材料行业的中心地位为依托,充分发挥郑州地区新材料行业的人力资源、科研研发和产业基础优势,大力发展新材料产业。因此,纳米材料科学数据共享平台的开发对助推行业的发展起着重要的信息资源保障作用。
1 系统设计
1.1 系统总体结构
系统有三层结构,从上到下依次为表示层、应用层和数据层,系统体系结构如图1所示。
1.1.1 表示层
系统的表示层是人机交互界面,主要由JSP页面和HTML页面构成,负责接收用户的输入,并对表单中用户输入的信息进行验证,最后将验证后的信息传给应用层。另外,表示层还负责使用友好、美观的界面展示应用层反馈的结果。
1.1.2 应用层
应用层是本系统的核心部分,具有数据通信、交互、访问和调度的功能。负责接收上层(表示层)传来的请求,并通过控制器将请求分派给相应的业务逻辑控制器,业务逻辑控制器再通过JavaBean或ActionForm同数据层进行通信,最后将请求的结果反馈给表示层。
图1 系统体系结构图
1.1.3 数据层
数据层的作用主要是存储各种数据。应用层的JavaBean通过Hibernate与数据层进行通信,数据接收到Hibernate传来的SQL请求后,对数据库进行相应的操作(增、删、改、查),并把结果反馈给应用层。为了安全起见,在数据层为数据库增加了一个备份数据库。
1.2 功能模块设计
根据需求分析,把本系统分为两大功能子模块,即前台检索子模块和后台管理子模块。前台检索子模块具有单库检索和跨库检索两大检索功能。而后台管理子模块具有数据管理、用户管理、角色管理、权限管理和系统维护等功能。在数据管理中既可以对数据进行增、删、改、查、审核等操作,还可以生成报表以及对日志的查询。系统维护主要是对系统数据进行备份、还原,对系统故障进行诊断,以及生成日志等。系统的功能模块结构如图2所示。
1.3 数据库设计
图2 系统功能模块图
根据需求分析,在系统中共创建了10个关系表以完成不同“库”的存储。另外,为了提高存储效率和保持数据的完整性,系统采用了存储过程,表1为系统的部分数据表。
表1 系统的部分数据表
2 系统实现
2.1 开发环境
系统采用B/S(Browser/Server,浏览器/服务器)结构,MVC(Model-View-Controller,是模型-视图-控制器)模式,基于J2EE技术实现跨平台运行。后台数据库采用MySQL5.6,Web应用服务器采用Tcomcat8.0,编程语言采用Java语言,编程工具采用Eclipse4.4。
2.2 关键技术
2.2.1 Hibernate。Hibernate不仅能够对JDBC进行非轻量级的对象封装,而且还能够实现数据的持久化。
Hibernate通过其6个核心接口(Session、SessionFacto⁃ry、Transaction、Query、Criteria和Configuration)对持久化对象进行存取操作和对事务进行控制。
为了提高检索速度,Hibernate提供了两个级别的Cache(高速缓冲存储器),第一级Cache存在于Session内部,属于事务范围的缓存,由Hibernate管理,速度快,但生命周期短,命中率低。第二级Cache是SessionFactory级别的缓存,此种缓存可以配置和更改,还可以进行动态加载和卸载。Hibernate会自行维护二级缓存中的数据,以保证缓存中的数据和数据库中真实数据的一致性。Hibernate的运行过程如图3所示。
图3 Hibernate运行过程图
2.2.2 Struts。系统采用MVC模式,经典的MVC模型如图4所示。
图4 经典的MVC模型
Struts是MVC的一种实现,其体系结构也包括模型、视图和控制器三部分。其模型如图5所示。
图5 Struts模型
2.2.2.1 模型(Model)部分
Struts的Model部分由ActionFormBean和JavaBean组成。其中ActionForm用于封装用户请求参数,所有的用户请求参数由系统自动封装成ActionForm对象。该对象被ActionServlet转发给Action,然后Action根据Action⁃Form里的请求参数处理用户请求。
而JavaBean封装了底层的业务逻辑,包括数据库访问等。在更复杂的应用中,JavaBean所代表的绝非一个简单的JavaBean,可能是EJB组件或者其他的业务逻辑组件。
2.2.2.2 视图(View)部分
Struts的View部分采用lSP实现。Struts提供了丰富的标签库,通过这些标签库可以最大限度地减少脚本的使用。这些自定义的标签库可以实现与Model(Bean)的有效交互,并增加了显示功能。如
整个应用由客户端请求(如提交Form表单)驱动,当客户端请求被ActionServlet类对象(程序根据web.xml中配置的ActionServlet初始化类对象)拦截时,ActionServlet根据请求决定是否需要调用Model处理用户请求,当用户请求处理完成后,其处理结果通过JSP呈现给用户。
2.2.2.3 控制(Controller)部分
Struts的Controller由系统核心控制器和业务逻辑控制器两个部分组成。其中,ActionServlet为系统核心控制器,该控制器由Struts框架提供,继承HttpServlet类,因此可以配置成一个标准的Servlet。该控制器负责拦截所有Http请求,然后根据用户请求决定是否需要调用业务逻辑控制器,如果需要调用业务逻辑控制器,则将请求转发给Action处理,否则直接转向请求的JSP页面。
业务逻辑控制器负责处理用户请求,但业务逻辑控制器本身并不具有处理能力,而是调用Model来完成处理。业务逻辑控制器对应图中的Action部分。
Action的业务逻辑实现,是通过调用ActionServlet传递给自己的ActionMapping、ActionForward等组件对象协调完成的。其中,ActionMapping与ActionForward指定了不同业务逻辑或流程的运行方向。
综上所述,本文基于B/S架构和MVC模式开发了基于J2EE技术的纳米材料科学数据共享平台。系统的开发过程中,采用Hibernate技术实现对象的持久层开发,使用Struts实现了MVC模型。系统现已在通过测试并正常运行,为从事纳米材料研究和应用的科研人员提供了丰富的科学数据。
[1]张瑾.科技信息资源共建共享平台构建研究[J].图书馆学研究,2012(13):41-46.
[2]卞咸杰.基于WCF技术的科技论文共享平台架构研究[J].情报科学,2015(01):100-104.
[3]毋妙丽.基于云桌面技术的实验室资源共享平台建设[J].实验室研究与探索,2014(12):290-294.
[4]司莉,李月婷,等.我国科学数据共享平台绩效评估实证研究[J].图书馆理论与实践,2014(09):30-35.
[5]汤妙吉.基于云计算的高校与农村文献信息资源共享平台的设计与实现[J].现代情报,2014(09):87-91.
[6]李刚.轻量级JavaEE企业应用实战Struts2+Spring3+ Hibernate整合开发[M].北京:电子工业出版社,2012.
Application of J2EE Technology in Data Sharing Platform of NewNanomaterials
Yang Baocheng Hua Li Jin Zongxin Miaozuoyun
(1. Nanomaterial Research Institute,Huanghe Science and Technology College,Zhengzhou Henan,450063; 2. Documentation and Information Institute,Henan University of Technology,Zhengzhou Henan 450001)
The study designed and established a nanomaterials scientific data sharing platform based on J2EEtechnology,the overall structure,function modules and database design of the system were introduced,and the J2EEtechnology in the system development process was described. The actual operation result shows,this system can beapplied to a variety of nanomaterials data management,to help nanomaterials researchers better analyze and usingthe scientific data.
J2EE technology,nanomaterial,scientific data sharing platform
TP311.52
:A
1003-5168(2015)03-0120-3
2015-2-26
河南省2013年科技发展计划“纳米与新材料科学数据共享平台的开发”(132102210498)。
杨保成(1972.10-),男,博士,副教授,研究方向:纳米功能材料研究;华丽(1956.6-),女,本科,教授,研究方向:科技信息资源开发与利用。