基于Java RMI的分布式WebGIS模型研究_第1页
基于Java RMI的分布式WebGIS模型研究_第2页
基于Java RMI的分布式WebGIS模型研究_第3页
基于Java RMI的分布式WebGIS模型研究_第4页
基于Java RMI的分布式WebGIS模型研究_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于Java RMI的分布式WebGIS模型研究阮萍1 ,王华1 ,郭炳庆2(1首都师范大学信息工程学院 北京100037)(2 中国电力科学研究院农电所 北京 100085)摘要:WebGIS是当前GIS的技术热点,立足于WebGIS的分布式特性,在分析Java RMI特点以及优势的基础上提出基于Java RMI的分布式WebGIS构造模型,并且详细介绍了空间数据模型、组件注册服务器等相关概念和主要实现技术。关键词:WebGIS Java RMI 分布式Research on Java RMI-based Distributed WebGIS ModelRuan Ping1 ,Wang Hu

2、a1 ,Guo Bingqing2 (1 Info.& Eng. Institute, Capital Normal Univercity,Beijing,100037)(2 Country Electric Dept. of China Electric Power Research Institute,Beijing,100085)Abstract: WebGIS is current GIS developing hotspot. This article based on the distributed characteristics of WebGIS, a model of

3、 distributed WebGIS is put forword after analyzed the trait and advantage of Java RMI. Some relevant conception such as geospatial data model and compoment registration server and implement technology are introduced.Key words: WebGIS Java RMI Distributed1 引言地理信息系统(GIS)是集计算机科学、地理学、测绘遥感学、环境科学、城市科学、空间科

4、学、信息科学、应用数学、管理科学为一体的新兴科学。它将空间数据处理,属性数据处理,空间分析与模型分析同计算机技术紧密结合,通过数据准备,系统建立,空间分析与模型分析,产生对资源环境,区域规划,管理决策,灾害防治等有用的信息。因此被广泛应用于市政、土地、管网、农林、水利、电力等领域1。随着Internet技术的不断发展和人们对地理信息系统(GIS)的需求,利用Internet在Web上发布和出版空间数据,为用户提供空间数据浏览、查询和分析的功能,已经成为GIS发展的必然趋势。WebGIS与传统的GIS的本质区别在于其分布式特性,其分布性首先体现在数据上,WebGIS的数据源分布在网络的多个节点上

5、,而非集中于一台计算机;其次是处理分布,即满足用户要求的各个GIS功能模块可能分布在多台计算机上;第三是用户分布,WebGIS用户具有不固定性,他们可处于网络的任何结点。因此WebGIS系统的构建需要分布式的计算平台2。分布式计算平台提供一种可以伸缩的由服务器到服务器的体系结构,服务器对象可以运行在多个服务器上,从而可以动态平衡客户端请求的负载。2 Java RMI开发WebGIS的优势及特点目前比较流行的分布式对象计算工业标准主要有三种:Microsoft的DCOM(Distributed Component Object Model), OMG (Object Management Gro

6、up)的CORBA(Common Object Request Broker Architecture)以及Javasoft的Java RMI(Java Remote Method Invocation)。由于DCOM的平台局限性和CORBA实现的复杂性,Java技术被广泛的应用于网络GIS中。针对分布式计算,Java提供了一系列简单易用的解决方法。通过支持Java的浏览器,Java Applet技术可以在客户机下载类文件用以构造用户界面或进行简单的GIS操作;Java Bean技术提供了一种创建可复用组件的方法;Java RMI提供远程方法调用;JDBC(JDBC-ODBC)简化了内部对象与

7、外部数据库之间操作等等4。Java RMI是一个纯Java分布式计算解决方案。RMI允许在Java中编写分布式对象,并允许对象在内存中通信,可跨越Java虚拟机通信,也可跨越物理设备。RMI对象由远程接口及其实现类组成,当RMI客户机利用方法调用访问远程接口时,这些方法调用将穿越网络传输到RMI服务器。RMI服务器利用方法调用访问RMI实现的对象,然后把结果通过网络回送给RMI客户机。客户机与服务器并不是固定的,在一个应用程序中它们可以更换角色。Java对象在客户机与服务器之间传输是借助于编组后的根程序(Stub)和框架程序(Skeleton)。当客户机需要调用远程对象的方法时,参数被封装在远

8、程对象的根程序中,根程序被编组传递给服务器,在服务器端,远程对象的框架程序将编组后根程序中的参数取出传递给实际对象来执行远程方法,操作完成后结果返回给客户机,Java对象传递过程如图1所示:远程对象Stub远程对象Skeleton实际对象应用程序客户机服务器远程对象参数流结果流图1:Java 远程对象传递过程fig1:Java Remote object passing procedure3 系统模型目前应用比较普遍的WebGIS构造模型是由表示层,应用逻辑层和数据库层构成的3层B/S结构。其中应用逻辑层在GIS系统中是最重要的一部分,它负责管理并提供空间处理工具。分布式空间处理模型的主要目标

9、是充分利用网络上分布的空间数据和GIS功能模块。Web服务器、组件注册服务器、GIS服务器以及Web客户机的关系如图2所示:Java Applet被用来为用户提供丰富的操作界面,由于applet必须被嵌入到web页面中,所以该模型包含一个web服务器,当用户浏览web页面时,用户界面、一般的GIS功能模块、applet扩展以及远程对象的根程序被下载到客户端。GIS服务器中可能包含不同的空间处理模块(GIS功能组件),这些处理模块通过Java RMI或Java applet来提供给用户, GIS功能组件需要在一个注册服务器中注册后才能使用,组件元信息存储在数据库中通过Servlet或者RMI提供

10、给用户。Applet扩展和远程对象的根程序需要上传到Web服务器中以便用户在运行时下载到本地。GIS服务器可以远程调用其他GIS服务器中的服务,通过这个方法,单一的处理过程也能分布于网络上。在这个模型中,空间数据以及GIS组件能够通过Java Applet或RMI提供给用户,Applet包含用户界面和一些常用的GIS组件,这使得用户能够使用本地数据并且快速的完成相关操作5。GIS 服务器GIS 组件框架程序skeleton(根程序stub)Applet 扩展ClientHtmlApplet根程序Web 服务器HtmlApplet根程序(stub)applet 扩展组件注册服务器注册servle

11、tGIS 数据GIS 数据组件元信息图2:使用Java Applet和Java RMI的分布式空间处理模型fig2: A Distributed Geoprocessing Model Using Java Applet and Java RMIRMI组件注册远程调用下载上传结果RMI/Servlet该模型中涉及的主要概念以及关键技术包括:(1) 空间数据模型(Geospatial Data Model):它是现实世界空间实体和现象的计算机表示或抽象,定义了基本GIS数据类型和结构。目前使用最广泛的是地理关联(Georelational)结构,其属性数据存储在关系型数据库中,该数据库通过唯一的

12、ID与基于文件的空间要素连接在一起6。空间数据模型是基于地图-层-空间几何元素(点、线、面)结构,在该结构中地图(map)是在用户界面中显示的最顶层元素,一个地图对象可包含若干不同类型的层(layer),一个层对象可包含若干与属性记录相关联的空间几何元素(Geometry Elements)或空间对象(Geo-objects)。结构模型见图3:用户界面(Applet)maplayerImageLayerShapeLayerOther layerImage ObjectAttibure recordsDBFGeo-objectsShape access ObjectsImage fileShap

13、efile:Geospatiale DataOther objectsGeometry ElementsDBMS图3:空间数据模型结构fig 3: Structure of the Geospatial Data Model(2) 组件注册服务器(Compoment Registration Server):在整个分布是空间处理模型中,组件注册服务器是支持分布式计算的重要部分,用来管理各组件的元信息。图4描述了客户机、GIS服务器、Web服务器以及组件注册服务器之间类似金字塔关系。Client(Applet)GIS 服务器Web服务器组件注册服务器componentMeta-infoRMI查找

14、组件注册元信息组件注册图4:组件注册模型中客户机与服务器之间的关系fig4: Relationships of Client and Servers in Component Registration ModelServletRMI/ServletAppletExtention在上述模型中,GIS组件元信息从HTML提交的表格中获取,经处理后可通过Servlet存放到组件元信息数据库中,GIS组件元信息包含的内容有:组件标识、如何查找并连接该组件、该组件的功能、如何使用该组件等等。客户端也可使用Servlet从组件元信息数据库中取出记录,组件接口对象在组件注册过程需要上传到Web服务器以便客户

15、机下载并用于远程方法查询。(3) 客户机处理图形格式:进行WebGIS设计的一个重要选择是在客户端使用矢量地图还是栅格地图。如果使用的是栅格地图,客户端每一次对地图的操作都会发送到服务器端执行,生成新的栅格地图返回给客户端,这给服务器和网络传输造成负担同时限制了客户端的GIS操作能力。使用矢量图形需要在客户端运行时下载Java Applet组件,可以在本地执行基本操作,从而缩短了客户端的响应时间并且有效降低了频繁数据传输对网络造成的负面影响。(4) GIS功能组件划分及实现方法:一般的GIS功能使用Java Applet技术,这些功能主要包括对地图的基本操作:地图的放大、缩小、无极漫游,图层显

16、示控制,地图查询等,用户可将该GIS功能组件下载到本地执行。而其它相对复杂的GIS功能组件基于EJB(Enterprise Java Bean)技术,比如最短路径分析等复杂的空间处理。4 结束语WebGIS是Internet技术应用于GIS开发的产物,GIS通过WWW功能得以扩展,真正成为一种大众使用的工具。本文提出的基于Java RMI的分布式WebGIS模型能够有效的解决空间数据和GIS功能组件的分布问题,期望能够帮助开发人员成功的创建Web服务。由于Java语言的跨平台、安全等特性,使得采用Java技术开发WebGIS产品有广阔的应用前景。参考文献:1 廖玉荣,王乘,

17、蒙培声. 基于Internet的WebGIS解决方案比较研究J,计算机仿真,2003,12(20)2 王继周,付均娥. 基于J2EE的WebGIS应用服务器构建技术研究J,计算机工程与应用,2003.283 肖国强,冯燕. 一个基于Java/J2EE的WebGIS的模型研究J. 计算机应用研究,2003(5)4 Shuxin Yuan and C.Vincent Tao,2000,”Development of a GIS Service Model Suppot of online Geoprocessing J-OL, 5 Shuxin Yuan,2000 ”Development of a Distributed Geoprocessing Service Model

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论