ImageVerifierCode 换一换
格式:DOC , 页数:9 ,大小:221.50KB ,
资源ID:11890807      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/11890807.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(基于Java技术的WebGIS框架研究.doc)为本站上传会员【仙人****88】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

基于Java技术的WebGIS框架研究.doc

1、基于Java技术的WebGIS框架研究 齐剑玲,阚虎 (中国地质大学 北京 100083) 摘要: 本文力图把当前软件开发技术和Java技术领域中逐渐成熟的设计模式和方法,引入到WebGIS基础开发框架的设计中,以提高框架的可设计性和简化应用开发;表现层中引入MVC模式,数据访问层使用对象-关系映射技术,逻辑层提供有关空间操作的Java APIs(Java Application Programming Interface).以此作为框架的基本组成单元.基于Java平台对这个框架的原型进行了实现。以期能为WebGIS框架设计提供一个有意义的参考实现。 关键词: Java、万维网

2、地理信息系统、框架、设计模式、模型-视图-控制、对象-关系映射 Java-based WebGIS Framework Research QI Jian Ling , WANG Shu Min , KAN Hu (China University of Geosciences, Beijing 100083.China) Abstract: In this paper, for enhancing the design capacity and simplifying the application development, we try to design prelimina

3、ry a development framework for WebGIS by import the new successful fruits in software development techniques and Java tech domain. Importing the MVC design patterns into presentation layer, using Object/Relation Mapping in the data-accessing layer, and providing elementary Java APIs relevant spatial

4、 operations, are the basic composing units of the framework. Finally, we design and implement the framework prototype, which is totally based on java. We hope to have referenced value, in some extent, to the WebGIS framework design. Keywords: Java, WebGIS, design pattern, framework, MVC, O/R Mappin

5、g 随着软件行业的发展逐步趋于理性和成熟,近些年来软件工程领域重新获得人们的重视,其两个主要方面——软件项目管理和软件开发技术,都获得了长足的发展。在软件开发技术方面,新的设计技术和方法不断涌现,并在向许多应用领域推广。同时人们也越来越认识到,为一类应用系统设计一个良好的框架,是增强应用系统的可设计性、可重用性和可维护性,降低总体成本的重要基础和前提。 l GIS作为一种空间信息处理技术也逐步融入IT的主流,在社会和经济信息化进程中发挥着愈来愈重要的作用。WebGIS作为GIS在Internet上的拓展,是当前GIS行业重要的发展方向。 l Java作为一种设计良好的语言,据说

6、是目前代码重用率最高的一个平台。在Web应用上,Java是当前服务器端主流开发平台,具有多种成功的开发技术,Servlet是其中的代表。Java所用的类库是完全面向对象的实现,设计优雅、源码开放,使得Java成为很多模式和方法的首选实现平台,也是框架设计的理想选择。 l虽然作为Web应用的一种,WebGIS系统的构建也遵循着一些基本的规律,如:通常使用典型的三层体系结构,但也有自身的一些显著的需求特点,如:空间数据的模型复杂性,大数据量及其交互表达等问题。目前不少商业公司、机构和组织都提出了自己的WebGIS框架和组件产品,如:ESRI公司的ArcIMS、明尼苏达州大学的UMN MapSe

7、rver、MapInfo公司的MapXtreme、Intergraph公司的GeoMedia WebMap、AutoDesk公司的MapGuide等,这些产品在实际运用中也都取得了不错的效果。其中的框架产品以ArcIMS和UMN MapServer为代表,但从设计的角度来看,都存在一定的局限和不足。表现层没有直接引入相关设计模式,使得设计开发困难重重或者受限过多;数据访问层的设计还无法完全脱离关系模型,不仅使得数据模型的表达无法使用对象的概念来扩展,也使得在整个系统设计中难以完全实施面向对象技术。l 1 交互系统设计模式的阐述与讨论 在面向对象的编程中,软件编程人员更加注重代码的重用性和

8、可维护性。面向对象是使用离散的对象来构建软件系统;设计模式利用了对象的继承、组合和代理(delegation),在较OOP高的层次上考虑问题。尤其是使用代理来对任何不稳定或不确定的方面,如:状态、对象的创建、应用平台等等,进行封装,从而保证了源代码的重用和设计的稳定。实际上可以理解成为是OOP中虚函数、多态概念的延伸。即OOP中的虚函数和多态实现的是方法、对象行为上的多态,而设计模式的则对创建、结构和高层次的行为进行了多态。设计模式使人们可以更加简单方便地复用成功的设计和体系结构。将已证实的技术表述成设计模式也会使新系统开发者更加容易理解其设计思路。 1.1 表现层设计模式 交互式系统设

9、计的主要挑战是保持功能内核独立于用户接口。内核基于系统功能需求,通常保持稳定。而用户接口常常要经受变化和改建。例如,系统可能必须支持不同的用户接口标准。这就需要能支持用户接口改建而对特定应用程序或底层软件的数据模型不产生重要影响的体系结构。 关于交互式系统的设计,较有代表性的模式有两种: 表示-抽象-控制(Presentation-Abstraction-Control, PAC) 模型-视图-控制器(Model-View-Controller, MVC) (1) PAC模式 PAC模式以合作agent的层次形式定义了交互式软件系统的一种结构,每个agent负责应用程序功能的某一特

10、定方面,并且由表示、抽象和控制三个组件构成。这种细分将agent的人机交互部分与其功能内核和它与其他agent的通信分隔开来。 交互式系统经常被视为一个协作的agent的集合。人机交互中描述的agent接受用户的输入并显示数据。其他的agent维护系统的数据模型并提供对这些数据进行操作的功能。附加的agent负责诸如错误处理或同其他系统软件系统的通信的任务。除了系统功能的横向分解外,我们常常还做纵向分解。例如,产品规划系统( Producing Planning System, PPS),不同于产品规划和以前的指定产品计划的执行。可以为这个任务定义一个独立的agent。 以PAC agen

11、t树状层次结构构建交互式应用程序。应有一个顶层agent,几个中间层agent,较多的底层agent。每个agent都负责应用功能的某一特定方面,且由表示、抽象和控制等三部分组成。整个层次图反映了agent之间的传递依赖性。每个agent都依赖所有的较上层的agent直至顶层的agent。 PAC的应用没有MVC广泛,但这并不意味着它不值得讨论。作为构建交互式应用程序的一个可供选择的方法,PAC尤其适用于由几个自给系统组成的系统。PAC也用于MVC没有解决的问题,如怎样有效组织功能内核的不同部分与用户接口之间的通信。Joelle.Coutaz最先描述了PAC。PAC的第一个应用是在人工智能领

12、域。 (2) MVC模式 MVC模式把一个交互式应用程序分成三个相互协调的部分:如图1。 Model(模型)模型用于封装系统的状态 View(视图)是模型的表示,提供用户交互界面。当模型状态发生变化时,视图应该得到通知,以便更新视图。 Controller(控制器)接受来自视图的请求,修改模型的状态。 模型 视图 控制器 用户操作 更改状态 更改通知 状态查询 更新视图 事件 对象-关系映射服务 持久化对象 连接池服务 关系型数据库 方法调用 图1 MVC模式图

13、 图2 对象-关系映射实现结构 –MVC是一个比较高层的模式,它由多个更基本的设计模式组合而成,Model-View的关系实际上是Observer模式,模型的状态和视图的显示相互响应,而View-Controller则是由Strategy模式所描述的,View用一个特定的Controller的实例来实现一个特定的响应策略,更换不同的Controller,可以改变View对用户输入的响应。而其它的一些设计模式也很容易组合到这个体系中。比如,通过Composite模式,可以将多个View嵌套组合起来;通过Factory Method模式来指定View的Contr

14、oller。MVC可以看作是一些模式进行组合之后的结果(实际上,MVC的出现要早于设计模式的提出,这里只是对它在设计模式的基础上进行再分析)。如果没有一些基础,理解MVC或许会有一些困难。 1.2 Java平台的数据访问技术 数据访问技术在很长一段时间里,基本处于停滞状态。面向对象和Java给该领域注入了活力。 在Java平台上目前主要有以下三种技术: ü JDBC (Java Database Connectivity) ü EJB-CMP/CMR (Enterprise Java Bean) ü O/R Mapping (Object/Relation) l JDBC是

15、一种类似ODBC的数据访问技术,应用系统的设计需遵循传统的关系模式。 l EJB-CMP/CMR 是一种“内存数据库”方式的实现,是一种基于对象的技术,已有面向对象设计的雏形;但Entity Bean的低效率,依赖于容器的实现方式,使得在实际应用中效果并不好。(•CMP:容器管理的持久性(Container-Managed Persistence),CMR:容器管理的关系(Container-Managed Relationships))。 l O/R Mapping(对象/关系映射) 近些年来,随着面向对象技术逐渐深入人心,人们开始考虑用面向对象的思想进行数据库的设计以取代多年以来的E

16、R模型的方式。面向对象设计基于如耦合、聚合、封装等理论,而关系模型基于数学原理。不同的理论基础导致了不同的优缺点。对象模型侧重于使用包含数据和行为的对象来构建应用程序;关系模型则主要针对于数据的存储。当为访问数据寻找一种合适的方法时,这种不匹配就成为了主要矛盾:使用对象模型,常常通过对象之间的关系来进行访问;而根据关系数学理论,则通过表的连接、行列的复制来实施数据的存取。这种基本的不同使两种机制的结合并不理想。换言之,需要一种映射方法来解决这个矛盾,从而获得成功的设计。图2为一个典型O/R Mapping 技术的实现结构: 2 WGF(Web GIS Framework)原型的设计 W

17、GF原型我们是按照Web应用典型的三层结构来构建,并完全基于Java技术实现的。表现层中引入MVC模式,数据访问层使用对象-关系映射技术,逻辑层提供有关空间操作的Java APIs.以此作为框架的基本组成单元。下面分别说明WGF原型的设计和实现。 2.1 表现层设计 选择原则从两个方面来考虑,一是通常一个WebGIS应用系统,数据量比较大,效率的问题很重要。二是从实现角度出发。 在WGF中,我们对MVC模式做了基本的实现。因为是基于Java平台的实现,考虑了两种需求:Java Application/Applet和JSP/Servlet。在WGF中,第一种情况所对应的Java包是:MV

18、CMini。下面给出这个包的主要类图,如图3所示: 图3 MVCMini的主要类图 其中在MVC模式中“模型改变时更新所有的视图”这一职责,是通过Java的Observable和Observer类来实现的,它们实现了Observer设计模式。每个视图使用MVCModel的addView方法向模型注册它自己。当模型改变时,模型对象使用notifyView向所有已注册的视图发送消息。类MVCController的目的是简化创建菜单项和工具条按钮的控制器的工作。MVCExecutor则是根据Command设计模式的实现。对于B/S开发的支持,WGF使用了开源组织的成功项目Apach

19、e Struts。 在表现层明直接提供对MVC模式的开发支持,改善了表现层设计能力不足的问题,从而更好实现交互界面的开发,同时向开发人员直接提供Java类的方式也在一定程度上避免了设计过于受限的问题。 2.2 逻辑层的实现 作为一个完整的框架,有必要在逻辑层提供一些基础空间操作的Java APIs。在设计思想上,这些Java APIs被设计为强调空间操作和分析的功能,应用开发不应只局限于提供地图相关服务,而是以提供空间分析功能的开发为主要方向。这些Java APIs主要封装在包spatools里。在这个框架里,我们做了一个简单的实现。在包spatools里,主要的类派生于从三个

20、根:SimpleLayer、SimpleShader和SimpleTool,其中以SimpleTool为根的类继承树如4图所示: 图 4 SimpleTool类图 2.3 数据访问层设计 对空间数据模型理解的不同,对数据方式的选择有很大的影响。采用高度结构化数据模型的关系数据库难以表达像测绘、地理空间这样的非结构数据,而这些却正是WebGIS中最主要的数据。面向对象的数据库虽然能很好地满足这类数据的存储和管理要求,然而尚未有成熟的产品;关系数据库具有完整的数学理论、成熟的产品和较高的效率。采用对象关系数据库,既能利用成熟的关系数据库的管理功能和可操作

21、性,又能强有力地支持对象和类的概念及数据类型的扩充,自然成为目前WebGIS底层数据库的首选方案。 Java Data Objects(JDO)是Java平台的一项重要创新。JDO框架如图5所示。JDO中独到的核心思想是在尽可能不增加程序员额外工作的情况下提供一个面向Java的数据库存储机制。除了透明存储之外,按JDO方式写的代码具有二进制兼容性,可以跨平台、跨数据库。JDO可以用于对象/关系数据库映射,这种方式中会自动生成JDBC调用来自动地将Java对象和关系数据库中的数据对应起来。另外,JDO对象也可以直接保存到文件中,达到与对象数据库一样的功能和性能。 在WGF里,我们使用了Sun

22、的JDO参考实现。 Java 虚拟机 JDO持久化管理器 JDO 实例 查询 事务 应用程序 Java对象 Java对象 Java对象 JDO持久化管理器器 JDO 实例 JDO 实例 查询 事务 数据存储1 数据存储2 图5 JDO架构 在数据访问层采用对象-关系映射技术的结果是,使得空间数据可以使用对象的概念来扩展表达,避免结构化表达的局限性;同时,数据库的设计可以使用面向对象的方法。 2.4 WGF架构概览 将这三层构建成一个总体是按照典型

23、的三层结构来进行的,如图6所示。 其中,表现层中主要是提供MVC模式的实现支持,分别由包MVCMini提供Java application/applet开发支持,使用Apache Struts提供B/S方式的开发支持。在逻辑层中提供Java APIs,主要的Java包是spatools,以提供空间操作的功能,在数据访问层使用O/R Mapping技术,为空间数据库的面向对象设计提供了支持,在具体实现上使用了Sun公司关于JDO的参考实现产品。 逻辑层 Java APIs for Spatial Operation 数据访问层 Java Data Object RI Re

24、lational Database 表现层 View Controller er Model 图6 WGF架构概览 2.5 WGF运行示例 在WGF上实现了一个小的Java Applet示例 - 美国各州种族分布。 使用的数据为ESRI shape文件格式(包含几何位置信息和属性信息),下面为该shape文件的信息(使用工具为ESRI ArcView):如图7、图8。 图7 使用的ESRI Shape文件的几何位置信息 图8 使用的ESRI Shape文件的

25、属性信息 在这个开发示例中,结合使用了spatools、Sun JDO RI和MVCMini。在这个示例中,可以进行简单的平移和放大的操作。各个州的种族分布有两个视图:分别由饼状图和块状图表示。示例程序运行的主界面如图9所示: 图9 开发示例-美国人种分布 图中所示的是Texas州的种族分布的状况。饼状图显示种族组成状况;块状图中使用色阶的方式显示某个种族的人口密度,上图给出的是白人的在各州的人口密度状况。 在这个示例中,我们使用WGF实现了交互界面的多视图,以及基本的GIS功能。虽然处于原型阶段的WGF框架的功能相当有限,但它表达了我们的努力的方向——表现层设计引入M

26、VC模式支持多视图的开发,空间数据对象化扩展支持。 3 结束语 虽然WGF目前只是一个原型的实现,在可用性上难以和商业化的产品相比,但在框架设计中使用Java技术和引入软件开发技术的设计模式和方法,使得WGF具有以下的潜在优势: ① 表现层具备对MVC模式的开发支持,可以更好实现交互界面的开发。 ② 逻辑层提供的Java APIs强调空间操作和分析的功能,使WebGIS的应用开发不只是局限于提供地图服务,可以进行的空间分析功能的开发。 ③ 数据访问层使用对象-关系映射的方式,使得空间数据可以使用对象的概念来扩展表达,避免结构化表达的局限性;同时,数据库的设计也可以使用面向对象技术。

27、 ④ 框架引入和实现MVC设计模式及对象-关系映射,使得应用程序的开发可以实施完全的面向对象技术。 ⑤ 整个框架完全基于Java平台,Java语言本身的优点,平台功能的强大性和基于Java技术的开源项目的蓬勃发展,都使得这个基于Java技术的框架具有很大的扩展性。 ⑹ 遥感作为GIS系统数据获取的主要来源,数据处理结果的对象化是其发展方向;在框架中提供数据模型的对象化的支持,也使得遥感数据作为GIS系统的大规模数据的实时更新数据源成为可能。 软件的大规模生产是这个行业的不可逆转的趋势,人们将越来越重视系统的分析和设计。WebGIS是一个很有技术挑战的应用领域,与电子商务的需求有着很大的

28、差别,既要考虑在Internet这样一个复杂环境中的应用问题,又需要考虑到空间数据的存取和管理。新的设计模式和方法还在不断涌现,WebGIS的需求也在不断的提高中,开发人员对现有框架是永远感到无法满意的。不断地了解新的应用需求,理解软件开发新的成功模式和方法,才能不断的改进我们的框架。 参考文献 【1】 阎君.分布式GIS应用服务模型及应用研究.中国科学院遥感研究所博士学位论文,1998 【2】 "WMS and GML based Interoperable Web Mapping System". In proceedings of the 9th ACM Interna

29、tional Symposium on Advances in Geographic Information Systems. ACMGIS 2001 (Nov. 2001), ISBN 1-58113-443-6. 【3】 邬伦,张晶,唐大仕,刘瑜. 基于WebGIS的体系结构研究. 地理学与国土研究. 2001年11月,第17卷第4期. 【4】 Paul J.Perrone,et al.著,《Building JavaTM Enterprise Systems with J2EE》,清华大学出版社,2001.6 【5】 宋关福等.WebGIS—基于Internet的地理信息系统

30、中国图像图形学报,1998,3,25 1~254 【6】 缪海岚,邬群勇,王钦敏. WebGIS理想模型. 福州大学学报(自然科学版), 2001,04期 【7】 康冬舟,周枫. 基于CORBA技术的WebGIS应用模型. 东北测绘, 2001, 03期 【8】 张怀莉,王卫安. 几种Web GIS技术解决方案综述. 东北测绘,2000,03期 齐剑玲:博士研究生,硕士导师。 研究方向:电子技术应用,计算机应用技术,模糊控制,神经网络等。 工作单位:中国地质大学(北京),信息工程学院,电气工程及其自动化教研室。 电 话:010-823211

31、70(H) 13651036554(手机),邮编:100083 E-mail:Qijianling@Mail.C 工控机在工业锅炉温度检测控制系统中的应用 The Application of IPC on Temperature Detecting Control System for Industrial Bolier 中国地质大学(北京)齐剑玲[1] 海淀走读大学 曾玉红[2] China University of Geosciences(Beijing) Qi,Jianling Beijing City College Zeng,Yuhong

32、1. 车间管理子ERP系统的设计与研究 Design and Research of Workshop Managerment ERP Subsystem 基于Java技术的WebGIS框架研究 齐剑玲,阚虎 (中国地质大学,北京 100083) Java-based WebGIS Framework Research QI Jian Ling , KAN Hu (China University of Geosciences, Beijing 100083.China) 齐剑玲:博士研究生,硕士导师。 研究方向:电子技术应用,计算机应

33、用技术,模糊控制,神经网络等。 工作单位:中国地质大学(北京),信息工程学院,电气工程及其自动化教研室。 电 话:010-82321170(H) 13651036554(手机),邮编:100083 E-mail:Qijianling@Mail.C Qi,Jianling:PhD,Master Instructor Research Direction:The Application of Electronic Technology,Computer Science & Technology, Fuzzy Control Technology,Neural Network etc. Unit:China University of Geosciences(Beijing),Information Engineering College 9

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服