(计算机应用技术专业论文)地图服务平台中连接器的设计与实现.pdf_第1页
(计算机应用技术专业论文)地图服务平台中连接器的设计与实现.pdf_第2页
(计算机应用技术专业论文)地图服务平台中连接器的设计与实现.pdf_第3页
(计算机应用技术专业论文)地图服务平台中连接器的设计与实现.pdf_第4页
(计算机应用技术专业论文)地图服务平台中连接器的设计与实现.pdf_第5页
已阅读5页,还剩45页未读, 继续免费阅读

下载本文档

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

文档简介

摘要 地图服务平台是基于基础w e b g i s 开发和运行环境的二次,干发平台,本文中 讨论的地图服务平台是基于a r c l m s ,由构件层和连接器组成,面向应用开发, 提供通用的地图功能。基于地图服务平台开发应用系统可以缩短系统的开发周 期,降低系统开发和系统扩展的难度。同时地图服务平台可以很好的解决地理信 息系统与其它应用系统的互操作问题。 连接器是地图服务平台的一个重要组成部分,本文在分析了a r c i m s 自带连 接器特点和不足的基础上。提出了一个适合地图服务平台的专用连接器。专用连 接器主要功能是通讯和a r c x m l 处理,在分析了可能的实现技术后,我们为连接 器选择了合适的通讯手段和处理a r c x m l 的方式。并在此基础上设计实现了个 专用连接器。 最后在。n e t 环境下,为基于w e bs e r v i c e s 地图服务平台设计并实现了了一个 专用连接器的原型系统。连接器的实现主要包括对象模型、a r c x m l 处理以及连 接代理类的实现。并对连接器可用性和性能作了相应的测试。专用连接器在基于 w e bs e r v i c e s 地图服务平台得到了很好的应用。 本文所作的工作有以下几点: 1 分析- j w e b g i s 的技术特点和发展现状并且分析了地图服务平台的优势特 点及体系结构。 2 分析和比较了现有的连接器的特点和不足,在此基础上设计了一个比较 适合地图服务平台的连接器。 3 完成基于w e bs e r v i c e s 地图服务平台中连接器的实现和测试工作。 关键词:w e b g i s ,中间件,连接器,地图服务平台。w e bs e r v i c e s a b s t r a c t m a p s e r v i c ep l a t f o i t ni sb a s e do nt h eb a s i ce n v i r o n m e n t o f t h ew e b g i s s d e v e l o p m e n t a n d r u n n i n g ,i t i sm a d e u po f t h ec o m p o n e n t sl a y e ra n d t h ec o n n e c t o r , a n di ti sa p p l i c a t i o n - o r i e n t e da n dp r o v i d e sf o rc o m m o nm a p f u n c t i o n i fw e b g i s s d e v e l o p m e n t i sb a s e do nm 印s e r v i c ep l a t f o r m ,t h ec y c l eo f d e v e l o p m e n tw i ub e s h o r t e n e da n dt h ed i f f i c u l t yo fd e v e l o p m e n tw i l lb er e d u c e d t h ec o n n e c t o r p l a y sa ni m p o r t a n tr o l ei nm a p s e r v i c ep l a t f o r m a f t e ra n a l y z e d t h ec h a r a c t e r i s t i c sa n dd i s a d v a n t a g e so f o r i g i n a lc o n n e c t o r sf o ra r c l m s ,t h i sp a p e r p u t sf o r w a r d as u i t a b l es p e c i a lc o n n e c t o r t h ec o m m u n i c a t i o na n dt h ep r o c e s so f a r c x m la r et w om a i nf u n c t i o n so ft h es p e c i a lc o n n e c t o r a f t e rt h ea n y l a s i so fa l l p o s s i b l et e c l 血q u e ,w e s e l e c t e das u i t a b l ew a yt oc o m m u n i c a t ea n dd e a lw i t h a r c x m la n d d e s i g n e d a s p e c i a lc o n n e c t o r f o rm a ps e r v i c ep l a t f o r m f i n a l l y ,i nt h ee n v i r o n m e n to f n e t ,as p e c i a l c o n n e c t o rf o rm a ps e r v i c ep l a t f o r m b a s e do nw e bs e r v i c e si sd e s i g n e da n dd e v e l o p e d o b j e c tm o d e l 、d e a l i n gw i t l l a r c x m la n dc o n n e c t o rp r o x yi sd e v e l o p e ds e p a r a t e l y t h es p e c i a lc o n n e c t o ri sw e l l a p p l i e dw e l lf o rm 印s e r v i c ep l a t f o r mb a s e d o nw e bs e r v i c e s n l em a i nr e s e a r c hw o r k sa r ea sf o l l o w s : 1 a n a l y z e t h ec h a r a c t e r i s f i c sa n ds t a t u si nq u oo fw e b g i sa n da n a l y z et h e a d v a n t a g e sa n d s t r u c t u r eo f m a ps e r v i c ep l a t f o r m 2 a n a l y z eo r i g i n a lc o n n e c t o r sf o ra r c i m s a n dc o m p a r ee a c ho t h e r o nt h e b a s e ,t h es p e c i a lc o n n e c t o r f o rm a ps e r v i c ep l a t f o r mi sd e s i g n e d 3 d e v e l o p a n dt e s tt h es p e c i a lc o n n e c t o rf o rm a ps e r v i c ep l a t f o r mb a s e do n w e bs e r v i c e s k e y w o r d s :w e b g i s ,m i d d l e w a r e ,c o n n e c t o r ,m a ps e r v i c ep l a t f o r m ,w e b s e r v i c e s 河海大学硕士学位论文 地图服务平台中连接器的设计与实现 第一章绪论 1 1 本文研究背景 近些年来,由于网络技术的蓬勃发展,随着i n t e r n e t 的商业化趋势,以 及w w w 的风行,通过将网络技术与g i s 技术有机结合,集成g i s i 拘功能,把地理 信息作为w w w 的一种基础信息源,能够在网上发布地理信息,进行空间要素的 属性查询和空间分析,并且为不同层次层面的用户提供适当的操作层面和界 面。w e b g i s 并不包括g i s 的所有内涵,但是它最终将影响g i s ,w e b g i s 可以使 g i s 从学校、研究所走进政府机关、商业机构、宾馆、医院、甚至居民家庭, 可以使g i s 真正大众化,也就必将对g i s 的功能、数据组织管理、系统的应用模 式、软件开发、用户界面等多方面提出新的要求,从而使g i s 发生质的飞跃。 各g i s 厂商也致力于开发w e b g i s 的相关产品,目前已有许多g i s 厂商推出 w e b g i s 的开发工具,如e s r i 公司的a r c v i e wi m s 、m a p o b j e c t si m s 及a r c l m s 、 a u t o d e s k 公司的m a p g u i d e ,m a p l n f o 公司的m a p x s i t e 、m a p x t r e m e ,i n t e r g r a p h 公司的g e o m e d i aw e b m a p 等。其中a r c l m s 是比较成熟的w e b g i s 开:发工具。 随着技术的发展,w e b g i s 得到了越来越多的应用,一般来说在w e b g i s 基础 开发环境下开发应用系统是一般采用的方法,这就要求开发人员不仅要熟悉应 用系统的业务逻辑,而且要熟悉所采用的g i s 开发工具和开发:环境,了解一些 底层信息以及开发通用的地图功能。这种开发方式,一方面开发的难度比较 高;另一方面,系统的稳定性和可扩展性无法得到保证。 为了解决这些问题,我们在w e b g i s 应用系统开发中引入了中间件技术。构 建一个基于w e b g i s 基础开发和运行环境的二次开发平台,本文称为地图服务平 台,地图服务平台是对w e b g i s 基础开发和运行环境的进一步功能集成和功能扩 展,是根据我们在利用w e b g i s 基础环境进行项目开发时的经验,将可能遇到的 共性的问题抽象剥离出来形成一套a p i 开发包或者一系列组件,并整合成在一 起,构成一个有机的开发平台。 1 2 地图服务平台的研究现状 地图服务平台是对w e b g i s 基础开发和运行环境的一个扩展,可以是基于空 第l 页 河海大学硕士学位论文 地图服务平台中连接器的设计与实现 间数据库,直接从基础的点、线、面等地理对象构建基础开发和运行环境并扩 展,也可以基于成熟的g i s 平台开发,为g i s 开发者提供一个w e b g i s 基础开发和 运行环境的二次开发平台,方便用户进行开发,提高系统的稳定性;同时方便 将g i s 信息加入其它应用系统中去,实现g i s 在各个系统中的共享。 目前,图行天下公司和北大方正公司都在开发自己的地图服务平台。他们 的地图服务平台都基于m a p x t r e m e ,采用不同的技术完成,适用于不同的平 台,并且在实际的项目开发中取得了很好的应用,缩短了项目的开发周期,提 高了系统的稳定性。 a r c l m s 同样也是一个主流的w e b g i s 开发运行环境,但是基于a r c i m s 的地图 服务平台目前还没有得到很好的研究。项目组借鉴已有地图服务平台研究经 验,提出了一个基于a r c l m s 的地图服务平台,其中连接器是本文的研究重点。 1 3 本文主要工作 论文研究工作采用理论研究和实践相结合的方式进行,首先研究了w e b g i s 技术特点、发展趋势,以及实际应用中存在的不足,然后分析了地图服务平台 的特点和体系结构,在此基础上,分析比较一些常用的连接器,结合地图服务 平台的特点,设计并实现了一个比较适合地图服务平台的连接器原型。 主要工作如下: 1 分析了w e b g i s 的技术特点和发展现状。 2 分析了地图服务平台的优势特点以及体系结构。 3 分析和比较了现有的连接器的特点和不足,在此基础h 设计了一个比 较适合地图服务平台的连接器。 4 完成基于w e bs e r v i c e 地图服务平台中连接器的实现和测试工作。 1 4 本文组织 本文的章节安排如下: 第一章为绪论 本章主要介绍论文的研究背景、研究现状以及研究的主要内容 第2 页 河海大学硕士学位论文 地图服务平台中连接器的设计与实现 第二章研究w e b g i s 以及其体系结构 本章主要介绍w e b g i s 的定义、特征、需要考虑的一些问题以及体系结构; 第三章研究地图服务平台的结构特点和连接器 本章主要介绍地图服务平台的产生背景,优势、体系结构和现有连接器的 特点和不足,分析了专用连接器的必要性和技术选择,设计了一个比较通 用的连接器结构。 第五章介绍地图服务平台中连接器的实现 本章首先给出了原形系统的结构和工作流程,以及原型系统中对象模型等 部分的实现,最后给出了原型系统的一个测试。 第3 页 河海大学硕士学位论文 地图服务平台中连接器的设计与实现 第二章w e b g i s 及其体系结构 w e b g i s 是g i s 与w w w 的有机结合,是g i s 在广域网环境下的一种应用,最终目 标是实现空间信息网络化。g i s 通过w w w 使功能得到了扩展( 实际上是两者互为 扩展) ,真正成为一种大众使用的信息工具。从w w w 的任意一个节点,人们可以浏 览w w w 上的各种分布式的、具有超媒体特性的地理空间数据及属性数据,进行地 理空间分析、查询,以支持智能辅助决策。通过对空间信息网络化和超媒体技术 的集成,w e b g i s 提供给用户的信息不仅仅是矢量化的空间信息,还有遥感影 像、动态视频、文字说明等多种信息。 2 1w e b g i s 的产生 1 9 6 0 年,r o g e r f t o m l i n s i o n 博士提出“把地图变成数字形式的地图,使之 更利于计算机处理和分析”。当时,很少有人能够看到计算机在这个新领域中的 应用前景。但正是这个思想,导致了地理信息系统的诞生。同样。在1 9 6 5 年,当 w l g a r r i s o n 在一个会议上提出“地理信息系统”这个术语时,也很少有人想到 它会成为一个新兴产业信息产业的拳头产品。然而,奇迹出现了:从1 9 6 3 年 至今短短三十几年中,数字地图的思想火花燃起了地理信息系统蓬勃兴起的燎原 大火,1 9 9 8 年1 月,美国副总统戈尔更是提出了“数字地球”的新概念。地理信 息系统的发展,开辟了地理信息产业化的道路。 自1 9 6 3 年加拿大为了开展土地资源调查而建设了世界上第一个地理信息系统 ( g i s ) 加拿大地理信息系统( c g i s ) 以来,随着计算机技术的高速发展, g i s 也在不断发展,并在许多国家和地区的各个部门和领域得到迅速的发展和广 泛的应用。 从7 0 年代起,g i s 开始向实用化方向发展,一些经济发达的国家先后建立了各 种专题性g i s ,并在自然资源的管理和规划方面发挥了重要作用。8 0 年代是g i s 理 论、方法和技术逐步成熟,并开始进入推广、普及的阶段。这个时期,地理信息 系统的应用从基础信息管理与规划扩大到对跨行业、跨地区的综合问题进行管理 决策分析,并与遥感( r e m o t es e n s e ,r s ) 、全球定位系统( g l o b a lp o s i t i o n s y s t e m ,g p s ) 等空间信息技术结合起来以解决各种全球性问题。 进入九十年代以来,计算机网络技术的发展为g i s 注入新的生机和活力,从硬 件资源共享、远程数据交换到分布式计算使得g i s 应用到更广泛的领域和更很的 第4 页 河海大学硕士学位论文 地图服务平台中连接器的设计与实现 层次,并由此产生了一些新的g i s 技术。 w e b g i s 是g i s 与分布式计算技术相结合的产物,它将目前作为信息发布平台 的w e b 作为一个能够承载地理空间信息的平台,在w e b 上提供地理空间数据的共享 访问。从i n t e r n e t 的任意一个节点,人们可以浏览网上的各种分布式的,具有超 媒体特性的地理空间数据及属性数据,进行地理空间分析、查询等。 2 2w e b g i s 的基本特征 w e b g i s 可以简单定义为在w e b 上的g i s 。目前i n t e r n e t 正在以惊人的速度迅速 蓬勃发展,在这样的情况下,如何将g i s 弓i 入i n t e r n e t 世界,使g i s 充分利用和发 挥计算机网络的优势,成为g i s 发展研究的一佃重要课题。与传统的g i s 相比, w e b g i s 具有以下的特征: 1 w e b g i s 具有更广泛的应用层面 w e b g i s 使用者可以同时访问多个不同地理位置上的服务器上的最新地图信 息,而i n t e r n e t 所特有的优势大大方便了地理信息管理,使分散式的多地理信息 模式的管理与合成更容易实现。1 。 2 w e b g i s 具有平台独立性 无论服务器或客户端是何种机器,使用何种操作系统,w e b g i s j 艮务器端使用 何种g i s 软件,通过使用了通用的w e b 浏览器,使用者就可以很方便的使用g i s 资 料,对本机或者某个服务器上的空间资料进行处理与分析,实现远程资料共享的 目标。 3 w e b g l s 具有强大的数据管理和组织能力 随着g i s 自身的发展,系统管理的数据量随着时间和种类的多样化在不断地 膨胀,i n t e r n e t 和w 1 】1 v 的出现更是推波助澜,数据的更新速度不断加快:由于 g i s 技术和应用服务系统以及相应设施日益渗透和传入社会生活的各个部门、角 落,数据来源也在呈几何级数增加。因此,w e b g i s 需要存贮和管理极大数量的空 间信息,并有能力在大量用户同时通过网络对其进行访问时快速响应,因此在数 据管理上与传统g i s 相比有如下特点。1 : 采用大型数据库管理系统 具有高性能的空间数据提取和分析功能 分布式的数据管理 引入面向对象的概念,将数据和数据行为紧密结合 4 w e b g i s 功能具有一定的侧重性 第5 页 河海大学硕士学位论文 地图服务平台中连接器的设计与实现 传统g i s 强调系统功能的完整性,一般要求系统能完成数据的采集、编辑、 存贮维护、更新等功能,能对数据进行查询、制图,能对数据进行空间分析和模 型分析。w e b g i s 的主要功能侧重于信息发布、空间分析、模型分析和制图。用户 当然可以通过哪对原始数据进行实时采集和编辑,但这样做的意义似乎并不 大,因为,数据的采集和编辑功能逐渐成为一种社会工程,大部分有用的数据可 从网上收集,而不需重复劳动。1 。 5 w e b g i s 具有很广的应用范围 传统g i s 多应用于地学领域和一些管理决策部门,w e b g i s 将g i s 的应用扩展 至整个社会的方方面面,包括旅游、交通等,使得g i s 的应用大众化。同时, w e b g i s 易与网上的信息服务融为一体,通过各种信息导航工具,或元数据 ( m e t a d a t a ) ,就可在丰富的网络资源中查到所需的地理信息,并使用服务器提 供的各种g i s 功能,如制图、空间查询、空间分析等进行信息的二次加工。 2 3 w e b g i s 的体系结构 w w w 至今已经有十多年的发展历史,w e b g i s 也有了相当不错的发展,这充分 证明t w e b g i s “走大众化道路”的正确性。w e b g i s 目前的功能以地图信息发布为 主,并辅以交互式的空间数据查询和空间分析功能。 从系统构成的角度来看,w e b g i s 是由w e b g i s 浏览器、w e bj 艮务器、w e b g i s 服 务器、地图服务器四部分组成,其基本的系统结构“1 如图2 1 下所示。 1 w e b g i s 浏览器 图2 1w e b g i s 体系结构图 第6 页 河海大学硕士学位论文地图服务平台中连接器的设计与实现 w e b g i s 浏览器是直接面对最终用户的交互界面,反映着w e b g i s 的功能和系 统数据表现方式。g i s 系统有着其特定的数据表现方式,为实现方便用户使用, 获得空间信息需要建立一个符合用户查询习惯,同时又能动态反映空间信息数据 的浏览器,该浏览器或者以专用浏览器的形式、或者以通用浏览器的插件形式出 现。其基本功能为: w e b g i s 图形、属性数据显示 响应用户交互式操作请求 提供空间查询对话框,支持对地理对象的访问 提供一些地理信息的分析和统计 2 w e b 服务器 w e b g i s 服务器介于w e b g i s 浏览器和w e b g i s 服务器之间,承载着w e b g i s 应 用程序,负责将w e b g i s 浏览器对空间地理信息的请求传递给相应的w e b g i s 服务 器并返回。通过这种信息代理机制,可以在整个系统中合理地分配各部分功能, 平衡网络负载,以达到减少网络传输带宽,增大请求响应速度的目的。其基本功 能为: 接受并分析w e b g i s 浏览器请求的类型和内容,判断采用何种方式完成浏 览器请求,并将请求发送到适当的w e b g i s 服务器 将w e b g i s 服务器发送的请求结果数据包传送到适当的w e b g i s 浏览器 3 w e b g i s 服务器 提供易于配置和管理的w e b g i s 服务器。该服务器能解释中间代理请求并根 据查询请求对地图库服务器进行空间操作,实现w e b g i s 浏览器和w e b g i s 服务器 的动态交互。采用空间元数据管理技术,对分布异构的空间数据源进行描述与索 引,提供网络空间信息导航访问:结合分布式对象技术,提供对分布式超媒体 g i s 数据的访问。其基本功能为: 接收并解析w e b g i s 浏览器和w e b g i s 编辑器的请求 支持g i s 数据查询、应用模式的自动化及其管理 处理g i s 数据的查询结果,打包回应w e b g i s 浏览器和w e b g i s 编辑器 提供对g i s 服务器的优化配置和事务管理 提供与w e b g i s 浏览器和w e b g i s 编辑器的集成接口 提供与空间数据库服务器的接口 提供系统外部扩展接口 4 地图服务器 第7 页 河海大学硕士学位论文地图服务平台中连接器的设计与实现 地图服务器管理空间数据库,同时对外提供空间信息的服务器。一般会提 供一个所见即所得的编辑生成环境,具有可视化、交互式多窗口的功能,可用工 具条、菜单、快捷键来创建链接。提供对空间数据库数据导入导出功能,特别是 可对多个数据源的g i s 数据按指定结构导入空间数据库。实现通过连接器与 w e g i s 服务器、浏览器及相关的子系统的无缝连接,形成完整的g i s 模型、g i s 数 据结构和g i s 对象的编辑及表现环境,集成h t m l 网页制作与g i s 对象编辑的功 能。其基本功能为: 把物理上分布的w e b g i s 数据库统一成一个逻辑的整体 提供与w e b g i s 服务器的接口 提供外部数据的导入导出接口 2 4w e b g i s 的实现方式 w e b g i s 的基本工作模式如下:用户启动客户端的交互程序( 通过w e b g i s 浏 览器) ,通过客户端交互程序由代理协议向服务器发送请求,并对服务器回送的 数据进行显示、操作,使用其提供的g i s 功能:如果用户操作的完成被定义在服 务器一端,客户端交互程序还会将新的请求发回服务器,服务器则运行服务端的 g i s 应用,并再次将结果返回到客户端,由客户端交互程序负责解释并显示给用 户。 根据客户端交互程序的工作模式,我们可将w e b g i s 分为基本的三类”1 : 1 c g i s e r v e ra p i 方式。用户通过客户端浏览器向服务器发出请求,服 务器根据请求启动服务器端的g i s 应用程序,处理用户的请求,处理结 果由服务器再传给客户端浏览器。几乎所有的g i s 处理功能都是在服务 器端完成的。 2 p l u g i n 方式。用户事先在客户端安装g i s 应用程序,当访问服务器数 据时,该应用程序将自动启动,提供一些可在本地完成的g i s 处理功 能。 3 j a v aa p p l e t a c t i v e x 方式。用户下载数据的同时,动态下载客户端 应用程序,同样可以在本地完成大部分g i s 的处理功能。应用程序结束 时数据和程序都自动从本地机被清除掉。与p l u g i n 方式相比,这一方 式对客户端的要求较小。 第8 页 河海大学硕士学位论文地图服务平台中连接器的设计与实现 2 4 1c g i s e r v e ra p i 方式 c g i 技术是构建w e b g i s 最先使用的方法,g i s 厂商在其成熟产品的基础上兼 容发展的i n t e r n e t 解决方案,m a p i n f om a p x t r e m e 是采用c g i 方案的代表。c g i 是 w w w 服务器调用外部进程( c g i 进程) 时的参数规范协议,它规定了一组标准的环 境变量和参数格式,提供了一个在浏览器和服务器间,以及服务器和服务器上其 它软件之间的一个接口。通过c g i ,用户可以发送一个请求到服务器上,服务器 自动把这个要求转到后端的应用软件( c g i 进程) 上,c g i 进程根据w w w 服务器上 设置的环境变量和传递参数采取动作后生成响应结果,通过协议规定的格式返回 给服务器,服务器再把这一结果送回给远程用户。这样就能够实现实时执行,进 行动态的信息交换了。 图2 2c g i 方法流程 处理流程解释如下: 数据的请求或查询条件由浏览器提交,并通过h t t p 协议传递到w w w 服务器。 w w w 服务器将收到的请求包传递到相应的c g i 服务程序中。 c g i 程序根据输入的数据请求来进行相应处理,这一过程中可能要访问数据 文件或数据库。 c g i 程序把处理结果以h t m l 文本的格式输出给w 珊服务器。 w w w 服务器再把最终结果通过h r t p 协议返回给浏览器,从而完成了一次交互 过程。 c g i s a p i 的工作方式基本适合于基于w e b g i s 的接口编程要求。远程用户仅仅 需要w w w 浏览器而不需其他配置,就可以发出对地理数据的请求,服务器端则将 这些请求发送到后端相应的g i s 软件中,进行相应的空间信息处理,并将结果数 第9 页 河海大学硕士学位论文 地图服务平台中连接器的设计与实现 据以专题图为主的形式返回给客户端,这样就将传统的g i s 与当今的网络浏览、处 理紧密地结合在一起,实现了空间信息网上传输的目的。 但c g i s a p i 应用于w e b g i s 还存在着许多方面的不足。首先很难同时运行多个 c g i 程序;其次,这种方法需要后台g i s 软件一直处于运行状态,这不仅要求g i s 软件所在的服务器一直保持联机状态,而且也需要消耗一定的系统资源。另外从 服务器方面驱动的c g i 必须和某个特定的数据库服务器的专用s q l 语言手工编写数 据库接口,同时还存在网络安全问题和有限的交互性问题。 2 4 2 插入法( p l u g i n ) 基于c g i 的w e b g i s 系统提供给用户的只是一些有限的g i s 功能,传递给用户 的都是静态的信息,而且用户的g i s 相关操作都需要由服务器端来处理,这样就 造成一些网络带宽和负载问题,解决这些问题的方法是把一部分服务器上的功 能移到客户端上,研制能在客户和浏览器直接交换信息的专门( ;i s 软件,这样可 以大大加快对用户操作的反应速度,而且也减少了网上的数据流量和服务器的 负载。利用在服务端的内容句柄( c o n t e n th a n d l e r ) 扩充一些新的,非标准的 m i m e 类型,而相应的在客户端用扩展组件支持它们,从而增加网络浏览器的功 能,这种方法就叫“插入法”( p l u g - l n ) 。浏览器在启动时自动装载p l u g i n 目 录下的p l u g i n 动态链接库,当遇至i j h t m l 页面中有嵌入的非标准的m i m e 文件格式 时,自动在p l u g i n 动态链接库中寻找对文件后缀匹配的p l u g - l n 进行调用,以 访问相应的嵌入文件。 p l u g i n 可用任何语言开发,只要符合p l u g i n 的开发模板规范。自从推出 p l u g i n 的规范标准后,各大软件厂商纷纷推出了针对自己数据产品的p l u g i n , 用以解释自己格式的数据文件。目前,网上的p l u g - i n 主要分为文本、多媒体声 音与图象、2 d 3 d 数据等多种类型,种类繁多,功能不一。在g i s 领域,目前已有 多家厂商研制了这种插入型软件如a u t o d e s k 的m a p g u i d e ,它也可以处理许多矢量 数据。 由于w e b g i s 的p l u g i n 嵌入在浏览器中,获得了对随着h t m l 页面传回的空 间数据的解释、显示、操作、分析的权力,将一个个空间实体呈现在用户面 前,使得大部分交互过程能在客户端完成,只在需要时再向服务器( 扩展了功 能的服务器) 发送请求,因而大大降低了网络的开销,增强了程序的灵活性。 但它需要先安装,再使用,对上网用户来讲,甚为不便,而且存在版本管 理和版本之间的兼容性等问题。 第1 0 页 河海大学硕士学位论文 地图服务平台中连接器的设计与实现 2 4 3 j a v aa p p l e t a c t i v e x j a v aa p p l e t 是用j a v a 语言编写的、可以嵌在h t m l 页面中的小应用程序; a c t i v e x 是一项在微软公司o l e 技术基础上发展起来的交互网新技术,它的基础是 d c o m ( d i s t r i b u t e dc o m e n o no b j e c tm o d e l ) ,基于这种标准研制出来的软件与 3 a v aa p p l e t 相似,也可在交互网上运行。 1 a c t i v e x 模式 a c t i v e x 控件是用于完成具体任务和信息通讯的软件模块,g i sa c t i v e x 控件 用于处理g i s 数据和完成分析。a c t i v e x 模式和p l u g i n 非常相似,是为扩展w e b 浏 览器的动态模块,而两者不同的是,a c t i v e x 能被支持o l e 标准的任何程序语言或 应用系统所使用,p l u g i n 只能在某一个具体的浏览器中使用。 基于g i sa c t i v e x 控件的w e b g i s 依赖控件来完成g i s 数据的处理和显示,g i s a c t i v e x 控件和w e b 浏览器灵活无缝的结合在一起,它的工作原理是:w e b 浏览器 发出g i s 数据显示操作要求,w e b 服务器接受到用户的请求,并进行处理,再将用 户所要的g i s 数据和g i sa c t i v e x 控件传送给w e b 浏览器客户端,客户端启动g i s a c t i v e x 控件,对g i s 数据进行处理,完成g i s 操作。 2 j a v aa p p l e t 模式 g i sj a v aa p p l e t 是在程序运行时,从服务器下载到客户机运行的可执行代 码,g i sj a v aa p p l e t 是面向对象语言j a v a 开发的小应用程序,于w e b 浏览器紧密 结合,以扩展w e b 浏览器的功能,完成g i s 的数据操作和g i s 处理,g i sj a v a a p p l e t 最初为驻留在w e b 服务器的可执行代码。 当远程用户访问到包含w e b g i s 的前端功能的j a v aa p p l e t a c t i v e x 的页面 时,j a v aa p p l e t a c t i v e x 的运行代码可动态下载到客户端,不但使用户具备了 在网上解释、显示、操作、分析空间数据的权力,而且免除:r 软件的版本更新和 安装调试之苦。但是由于g i s 数据的保存,分析,结果的存储和网络资源的使用 能力受到限制,用这种方式处理大型g i s 分析任务的能力还不:是很强。 2 4 4 综合评价 一以上对w e b g i s 的实现方式作了详细的分析。分析的内容包括体系结构特征、 工作原理、优点缺点等。w e b g i s 的优点和缺陷对比: c g l 方式简单自然,功能偏弱,我们必须寄希望于浏览器开发商在浏览器 中内置支持空间数据: j a v aa p p l e t 程序编写相对简单,跨平台性能好,但运行速度实在令人烦 第1 1 页 河海大学硕士学位论文 地图服务平台中连接器的设计与实现 恼( 据统计,一段同样功能的普通代码,j a v a 程序执行的速度一般比c c + + 程序 慢1 5 至u 2 0 倍) ,另外,在浏览器每一次访问包含有该j a v aa p p l e t 的页面时,都 要将程序的代码通过网络传到浏览器,当程序的结构复杂、代码量较大时,这种 额外的网络负担往往是很可观的; 而p l u g - i n 方法认为在i n t e r n e t 上速度与效率应位居首位,从而“以兼容 性换效率”;运行时采用本地机代码,程序处理效率高,灵活性强,并且只需用 户进行一次下载和安装。但p l u g i n 的通用性不强,必须推出针对于不同系统平 台的版本,开发周期长,修改、更新也不易进行。 所以,w e b g i s 的实现可以考虑具体的要求来选择实现方式如果主要是地图显 示,则对显示性能要求较高,并且程序结构比较复杂,程序代码量也较大,可以 考虑采用p l u g i n 实现;如果主要是空间信息查询,常需要根据不同的应用项目加 以更改,并且需要和用户进行交流的,可以采用j a v aa p p l e t 实现:而在动态页 面生成等方面,c g i 调用仍然大有用场。当然,随着计算机技术的不断发展,各 种技术也在逐步完善,它们在保持其优势的同时,也逐渐能弥补其自身的弱点与 不足。 2 5w e b g i s 的发展 2 5 1 中间件技术 随着网络计算技术的不断发展,三层或多层体系结构己经成为当前网络应用 程序开发的主要模式。在分布式环境中,无论是硬件平台还是软件平台都不可能 做到统一。在这种情况下,软件的移植性、互操作性和重用性越来越重要,于是 中间件技术应运而生了。 2 5 1 1 中间件定义 中间件”是处于操作系统和应用程序之间的软件,具有标准的程序接口和协 议,可以实现不同硬件和操作系统平台上的数据共享和应用互操作。在具体实现 上,中间件是一个分布式软件管理框架,具有强大的通信能力和良好的可扩展 性。 中间件是在计算机硬件和操作系统之上,支持应用软件开发的系统软件, 它能够使应用软件相对独立于计算机硬件和操作系统平台,为当今的大型分布 式应用搭起了一个标准的平台,把大型企业分散的系统和技术组合在一起,实 现大型企业应用软件系统的集成。 第1 2 页 河海大学硕士学位论文 地图服务平台中连接嚣的设计与实现 中间件具有标准的程序接口和协议,可以实现不同硬件和操作系统平台上 的数据共享和应用互操作。在具体实现上,中间件是一个用a p i 定义的分布式软 件管理框架,具有强大的通信能力和良好的扩展性。 从理论上讲,中间件有以下的工作机制:客户端上的应用程序需要从网络 中的某个地方获取一定的数据或服务,这些数据或服务可能处于一个运行着不 同操作系统和特定查询语言数据库的服务器中c 客户服务器应用程序中负责寻 找数据的部分只需访问一个中问件系统,由中间件完成到网络中找到数据源或服 务,进而传输客户请求、重组答复信息,最后将结果送回应用程序的任务。 2 5 2 2 中间件分类 中间件的产品种类很多。根据中间件在系统中所起的作用和采用的技术不 同,大致划分n 1 为以下五种: 数据库中间件在所有的中间件中是应用最广泛,技术最成熟的一种。一个 最典型的例子就是o d b c ,o d b c 是一种基于数据库的中间件标准,它允许应用程 序和本地或者异地的数据库进行通信,并提供了一系列的应用程序接口a p i , 当然,在多数情况下这些a p i 都是隐藏在开发工具中,不被程序员直接使用。有 过实际编程经验的朋友都知道,在写数据库程序的时候,只要在o d b c 中添加一 个数据源,然后就可以直接在自己的应用程序中使用这个数据源,而不用关系 目标数据库的实现原理、实现机制,甚至不必了解o d b c 向应用程序提供了哪些 应用程序接口a p i 。不过在数据库中间件处理模型中,数据库是信息存贮的核 心单元,中间件完成通信的功能,这种方式虽然是灵活的,但是并不适合于一 些要求高性能处理的场合,因为它需要大量的数据通信,而且当网络发生故障 时,系统将不能正常工作。所谓有得必有失,就是这个道理,系统的灵活性提 高是以处理性能的降低为代价的。 远程过程调用是另外一种形式的中间件,它在客户用e 务器计算方面,比数 据库中间件又迈进了一步。它己经存在了相当长的时间,而且沿用了大多数程序 员都非常熟悉的编程模式一程序员就像调用本地过程一样在程序中调用远程过 程。启动远程的运行,将结果返回给本地程序。启动远程过程的运行,然后将运 行结果返回给本地程序。不但如此,远程调用还可以将程序的控制传递到远端的 服务器当中去。r p c 的灵活特性使得它有比数据库中间件更广泛的应用,它可以 应用在更复杂的客户服务器计算环境中。远过程调用的灵活性还体现在它的跨平 台性上面,它不仅可以调用远端的子程序,而且这种调用是可以跨不同操作系统 平台的,而程序员在编程时并不需要考虑这些细节。r p c 也有一些缺点,主要是 因为r p c 一般甩于应用程序之间的通信。而且采用的是同步通信方式,因此对于 第1 3 页 河海大学硕士学位论文 地图服务平台中连接器的设计与实现 比较小型的简单应用还是比较适合的,因为这些应用通常不要求异步通信方式。 但是对于一些大型的应用,这种方式就不是很适合了,因为此时程序员需要考虑 网络或者系统故障,处理并发操作、缓冲、流量控制以及进程同步等一系列复杂 问题。 消息中间件的优点在于能够在客户和服务器之间提供同步和异步的连接, 并且在任何时刻都可以将消息进行传送或者存储转发,这也是它比远程过程调用 更进步的原因。另外消息中间件不会占用大量的网络带宽,可以跟踪事,并且 通过将事务存储到磁盘上实现网络故障时系统的恢复。当然和远程过程调用相 比,消息中间件不支持程序控制的传递,不过这种功能和它的优势比起来却是无 关紧要的。消息中间件适用于需要在多个进程之间进行可靠的数据传输的分布式 环境。 事务处理中间件是一种复杂的中间件产品,是针对复杂环境下分布式应用 的速度和可靠性要求而实现的。它给程序员提供了一个事务处理的a p i ,程序员 可以使用这个程序接口编写高速而且可靠的分布式应用程序一基于事务处理的应 用程序。事务处理中间件向用户提供一系列的服务,如应用管理,管理控制,已 经应用程序间的消息传递等。常见的功能包括全局事务协调、事务的分布式两段 提交、资源管理器支持、故障恢复、高可靠性、网络负载平衡等等。 对象中间件建立在这样一个简单的概念基础上,即调用位于另一个系统上的 对象的操作。为了访问另一台机器上的一个对象,一个程序必须有一个指向该对 象的引用。通过指针可以访问对象的代码,其中指针必须包含对象的内存地址。 引用在语法上与指针是相同的,使用引用代替指针以及在网络上发送消息的复杂 性是通过中间件来进行隐藏的。与中间件的早期形式比,调用一个远程对象的操 作需要分成两步:获得一个对象的引用然后调用对象的一个操作,但是引用一旦 获得则可以调用对象任意次。目前主要有三个主要的对象中间件标准,c o r b a 、 c o m d c o m 及j a v ar m i ( r e m o t em e t h o d i n v o c a t i o n ) 。c o m d c o m 巩固了微软的战 略,j a v ar m l 只能用于j a v a 到j a v a 的通信。c o r b a 是o m g 组织定义的一个标准, 得到了几乎所有的重要软件供应商的支持。 2 5 2 基于中间件的w e b g i s w e b g i s 本身就具有分布性的特征,很自然的在w e b g i s 开发中引入中间件技术, 基于中间件的w e b g i s ”1 ,其形式和结构与传统的w e b g i s 有很大的不同。 第1 4 页 河海大学硕士学位论文地图服务平台中连接器的设计与实现 图2 3 基于中间件的w e b g i s 结构 在基于中间件的w e b g i s 中,g i s 中间件是最重要的部分,它是具有强大通信 能力和良好可扩展性的、能够处理并发连接以及高效读写现有空间数据库的中间 层。它的功能是接受w e b g i s 应用程序的请求,对请求做出响应处理后根据请求访 问空间数据库,并负责将访问结果返回给w e b g i s 应用程序。 基于中间件的w e b g i s 有以下的特点: w e b g i s 中间件可以无缝地集成到开发环境中,提供精炼美观的显示和操作功 能。利用w e b g i s 中间件,w e b g i s 最终用户和软件集成商只要进行简单的开发 就可快速生产出所需要的应用系统。同时降低了系统的复杂性,可以加快开 发进度

温馨提示

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

评论

0/150

提交评论