基于java技术的webgis框架研究

上传人:第*** 文档编号:32636566 上传时间:2018-02-12 格式:DOC 页数:9 大小:221.50KB
返回 下载 相关 举报
基于java技术的webgis框架研究_第1页
第1页 / 共9页
基于java技术的webgis框架研究_第2页
第2页 / 共9页
基于java技术的webgis框架研究_第3页
第3页 / 共9页
基于java技术的webgis框架研究_第4页
第4页 / 共9页
基于java技术的webgis框架研究_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《基于java技术的webgis框架研究》由会员分享,可在线阅读,更多相关《基于java技术的webgis框架研究(9页珍藏版)》请在金锄头文库上搜索。

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

2、提供一个有意义的参考实现。关键词: Java、万维网地理信息系统、框架、设计模式、模型视图控制、对象关系映射Java-based WebGIS Framework ResearchQI 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 desig

3、n preliminary 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 relev

4、ant spatial 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

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

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

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

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

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

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

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

12、描述了 PAC。PAC 的第一个应用是在人工智能领域。(2) MVC 模式MVC模式把一个交互式应用程序分成三个相互协调的部分:如图 1。Model(模型)模型用于封装系统的状态View(视图)是模型的表示,提供用户交互界面。当模型状态发生变化时,视图应该得到通知,以便更新视图。Controller(控制器)接受来自视图的请求,修改模型的状态。方法调用对象关系映射服务持久化对象连接池服务关系型数据库模型视图 控制器用户操作更 改 状 态更改通知状 态 查 询更新视图事件图 1 MVC 模式图 图 2 对象关系映射实现结构MVC 是一个比较高层的模式,它由多个更基本的设计模式组合而成,Model

13、-View 的关系实际上是Observer模式,模型的状态和视图的显示相互响应,而 View-Controller则是由 Strategy模式所描述的,View用一个特定的 Controller的实例来实现一个特定的响应策略,更换不同的 Controller,可以改变View对用户输入的响应。而其它的一些设计模式也很容易组合到这个体系中。比如,通过 Composite模式,可以将多个 View嵌套组合起来;通过 Factory Method模式来指定 View的 Controller。MVC 可以看作是一些模式进行组合之后的结果(实际上,MVC 的出现要早于设计模式的提出,这里只是对它在设计模

14、式的基础上进行再分析) 。如果没有一些基础,理解 MVC或许会有一些困难。1.2 Java平台的数据访问技术数据访问技术在很长一段时间里,基本处于停滞状态。面向对象和 Java给该领域注入了活力。在 Java平台上目前主要有以下三种技术: JDBC (Java Database Connectivity) EJB-CMP/CMR (Enterprise Java Bean) O/R Mapping (Object/Relation) JDBC 是一种类似 ODBC 的数据访问技术,应用系统的设计需遵循传统的关系模式。 EJB-CMP/CMR 是一种“内存数据库”方式的实现,是一种基于对象的技术

15、,已有面向对象设计的雏形;但 Entity Bean 的低效率,依赖于容器的实现方式,使得在实际应用中效果并不好。 (CMP :容器管理的持久性(Container-Managed Persistence),CMR :容器管理的关系 (Container-Managed Relationships)) 。 O/R Mapping(对象/关系映射)近些年来,随着面向对象技术逐渐深入人心,人们开始考虑用面向对象的思想进行数据库的设计以取代多年以来的 E-R模型的方式。面向对象设计基于如耦合、聚合、封装等理论,而关系模型基于数学原理。不同的理论基础导致了不同的优缺点。对象模型侧重于使用包含数据和行为

16、的对象来构建应用程序;关系模型则主要针对于数据的存储。当为访问数据寻找一种合适的方法时,这种不匹配就成为了主要矛盾:使用对象模型,常常通过对象之间的关系来进行访问;而根据关系数学理论,则通过表的连接、行列的复制来实施数据的存取。这种基本的不同使两种机制的结合并不理想。换言之,需要一种映射方法来解决这个矛盾,从而获得成功的设计。图 2为一个典型 O/R Mapping 技术的实现结构:2 WGF(Web GIS Framework)原型的设计WGF 原型我们是按照 Web 应用典型的三层结构来构建,并完全基于 Java 技术实现的。表现层中引入MVC 模式,数据访问层使用对象关系映射技术,逻辑层提供有关空间操作的 Java APIs.以此作为框架的基本组成单元。下面分别说明 WGF 原型的设计和实现。2.1 表现层设计选择原则从两个方面来考虑,一是通常一个 WebGIS应用系统,数据量比较大,效率的问

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 职业教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号