资源描述:
《struts和hibernate在信息共享平台中的应用与研究》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Struts和Hibernate在信息共享平台中的应用与研究第8卷第3期2006年9月地球信息科学GEO—INFORMATIONSCIENCEVo1.8.No.3Sept.,2006Struts和Hibernate在信息共享平台中的应用与研究邹志强1,2,3江南,胡斌(1中国科学院南京地理与湖泊研究所地理信息科研室,南京210008:2南京邮电大学,南京210003;中国科学院研究生院.北京100049)摘要:科学数据共享是一个重要的研究领域,但是由于缺乏足够的技术支持.导致从海量数据中找出有用信息.实现信息的完全共享还存在不
2、足.本文结合Struts和Hibernate技术,提出了一种信息共享平台的框架利用Struts优化了数据表示层和数据处理层的设计,利用Hibernate优化了共享平台的数据持久层的设计文章先分析了这两种技术的应用,接着重点说明了如何利用它们构建一个4层结构的共享平台.该平台可以对多种数据进行管理和分析,能在多个服务器问提取出有用的信息供用户浏览,下载和查询.从而实现了信息的共享关键词:信息共享;Struts;Hibernate;WebGIS1引言科学数据作为信息的重要内容之一.不仅具有明显的潜在价值.而且具有可开发价值的资源属
3、性,但是这些共享数据的类型多种多样.空间数据,属性数据,遥感数据等,要想从这些数据中提取有用的信息是困难的.这已在相当程度上制约了科技进步与创新.并造成重复采集,重复建设的资金浪费.其原因是缺乏强有力的共享服务技术支撑[IJ所以.搭建结构合理的平台显得尤为重要目前.信息共享平台有的是单机版本.即信息的数据源和数据的查询和发布服务都在本机.用户访问只能在本机进行:有些信息共享平台.虽然设计上克服了单机版的缺点.可以在网络下运行.但是它不能够在不同的操作系统下移植.存在可移植性差等问题共享平台的框架设计是系统的基础.但是有些框架设
4、计是以面向过程的方法为主来设计系统.其设计的模块存在可重用性差等问题一种解决方案是以元数据管理和元数据服务为基础的设计.它可以较好地实现一些Web共享服务Ⅲ.但在设计模式上,如果再进一步优化,那么设计就更加合理了2多层结构信息共享平台的设计针对上述框架设计存在的一些问题.我们引入了J2EE技术.结合地学数据共享的特点.把系统划分为4层:数据表示层.数据处理层(业务逻辑层).数据持久层.数据库层.对层中模块的分析.采用OOA(面向对象的分析)方法,抽象出共性问题,引入Adapter.Singleton.抽象类工厂等经典的设计模式
5、.这样在新的信息共享平台中.提高了系统的可移植性和设计模块可重用性下面是分层后细化的设计方案2.1数据表示层的设计在信息共享平台中.数据表示是以Web形式提供给用户的.为了把Web层的HTML和Java分离.使得显示逻辑和业务逻辑不再相互交叉.我们采用了Struts技术来完成Web层的设计Strutspl是一个MVC(Model—VieW—Controller)开源框架,它提供了对开发MVC系统的底层支持.我们共享平台的Model采用Hibernate技术[21来完成.View由JSP和TagLib来完成.Controller
6、由Struts的Action.Servlet和ActionMapping来完成.配置文件:struts—config.xml负责系统的各个模块之间的交互收稿日期:2005—05—15:修回日期:2006—01—14.资助项目:科技部国家科学数据共享工程(项目编号:2004DKA20180);南京邮电大学科研项目(项目编号:NY206039).作者简介:邹志强,男,博士研究生,讲师,主要研究方向:J2EE技术,组件技术,WebGIS和分布式信息共享平台.?58?地球信息科学2006正(参考图1).UseServletAction
7、USPIServiceFDBMDataIIIIIII图1数据查询时的UML顺序图Fig.1UMLSequencediagramofdataquery2.2数据处理层和数据持久层的设计现有的平台设计中,对于数据库的访问.有些是在自己的应用程序中直接提供JDBC连接和管理事务.这对简单的系统设计是可行的.但是对于数据共享平台,其数据类型复杂.并发访问用户较多和访问流量大的系统,直接用JDBC编程效率较低.且容易出错.考虑到EJB(EnterpriseJavaBean)的应用则显得有些臃肿.它需要额外EJB容器f应用服务器),所以没
8、有选用实体Bean来处理持久层的数据现在我们引入Hibernate把所有的底层JDBC/JTAAPI都抽象出来,自己的应用程序就可以不再直接访问数据库了Hibernatet41是一种实现对象和关系之间映射(ORM,ObjectRelationMapping)的开源框架.它对J