美章网 资料文库 J2EE元数据管理系统设计范文

J2EE元数据管理系统设计范文

J2EE元数据管理系统设计

摘要:对基于XML的多源异构数据融合、遥感数据存储、数据持久化以及用户访问控制技术进行了分析和设计;讨论了元数据管理系统的实现技术、设计思想和系统构架,注重系统的可移植性、可维护性和可扩展性;实现了基于J2EE技术的元数据管理系统。

关键词:Java2平台企业版;元数据管理;扩展标记语言

随着信息技术的发展,产生了海量的信息。如何有效地管理和组织这些海量信息已经成为一个突出的问题。元数据机制是解决这一问题的有效手段。一些部门已经针对数据在行业内部的应用特点来开发自己的管理系统[1]。目前,在元数据管理系统的建设中存在的主要问题是:基于不同操作系统和数据库的管理平台不可移植、安全性差、难以维护和扩展、缺乏统一的建设模式与内容服务提供方式[2,3]。

以J2EE平台为基础的各项技术的成熟为这些问题提供了良好的解决方案。J2EE是一种利用Java2平台来简化诸多与多级解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE的核心技术是Java2平台的标准版,具有Java语言的特性,是一个开放的、跨平台的结构,提供了健全的意外事件处理机制,具有良好的可移植性和扩展性。

基于J2EE的元数据管理系统具有高效、稳定、可复用、易维护的特点;独立于平台,可以部署于MicrosoftWindows、Linux、UNIX等操作系统之上;可对Oracle、SQLServer2000、MySQL等多种数据库进行操作。但是J2EE涉及的技术种类繁多,在实际应用中要根据需要准确使用,而且基于J2EE的系统需要具有良好的系统设计结构,才能最大限度地发挥优势。尽管基于J2EE平台的系统具有诸多优点,但目前J2EE还没有被广泛应用在元数据管理中。本文提出的基于J2EE架构的元数据管理系统建设方法和应用实例,是将J2EE引入元数据管理的一个初步尝试。

1关键技术研究

1.1基于XML的多源异构数据融合

各个部门采用了不同的元数据存储方式。由于缺乏统一的标准,很难对这些元数据进行有效的管理和。必须实现多源异构数据的融合。

采用简单文本文件作为中间介质的信息交换方法不能描述数据的结构,不适合用来进行复杂的元数据交换。XML技术实现信息交换与共享已经成为一种发展趋势。孙君明等人[4]对基于XML的数据交换技术进行了研究。XML是采用线性语法描述树状结构的标志语言。作为一种数据交换的中间件,XML具有跨平台、结构化和自描述性强的特点。

用XML实现多源异构数据融合的过程如图1所示。

在图1中,首先各地的数据提供者通过浏览器将数据传送给服务器,由服务器端的XML引擎将这些数据转换成标准的XML文档;再由一些服务组件根据需要对XML文档进行处理,如建立索引等。这样,多源异构数据就被转换成了具有统一标准的XML文档;通过对这样具有固定结构的XML中间件的解析,实现从XML文档到数据库的转换,完成了多源异构数据的统一存储[4,5]。进行信息时,根据客户端的查询条件在数据库中提取相应的结果集,形成XML文档,将该文档发送至客户端;由客户端的格式化工具解析该XML文档,显示在客户端。

1.2遥感数据的分块存储

遥感数据(如DEM、TM、ASTER等)具有数据量庞大的特点,应用数据库中的大数据类型存储,如Oracle9i中的Blob、SQLServer2000中的Image。但是如果将它们直接存入数据库中会造成系统效率低下;可采用一种分块存储的策略,将原始数据分割成大小一致的若干块,一块一块地进行存储。分块大小要根据磁盘的读写性能和网络的传输性能确定,过大或过小都会导致系统运行效率低下[6]。每块数据以一条记录的方式进行存储,包含数据的编号、经纬度、步长、时间等信息,并且建立索引。

1.3数据持久化

为了能使系统部署在任意数据库系统上,加入了一个持久化层,作为连接Java应用和关系数据库的通道。为数据库中的每张表建立一个Java对象,定义好对象与表之间的对应关系,只需对Java对象进行操作,不用关心SQL语句和系统最终使用的数据库。持久层作为一个中间件,封装对数据库的操作,提供接口,隐藏数据访问的细节[7]。

1.4用户访问控制

元数据的使用人员级别复杂,用户管理困难。使用RBAC(Role-BasedAccessControl,基于角色的访问控制)模型,可以提高管理的效率和安全性。RBAC在传统的用户——权限模型中引入了角色的概念。角色是一组用户的集合,也是一个授权的集合,它将一组用户与权限联系起来。一个角色可以与多个用户对应,一个用户可以拥有多个角色,每个角色可以执行多种权限,每个权限可以被多个角色共享。对一个用户授予相应的角色,使用户可以进行相应的操作[8]。引入角色可以使系统的安全机制具有很大的灵活性,减少了权限管理的负担和代价,同时也增强了系统的可维护性。

2元数据管理系统的设计

使用本系统的各部门实际情况不同,系统可能被部署到不同的平台上,而且需要对该系统进行一定的扩展和改进。所以在系统设计上,需要充分考虑到系统的可移植性和可扩展性。

2.1系统设计

本系统基于J2EE平台,是一个浏览器/服务器(B/S)结构的系统,具有J2EE平台可以跨系统使用的特性,采用MVC(Model-View-Controller)应用框架。MVC设计框架的内部原理比较复杂,将MVC运用到应用程序中会带来大量的额外工作,增加应用的复杂性。但是MVC可以轻松地实现程序代码与HTML的分离,而且MVC的三个模块相互独立,可以构造良好的松耦合构件,提高应用系统的可维护性、可扩展性、可移植性和可复用性。从长远的应用考虑,应使用MVC设计框架[9]。

本系统在传统的B/S三层结构上作了一定的改进。

(1)表现层。在该层使用Struts框架。Struts是一个MVC模式的表现层应用框架。浏览器向Web服务器提出请求后,Web服务器会把请求交给控制器处理。ActionServlet控制器根据请求的不同,将它们转发给不同的Action实例。Action实例在这里充当了用户请求与业务处理逻辑之间的适配器,它只负责控制整个程序的流程,不关心具体业务的实现,实现了请求与业务逻辑的分开。本系统使用一个高效的Action类——DispatchAction类。只要继承该类,就可以在一个Action中集成多个业务方法,有利于系统的维护。在视图显示方面,其大量使用了Struts标签,用来控制显示的逻辑和内容。由于不同平台采取的编码方式不同,在进行系统移植时很容易出现中文乱码问题。在这里使用一个可插拔式的过滤器,实现对请求和响应的预处理及后处理,很好地解决了字符编码问题,使系统可以在不同的平台上进行移植。

(2)业务层。它处理用户请求和应用逻辑。在处理之前,将所有涉及到表现层的数据结构替换成更加通用的数据结构类型;使用通用的、与表现层无关的数据结构在这两层之间传递参数。表现层方法提交的参数类型主要是HttpServletRequest和HttpServletResponse;使用这样的参数会增加系统的耦合性,不利于代码的重用,所以要将它们处理成通用的数据类型,如数组。这一过程在Action适配器进行转发之前完成,提供给业务层的参数是通用的数据类型[10]。业务层方法之间的通信也通过通用的参数类型进行,使得每个业务方法均独立存在于系统之中,在很大程度上减少了系统的耦合,提高了可复用性。

(3)数据层。为了实现数据库访问细节与业务层的分离,引入持久化层。

为了使系统具有较好的可维护性、可移植性和可复用性,采用以上的设计思想,以搭建一个逻辑清楚、功能明确、模块化程度高的元数据管理系统。

2.2工作流程

用户通过浏览器(IE/Netscape)向服务器提交请求,请求经过过滤器处理后再提交给控制器ActionServlet;控制器根据请求的类别将它们转发给不同的DispatchAction类。该类中的方法对参数进行处理后调用不同的业务逻辑对请求进行分析处理,处理后得到的信息通过视图显示在用户浏览器上。

3基于J2EE的元数据管理系统的实现

根据本文提出的设计思想,实现了一个元数据管理系统——基于J2EE的小城镇元数据管理平台。本实例以J2EE平台为基础,Tomcat5.0为服务器,可以使用Oracle9i、SQLServer2000、MySQL数据库,使用了ORM(Object-RelationMapping)模式的持久化层中间件Hibernate,以Eclipse3.0为开发平台。在系统实现过程中,使用了以J2EE平台为基础的各项技术,遵循Java2标准平台的编码标准,注重系统的可扩展性和可维护性。系统的XML引擎采用了DOM(DocumentObjectModel)和SAX(SimpleAPIforXML)。DOM负责XML文档的生成和修改;SAX对XML进行解析。

小城镇元数据管理平台的功能主要分为管理与检索两部分,可以实现对矢量数据、栅格数据、文档数据、原始试验数据、报表数据和模型数据的管理与检索;用户管理可以对用户进行权限设置;系统管理功能可以提供系统运行的日志和帮助文件。

4结束语

基于J2EE的元数据管理平台,具有良好的跨平台特性;解决了多源异构数据的融合、遥感数据的存储、数据持久化和用户控制访问问题;在设计和实现过程中遵循J2EE的设计模式,具有良好的扩展性和维护性;功能模块具有低耦合的特点,极大地提高了代码的可复用性;可对元数据进行有效管理,实现信息的共享,广泛地应用在各个领域。在如何提高系统的安全性方面还有待于对其进行进一步的研究。

参考文献:

[1]吴洪桥,何建邦,池天河,等.基于Internet的元数据管理模式研究[J].计算机科学,2003,30(4):89-91.[2]李广乾.小城镇信息化建设的基本思路[J].信息化建设,2005(Z1):24-26.

[3]赵春江,杨信廷.加强信息技术研究和开发促进小城镇健康发展[J].小城镇建设,2005(1):22-23.

[4]孙君明,郭红.基于XML的异构信息交换技术研究[J].计算机应用研究,2003,20(1):70-72.

[5]李德冠,陈梦东.一种基于XML的数据交换系统的设计和实现[J].微机发展,2005,15(12):12-14.

[6]朱雷,潘懋,李丽勤,等.GIS中海量栅格数据的处理技术研究[J].计算机应用研究,2006,23(1):66-68.

[7]孙卫琴.精通Hibernate:Java对象持久化技术详解[M].北京:电子工业出版社,2005.

[8]范会联,李献礼.基于Struts框架的Web信息系统中RBAC的实现[J].计算机时代,2005(12):33-34.

[9]孙卫琴.基于MVC的JavaWeb设计与开发[M].北京:电子工业出版社,2004.

[10]ALURD,CRUPIJ,MALKSD.J2EE核心模式[M].第2版.北京:机械工业出版社,2005.