




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
w e b g i s 互联网地理信息系统的研究乖实现 摘要 地理信息系统( g e o g r a p h i c a li n f o r m a t i o ns y s l e m ) 是种对空间信息进行 收集、存储、分析和可视化表达的信息管理系统。w e b g i s 是当前g i s 应用的热 点问题和发展趋势。在交通、旅游、公交、医疗、房地产等领域g 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 存在的问题,提出将新兴的s o a p 协议应用到w e b g i s 体系结构中,并 在具体实现方面做了有益的探索,对应该进一步研究的相关问题进行了阐述。 同时,本文还研究了利用o r a c l e 嵌套表进行空间数据的存储和管理等问题, 为g i g 空间数据管理提供了一种新的解决方案。 关键词:分布式,w e b g l s ,中间件,s o a p 第2 页 1 l b b g i $ - - - 互联鼹地理信息系统的研究和实现 a b s t r a c t g e o g r a p h i c a li n f o r m a t i o ns y s t e m ( g i s ) i sa ni n f o r m a t i o ns y s t e mw h i c h c o l l e c t s 、s t o r e s 、a n a l y z e sa n dv i s u a l l ye x p r e s s e ss p a t i a ld a t a w e b g i s i s h o t s p o t a n d t e n d e n c ya fg i s i nt r a f f i c 、t r a v e la n dm a n yo t h e r f i e l d s ,w e b g i s p r o v i d s u s e r s d y n a m i c l y a n d v i s u a l l y g e o g r a p h i c a l i n f o r m a t i o n w e b g i si sam u l t l e t i e rd i s t r i b u t e ds y s t e m t h i sp a p e ra n a l y s e st h e s t r u c t u r eo fw e b 6 i sa n d t h e t e o h n o o g y o fm i d d l e w a r e w e p r e s e n t a t h r e e t i e rw e b g i ss t r u c t u r em o d e l b a s e do nm i d d l e w a r ea n du s e dt h i s s t r u c t u r em o d e li nt h ed a lj a nt r a f f i ci n f o r m a t i o ns y s t e m t h e nw ed e t a i 儿y d e s c r i b et h ed e s i g na n di m 口1 e m e n t a t i o no fd a t a - a c c e s sm i d d l e w a r ea n dg i s a c t i v e xc o n t r 0 1 i tc a nb eu s e df o rr e f e r e n c et oi m p l e n m e n taw e b g i s a c c o r d i n gt o n e w d e v e l o p m e n t o f c o m p u t e rt e c h n o l o g y ,t h i sp a p e r b r i n g sf o r w a r da s o a p o r i e n t e ds t r u c t u r ea n dd i s c u s s e si n t e r r e l a t e d p r o b l e m s t h i sp a p e ra l s os t u d y e dam e t h o dt os t o r es p a t i a ld a t ai n t oo r a c i e n e s t e dt a b l e s t h i sm e t h o dp r o v i d e an e ws c h e m e o f s p a t i a l d a t a m a n a g e m e n t k e y w o r d :d i s t r i h u t e ds y s t e m ;w t b g i s ;m i d d l e w a r e ;s o a p 蒴3 页 w e b o i s - - - 互联网地理信息系统的研究和实现 1 引言 地理信息系统( g e o g r a p h i c a li n f o r m a t i o s y s t e m ,g i s ) 是一门介 于地球科学与信息科学之间的交叉学科,它的任务是采集、存储、管理、分 析和显示地球空间信息。它是以数字化的形式反映人类社会赖以生存的 地球空间的现状和变迁的各种空间数据以及描述这些空间数据特征的属 性。以模型化的方法来模拟地球空间对象的行为,在计算机软、硬件的 支持下,以特定的格式支持输入输出、存贮、显示以及进行地理空间信 息查询、综合分析、辅助决策的有效工具。 1 1w e b g i s 的产生 自从6 0 年代世界上第一个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 作为一个能够承载地理空间信息的平台,在w e b 上提供地理 空间数据的共享访问。从i n t e r n e t 的任意一个节点,人们可以浏览网上的各种 分布式的、具有超媒体特性的地理空间数据及属性数据,进行地理空间分析、 查询,以支持智能辅助决策。通过对空间信息网络化和超媒体技术的集成, w e b g i s 提供给用户的信息不仅仅是矢量化的空间信息,还有遥感影像、动态视 频、文字说明等多种信息。 1 2w e b g i s 的基本特征 1 w e b o l s 是c s 网络系统 第6 页 w e b g is - - - 互联网地理信息系统的研究和实现 w e b g i s 应用客户服务器概念来执行g i s 的分析任务。它把任务分为服 务器端和客户端两部分,客户端可以向服务器发出下载数据、空间查询和分析 等操作请求,服务器或者执行客户的请求并把结果通过网络送回给客户端,或 者把数据和分析工具发送给客户供客户端使用。 2 w e b g t s 是交互系统 通常用户通过超链接所浏览的w e b 页面是由w w w 开发者组织的静态图形 和文本,这些图形大部分是f p e g 和g i f 格式的文件,因此用户无法操作地图, 甚至连像z o o m 、p a n 、q u e r y 这样简单的分析功能都无法执行。而w e b g i s 可使 用户在i n t e n e t 上操作g i s 地图和数据,用w e b 浏览器执行部分基本的g i s 功 能:如z o o m ( 缩放) 、p a n ( 拖动) 、q w r y ( 查询) 和l a b e l ( 标注) ,甚至可以 执行空间查询:如“离你最近的旅馆或饭店在哪儿”,或者更先进的空间分析: 比如最短路径和空间查询等。在w e b 上使用w e b g i s 就和在本地计算机上使用 桌面g i s 软件一样。通过超链接( h y p e r l i n k ) ,w w w 提供在i n t e r n e t 上最自然 的交互性。 3 w e b g i s 是分布式系统 g i s 数据和分析工具是独立的组件和模块,w e b o i s 利用i n t e r n e t 的这种分 布式系统把g i s 数据和分析工具部署在网络不同的计算机上,用户可以从网络 的任何地方访问这些数据和应用程序,即不需要在本地计算机上安装g i s 数据 和应用程序,只要把请求发送到服务器,服务器就会把数据和分祈工具模块传 送给用户。i n t e r n e t 的一个特点就是它可以访问分布式数据库和执行分布式处 理,即信息和应用可以部署在跨越整个i n t e n e t 的不同计算机上。 4 w e b o i s 是动态系统 由于w e b g i s 是分布式系统,数据库和应用程序部署在网络的不同计算机上, 随时可被管理员更新,对于i n t e n e z 上的每个用户来说都将得到最新可用的数 据和应用,即只要数据源发生变化,w e b g i s 将得到更新。和数据源的动态链接 将保持数据和软件的现势性。 5 w e b g i s 是跨平台系统 第7 页 w e b g i s 互联网地理信息系统的研究乖实现 w e b g i s 对任何计算机和操作系统都没有限制。只要能访问i n t e n e t ,用户就 可以访问和使用w e b g i s ,而不必关心用户运行的操作系统是什么。未来的 w e b g i s 可以做到“一次编写,到处运行”,使w e b g i s 的跨平台特性走向更高 层次。 6 w e b g i s 能访问异构环境下的多种g i s 数据和功能 异构环境下在g i s 用户组间访问和共享g i g 数据、功能和应用程序,需 要很高的互操作性。o g c 提出的开放式地理数据互操作规范( o p e n g e o d a t a i n t e r o p e r a b l i 咿$ e c i f i c a t o n ) 为g i s 互操作性提出了基本的规则。其中有很 多问题需要解决,例如数据格式的标准、数据交换和访问的标准、g i s 分析组件 的标准规范等。随着i n t e r n e t 技术和标准的飞速发展,互操作更方便的w e b g i s 祷会成为现实。 1 3w e b g i s 的关键技术和发展趋势 1 g i s 协助海量数据管理 g i s 技术的瓶颈之一就是如何解决海量空间数据管理问题,因为对于一个城 市级的g i s 系统,其数据量极其巨大,一般可达到g b 的数量级。例如大连市1 :5 0 0 的基础地图就有1 3 g b 。传统的基于文件的管理方式显然不能处理这些问题,而 利用面向对象的大型数据库技术则能够有效地解决这一问题。 在面向对象的空间数据库中,海量地图数据的使用变得更加简单:只需建立 单一图层,不必再进行分幅处理。如果用户原来的数据源是分幅的,可将其全 部存储到一个图层中,数据库将自动对其进行拼接和索引处理,即可形成一个 完整的图层。在应用时,客户端只需极少量的编程( 实际上只是指定数据源) , 就可实现对数据库里数据的动态显示。数据库会根据当前地图客户端的显示视 野,自动将此范围内的图形检索出来,并送到客户端显示。因此,即使服务器 端的数据是g b 级的,在客户端的数据量却仅是几十到上百k b ,大大减轻了客 户端系统的配置需求,并减轻了网络流量。 利用面向对象的数据库技术,可建立一种真正的c l i e n t s e r v e r 结构的 空间信息系统,这不仅可以解决海量数据的存储与管理等问题,也解决 第8 页 w e b g i s - - - 互联网地理信息系统的研究和实现 了多用户编辑、数据完整性、数据安全机制等许多问题,将给g i s 的应 用带来更广阔的前景。 2 w e b g i s 与g p s 、r s 技术相结合 3 s 技术指的是全球定位系统( g p s ) 、遥感技术( r s ) 、地理信息系 统( g i s ) 。3 s 技术的结合与集成充分体现了学科发展从细分走向综合的 规律。 g i s 发展的重要趋势是与全球定位系统( g p s ) 和遥感( r s ) 的集成, 从而构成实时的,动态的g i s 。g p s 为g i s 的快速定位和更新提供手段, 遥感技术的多谱段、多时相、多传感器和多分辨率的特点,为g i s 不断 注入活力,反过来又可利用g i s 支持从遥感影像数据中自动提取信息。 3 s 技术整体结合所构成的系统是高度自动化、实时化的g i s 系统。 这种系统不仅具有自动、实时地采集、处理和更新数据的功能,而且能 够分析和运用数据,为各种应用提供科学的决策咨询,并回答用户可能 提出的各种复杂问题 3 三维g i s 在许多地学研究中,人们所要研究的对象是充满整个3 d 空间的,如 大气污染、洋流、地质模型等,必须用一个( x ,y ,z ) 的3 d 坐标来 描述。在3 d g i s 中,研究对象是通过空间x 、y 、z 轴进行定义,描述 的是真3 d 的对象。随着计算机技术和g i s 在许多行业诸如地质、矿山、 海洋、城市地下管网,城市空间规划、城市景观分析、无线通信覆盖范 围分析等对三维g i s 的需求日益迫切,3 d g i s 的理论和应用近年来受到 许多学者的关注。到目前为止,虽然有3 d g i s 系统问世,但其功能远远 不能满足人们分析问题的需要,原因主要是3 d g i s 理论不成熟,其拓扑 关系模型直没有解决;另外三维基础上的数据量十分大,很难建立一 个有效的,易于编程实现的三维模型,计算机海量数据的处理为三维g i s 提供了基础。 4 g i s 与无线通讯结合 无线通讯改变了人们的生活和工作方式。随着无线通讯技术的发展, 第9 页 w e b 6 i s 互联网地理信息系统的研究和实现 特别是w a p 技术的应用,使无线通信技术与g i s 技术以及i n t e r n e t 技术 的结合成为可能,形成了一种新的技术一一无线定位技术( w i r e l e s s l o c a t i o n t e c h n o l o g y ) 。因此也衍生一种新的服务,即无线定位服务 ( w i r e l e s s l o c a t i o n s e r v i c e ) 。无线定位技术的应用很广泛。利用这种技术, 人们可以利用手机查询到自己所在的位置,再利用g i s 的空间查询分析 功能,查到自己所关心的信息。举个例子,您走在大街上,就可以利用 手机查询离您最近的餐馆在哪里、怎么走、有什么特色菜:再比如您来 到一个陌生的城市,迷失了方向,就可以利用手机迅速地调出您所在位 置附近的地图,标出目标地点,手机就会自动显示出您应该行走的路线, 指导您顺利地到达目的地。 据估计,利用手机进行无线上网、无线资料传输将是下一个热潮。到 2 0 0 2 年,全球将有超过1 亿部手机有上网功能,到2 0 0 3 年其数量将达 到1 0 亿部。g i s 与无线通讯的结合,使g i s 借助于无线通讯等技术手段 更加深入地融入到我们的日常生活当中,这将是一个非常广阔的市场。 1 。4 开发w e b g i s 应该考虑的问题 ( 1 ) 保密性、安全性。通过i n t e r n e t 技术和w e b 技术传送资料从本质 上是不安全的,因为w e b 的数据在传送过程中必须经过不同的服务器或 主机,这些信息完全可能被中间环节获取或把持,网络诞生以来,多次 发生的黑客入侵事件便是一个佐证。这一点对w 曲g i s 尤为重要,因为 w e b g i s 的数据是为各个部门分析决策使用的,有些数据尚属国家机密, 一旦被入侵后果不堪设想。 ( 2 ) 传输速率。众所周知,目前i n t e r n e t 的传输速度远远不能满足大量 数据交换的需要。这就意味着用户必须做长时间的等待才能完成某一交 互功能,但从i n t e r n e t 的发展趋势来看,这一问题必将得到解决( 如借 助于有线电视网,可解决这一问题) 。 ( 3 ) 必须编写基w e b g i s 的专用浏览器插件或采用专门的技术。因为 以矢量形式存放的g i s 数据不能直接在浏览器上显示,必须通过中间媒 介来完成矢量数据向栅格数据的转换,在编程方法上必须采用软件构件 化技术。 第1 0 页 w e b g i s - - - 互联网地理信息系统的研究乖实现 ( 4 ) 必须改变各g i s 产业发展各自为政的局面,遵循开放性数据共享 的原则,建立统一的国家数据标准格式,以实现数据共享。 第1 1 页 w e b g i s 互联网地理信息系统的研究和实现 2 w e b g i s 体系结构研究 2 1w e b g i s 体系结构 从9 0 年代开始,出现了c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e r a r c h i t e c t u r e ) 和主要运行于w i n d o w s w i nn t j :的d c o m c o m + ,这些是分布式计算的基础技术。 2 1 1 分布式计算技术 从网络出现以来,计算技术就从集中式计算方式向分布式计算进化,直到今 天发展到以w e b 计算为主流的i n t e r n e t 计算时代。大致来讲,分布式计算的 发展经历了五个阶段: 终端王拄塑让簋立式:工作站上集中所有计算,终端仅为用户操作计算 机的界面工具( 故又称为哑终端) ; 窒庄厦经墨让簋搓基( c s ) :数据管理工作由服务器完成,应用计算 工作则由客户机和服务器共同分担,按应用计算工作的分配 策略又分为“胖服务器,瘦客户端”和“瘦服务器,胖客户 端”两种; 三级进簋搓式:将数据管理从服务器上分离出来,形成客户端、应用 服务器、数据服务器三部分组成的系统; 目前比较成熟的w e b g i s 系统的实现主要都是采用多级c l i e n t s e r v e r 计算 模式的体系结构,如下图所示。 图2 1 多级c i i e n t s e r v e r 计算模式的w e b g i s 系统 f i g u r e2 1 m u l t i t i e rw e b g i s g i s 应用服务器在w e b j 二的实现主要有三种方式: 1 ) c g i 、i s a p i 或s e r v e l e t 方式。即客户端通过c g i ( c o m m o n g a t e w a y i n t e r f a c e ) 第1 2 页 w e b g i s 互联网地理信息系统的研究和实现 或者i s a p i 来动态访问服务器方的g i s 数据和功能;服务器根据请求启动服 务器端的g i s 应用程序,处理用户的请求,然后将处理结果作为h t m l 页 面发送回客户端。在这种方式下,客户端基本不含g i s 功能,而几乎所有的 g i s 处理功能都是在服务器端完成的。这其实也就是一种“胖服务器,瘦客 户端”的策略。 2 ) 插件方式( p l u g i n ) 。将服务器的部分g i s 功能设计成能与网络浏览器交换 信息的专门g i s 软件模块,以g i s 插件的方式转移到客户端,使客户端能够 完成部分的g i s 处理功能。这种方式不但缓解了c g i 方式下当网络服务请求 大量增加时造成的网络拥塞问题,而且可以增加网络浏览器处理地理空间数 据的能力。插件般有j a v aa p p l e t 或者a c t i v e x 控件两种。 3 ) 混合方式。既有c g i 服务器软件,又有客户端的g i s 插件,两者分别完成g i s 的不同处理功能。 2 1 2 主要w e b g i s 产品体系结构分析比较 各主要的w e h g i s 产品在w e b g i s 应用服务器的设计实现方面是各有千秋的。 1 ) m a p i n f o 公司的m a p l n f op r o s e r v e r : m a p l n f o 公司推出的m a p l n f op r o s e r v e r 实际上是一个需要开发人员参与的 i n t e r n e tc g i 程序。系统管理员只需在w e b 服务器上装入p r o s e r v e r 系统,并 对其进行编程管理,用户就可以通过网络浏览器访问到地图信息,生成统计图 形,制作专题地图并进行地理分析。它由后台提供m a p l n f op r o f e s s i o n a l 4 1 以上版本的软件来实现功能和网络共享。p r o s e r v e r 还包括m a p b a s i e , m a p m a r k e r ( 可选) 等软件。m a p b a s i c 可结合v b 、d e l p h i 、v c + + 、b o r l a n d c + + 等软件来开发新的应用程序。m a p m a r k e r 能够进行定位或在地图应用软件中对 数据统一进行地址匹配。m a p i n f o 方案的一大特点就在于客户端即浏览器端无需 插件。地图的传输显示方式是栅格,以往栅格图像刷新时需要全屏更新,由于 传输速率和服务器运行速率等原因会造成较长时间等待,现在可以通过用f r a m e 隔离不同屏幕显示区域的方法较好地加以改进。 2 ) a u t o d e s k 公司的m a p g u i d e a u t o d e s k 公司继推出通过i n t e r n e t i n t r a n e t 发布实时地理信息的交互式 解决方案m a p g u i d e 后,今年又推出了m a p g u i d es e r v e r ,m a p g u i d ea u t h o r 和 第1 3 页 w e b g is 互联网地理信息系统的研究和实现 m a p g u i d ev i e w e r3 0 版本。 m a p g u i d ev i e w e r3 0 可免费从m a p g u i d e 的网站下载并安装到客户端的浏 览器上,并负责在浏览器中解释传输过来的矢量地图窗口文件( 以m w f 为后缀) 。 利用这个插件,用户可以浏览含有m w f 格式的地图文件,并对显示的地图进行 各种操作,如放大缩小、漫游、测量距离、查看标注及制作属性报表、根据地 名查询等;也可采取多种选择方法在地图上选取目标;利用分层、分类开关来 显示图层;自动按照比例尺显示、消除目标;将浏览到的地图粘贴或打印:按 照指明的u r l 跳到其他页面上去浏览相关资料。 m a p g u i d ea u t h o r 是在w e b 站点上创建、修改和发布基于矢量交互地图的工 具,地图被分成点、线、面、文字四要素类型的若干个图层,每层数据是一种 要素类型的集合。通过层的分类组织可以加快显示速度,降低数据的网络流量。 m a p g u i d ea u t h o r 提供“傻瓜式”面向对象的编程,用户通过设置对话框中的 操作属性就可以完成所有制作。m a p g u i d ea u t h o r 可使地图与数据库相关联,内 置s q l 查询。通过m a p g u i d ea u t h o r 可以设置地图访问权限,增加安全性措旖, 如可通过设置密码、到期自动失效和限制访问次数等方法对用户的访问范围及 访问内容加以规定。 m a p g u i d es e r v e r 是与w e b 服务器进行交互信息的地图c g i 服务器软件,为 3 2 位多线程软件,可并发连接、访问位于站点上的多个地图文件和关系数据库。 该软件运行于w i n d o w sn t 上,可以实现查看事件目志、错误日志、访问日志等 功能。m a p g u i d e 以矢量格式( 以s d f 为后缀) 存储地图。 3 ) e s r i 公司的i n t e r n e tm a ps e r v e r ( i m s ) f o ra r c v i e w m a p o b j e c t e s r i 公司所提出的解决方案包括:m a p o b j e c t si n t e r n e tm a p s e r v e r ( m i m s ) 、a r c v i e wi m s 和空间数据库引擎s d e 。 m a p o b j e e t s 是一系列符合微软a c t i v e x 。l e c o m 规范的g i s 对象组件,m i m s 为其中的一种,可使用户嵌入自己的应用程序。 a r c v i e w 是一种桌面地理信息系统,i m s 为其扩展模块。通过a r c v i e wi m s 、 m a p o b j e c t s 等这些具有i n t e r n e t 功能的g i s 客户端软件,能够迅速提供地理分 析。 s d e 则负责将数据存入大型关系数据库和访问数据库。 e s r i 公司还开发了j a v a 小程序m a p c a f e 。当用户连接到a r c v i e wg i s 站点 时,m a p c a f e 自动下载到用户浏览器上,可咀放大指定的地理范围,进行特征选 择、属性查询、打印等。 第1 4 页 w e b g is 互联网地理信息系统的研究和实现 目前e s r i 公司浏览器端的地图显示使用栅格图象方式( g i f j p e g 格式) , 服务器端为矢量、栅格组合处理。服务器端软件可运行于w i n d o w sn t 、u n i x 上。 ( 4 ) i n t e r g r a p h 公司的g e o m e d i aw e bm a p i n t e r o r a p h 公司推出的g e o m e d i aw e bm a p 主要是用于实现在 i n t e r n e t i n t r a n e t 上发布g i s 数据,今年又新推出g e o m e d i a2 0 版。g e o m e d i a 2 0 版的核心是基于矢量的a c t i v ec g m 格式。它基于w i n d o w s9 5 和w i n d o w sn t , 可支持多种原始文件格式,如m g e ,f r a m m e ,a r c i n f o 甚至a u t o c a d 的数据格 式等。用户可使用支持o l e c o m 标准的开发语言如v b 、d e l p h i 、p o w e r b u i i d e r 等扩展自己的应用。 ( 5 ) c a l i p e r 公司的m a p t i t u d e c a l i p e r 公司在推出基于微机上的g i s 软件m a p t i t u d e4 0 和用于 i n t e r n e t i n t r a n e t 上的w e bs e r v e rm a p p i n g 之后,又发布了m a p t i r u d e4 0d v d 版。m a p t i r u d e4 0 支持开放式o d b c 数据库接口,用户可以把多种数据库中的 记录与地图的特征联系起来,从而完成图与属性的互查。w e bs e r v e rm a p p i n g 的核心是c a l i p e r 公司的a u t o m a t i o ns e r v e r ,可以生成地图,计算最佳路径, 进行查询和各种空间分析,进而为用户提供决策支持。用户还可使用如v b 、c + + 、 j a v a 等支持o l ea u t o m a t i o n 的开发工具嵌入其开发语言g i s d k 来扩展其功能, 以便在i n t e r n e t i n t r a n e t 上提供台式机具有的所有功能。 在c a l i p e r 方案中,地图以矢量方式存在服务器中,处理结果以j p e g 等栅 格图象方式传回客户端,所以用户端除标准浏览器外,无需任何插件。用户只 要使用一般的浏览器例如n e t s c a p e 即可对服务器上的数据进行查询、缩放、漫 游等操作。 c a l i p e r 的方案还包括c a l i p e rs c r i p t 开发语言和g i s d k 开发工具包, c a l i p e rs c r i p t 包括6 0 0 个函数,它是一种类似b a s i c 的语言,提供了控制程 序流程的命令按钮、显式变量声明、灵活数组处理、结构式函数调用等功能。 g i s d k 开发的服务器端程序可以与w e bs e r v e r 程序结合起来扩展用户的地图生 成,实现空间查询、地理数据库维护等功能。 以上几 十w e b 6 i s 的解决方案,有一些共同点:它们都可运行于当前的 w i n d o w s 3 不境,即a n t 作服务器,提供i i s ( i n t e r n e ti n f o r m a t i o ns e r v e r ) 的 w e b 服务,刨, w i n d o w sn t 9 5 9 8 为客户端,i e 和n e t s c a p e 作为w e b 浏览器。在服 务器端,它们都有功能较为全面的桌面g i s 功能,以成熟的桌面系统作为g i s 服 第1 5 页 w e b g is 互联网地理信息系统的研究和实现 务器,这种软件的服务功能相对较为强大,女 i m sg e o m e d i a 等;在客户端有两 种情况,第一种直接使用浏览器的图形显示功能显示纯图像,如i m s ,m a p l n f o p r o s e r v e r ,c a l i p e r 公司的m a p t i t u d e 等,第二种采用浏览器插件或控件的形式 显示图形图像,并且具有放缩、高亮选择、测距、地图动态定位、移动等图形 交互功能,如m a p g u i d e ,g e o m e d i aw e bm a p 等。 遗憾的是,这些w e b g i s 产品和市面上的其他w e b g i s 产品一样,还存在着很多 不尽如人意的地方。比如说只提供了图形显示与查询方面的简单功能,如放大、 缩小、漫游、属性查询、统计及简单分析等,并且系统要求高、效率低;对于 一些复杂的应用与分析乃至辅助决策有些力不从心等。 尽管如此,我们仍然能够借鉴这些产品中的思路和设计,取长补短,通过 比较分析和权衡取舍,在我们自己的w e b g i s 系统设计中有重点地考虑某些问 题和突出某些功能,以建立更好的w e b g i s 系统。 2 2 中间件 随着网络计算技术的不断发展,三层或多层体系结构已经成为当前网络应 用程序开发的主要模式。在分布式环境中,无论是硬件平台还是软件平台都不 可能做到统一。在这种情况下,软件的移植性、互操作性和重用性越来越重要, 于是中间件技术应运而生了。 2 2 1中间件的概念 中间件是处于操作系统和应用程序之间的软件,具有标准的程序接口和协 议,可以实现不同硬件和操作系统平台上的数据共享和应用互操作。在具体实 现上,中间件是一个分布式软件管理框架,具有强大的通信能力和良好的可扩 展性。 中间件是在计算机硬件和操作系统之上,支持应用软件开发的系统软件, 它能够使应用软件相对独立于计算机硬件和操作系统平台,为当今的大型分布 式应用搭起了一个标准的平台,把大型企业分散的系统和技术组合在一起,实 现大型企业应用软件系统的集成。 中间件具有标准的程序接口和协议,可以实现不同硬件和操作系统平台上 的数据共享和应用互操作。在具体实现上,中间件是一个用a p i 定义的分布式 软件管理框架,具有强大的通信能力和良好的可扩展性。 第1 6 页 w e b g i s 互联网地理信息系统的研究和实现 从理论上讲,中间件有以下的工作机制:客户端上的应用程序需要从网络 中的某个地方获取一定的数据或服务,这些数据或服务可能处于一个运行着不 同操作系统和特定查询语言数据库的服务器中。客户服务器应用程序中负责寻 找数据的部分只需访问一个中间件系统,由中间件完成到网络中找到数据源或 服务,进而传输客户请求、重组答复信息,最后将结果送回应用程序的任务。 2 2 2 中间件的分类 中间件的产品种类很多,根据中间件在系统中所起的作用和采用的技术不 同,大致划分为以下五种: 数据库中间件( d m ,d a t a b a s em i d d l e w a r e ) 数据库中间件在所有的中间件中是应用最广泛,技术最成熟的一种。 一个最典型的例子就是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 。 不过在数据库中间件处理模型中,数据库是信息存贮的核心单元,中 间件完成通信的功能,这种方式虽然是灵活的,但是并不适合于一些要求高性 能处理的场合,因为它需要大量的数据通信,而且当网络发生故障时,系统将 不能正常工作。所谓有得必有失,就是这个道理,系统的灵活性提高是以处理 性能的降低为代价的。 远程过程调用中间件( r p c ,r e m o t e p r o c e d u r ec a l l ) 远程过程调用是另外一种形式的中间件,它在客户服务器计算方面, 比数据库中间件又迈进了步。它已经存在了相当长的时间,而且沿用了大多 数程序员都非常熟悉的编程模式程序员就像调用本地过程一样在程序中调用 远程过程。启动远程过程的运行,然后将运行结果返回给本地程序。不但如此, 远过程调用还可以将程序的控制传递到远端的服务器当中去。 r p c 的灵活特性使得它有比数据库中间件更广泛的应用,它可以应用 第1 7 页 w e b g is 互联网地理信息系统的研究和实现 在更复杂的客户n 务器计算环境中。远过程调用的灵活性还体现在它的跨平台 性上面,它不仅可以调用远端的子程序,而且这种调用是可以跨不同操作系统 平台的,而程序员在编程时并不需要考虑这些细节。 r p c 也有一些缺点,主要是因为r p c 一般用于应用程序之间的通信, 而且采用的是同步通信方式,因此对于比较小型的简单应用还是比较适合的, 因为这些应用通常不要求异步通信方式。但是对于一些大型的应用,这种方式 就不是很适合了,因为此时程序员需要考虑网络或者系统故障,处理并发操作、 缓冲、流量控制以及进程同步等一系列复杂问题。 面向消息中间件( m o m ,m e s s a g e o f f e r e dm i d d l e w a r e ) 消息中间件的优点在于能够在客户和服务器之间提供同步和异步的连 接,并且在任何时刻都可以将消息进行传送或者存储转发,这也是它比远程过 程调用更进一步的原因。另外消息中间件不会占用大量的网络带宽,可以跟踪 事务,并且通过将事务存储到磁盘上实现网络故障时系统的恢复。当然和远程 过程调用相比,消息中间件不支持程序控制的传递,不过这种功能和它的优势 比起来却是无关紧要的。消息中间件适用于需要在多个进程之间进行可靠的数 据传送的分布式环境。 基于对象请求代理( o r b 。o b ;e c t r e q u e s tb r o k e ) 的中间件 对象请求代理是近年来才发展起来的一项新技术,它可以看作和编程 语言无关的面向对象的r p c 应用,被视为从面向对象过渡到分布式计算的强大 推动力量。从管理和封装的模式上看,对象请求代理和远过程调用有些累死, 不过对象请求代理可以包含比远过程调用和消息中间件更复杂的信息,并且可 以适用于非结构化的或者非关系型的数据。 目前有两种对象请求代理的标准,分别是c o r b a 和d c o m ,这两种 标准是相互竞争的,而且两者之间有很大的区别,这在一定程度上阻碍了对象 请求代理中间件的标准化进程。 事务处理中间件( t p m ,t r a n s a c t i o np r o c e s s i n gm e l l i t o r ) 事务处理中间件是一种复杂的中间件产品,是针对复杂环境下分布式 应用的速度和可靠性要求而实现的。它给程序员提供了一个事务处理的a p i , 程序员可以使用这个程序接口编写高速而且可靠的分布式应用程序一基于事务 处理的应用程序。 事务处理中间件向用户提供一系列的服务,如应用管理,管理控制, 第1 8 页 w e b g i s - - - 互联网地理信息系统的研究和实现 已经应用程序间的消息传递等。常见的功能包括全局事务协调、事务的分布式 两段提交、资源管理器支持、故障恢复、高可靠性、网络负载平衡等等。 其中数据存取中间件在所有的中间件中是应用最广泛,技术最成熟的一种。 因此我们把数据存取中间件的概念引入到w e b g i s 系统中来。 2 3 基于中间件的w e b g i s 2 3 1 原理结构图 引入数据存取中间件的三层结构如下图: 图2 2 基于中间件的三层结构 f i g u r e 2 2t h e e t i e rs t r u c t u r eb a s e do rm i d d l e w a r e 在基于数据存取中间件的三层结构中,数据存取中间件是最重要的部分,它 是具有强大通信能力和良好可扩展性的、能够处理并发连接以及高效读写现有 数据库逻辑步骤的中间层。它的功能是在客户机和服务器之间传送数据,实现 客户机群和服务器群之间的通信。它负责接收客户端的应用请求,对请求做出 响应处理后根据请求访问数据服务器,并负责将访问结果通过互联网返回给客户 端。 2 3 2 系统体系结构图 采用自主开发的数据存取中间件,我设计了适合交通指挥系统的w e b g i s 其体系结构如图1 所示。 第1 9 页 w e b g i s - - - 互联网地理信息系统的研究和实现 一厦佣月展务器一一一一一il 喜& 目e 月绉器 图2 3 交通指挥信息系统结构 f i g u r e 2 3s t r u c t u r eo fd a l i a nt r a f f i ci n f o r m a t i o n s y s t e m 2 3 3 系统结构优点 本系统客户端采用w i n d o w s 平台,对浏览器没有特殊要求,运行时只要在 地址栏输入w e b 服务器地址即可,地图控件可以自动下载到客户端。应用服务 器端采用w i n 2 0 0 0s e r v e r ,w e b 服务器使用i i s ,应用服务器采用自主开发的数 据代理软件d a t a a g e n t ,数据服务器采用w i n 2 0 0 0 s e r v e r + o r a c l e 。 系统结构具 有以下优点: 结构清楚,易于扩展。数据存取中间件使得与平台有关的细节对于应用程 序来说是透明的,因此可以在不改变程序代码的情况下改换计算机硬件、操作系 统或通信协议。如要实现新功能,只需扩展传输协议中的命令格式,程序只需 很少的改动就可以实现,所以很容易对系统进行再开发和数据维护。 多用户并发,高可靠性。在i n t e m e t 上面临的一个重要的问题多用户的并 第2 0 页 w e b g is 互联网地理信息系统的研究和实现 发访问,多个用户的同时访问会引起系统性能的下降,甚至是系统的崩溃。数 据存取中间件能较好地处理用户的并发访问,提供接管和恢复功能,保证事务 及关键性业务不被丢失。 权限优先级管理。数据存取中间件中实现用户身份认证和权限优先级管 理,实行权限优先级可以把普通用户和管理人员区别开,保证管理者的要求最 先得到满足。 第2 1 页 w e b g i s - - - 互联网地理信息系统的研究和实现 3 w e b g i s 系统设计与实现 3 1 数据存取中间件的设计和实现 数据存取中间件是整个系统的核心部分,因为它要尽可能快的响应客户端 的请求,尽量减少系统资源的耗费,保证并发操作对数据库访问的一致性。我 们采用了自己用j a v a 编写的具有代理功能的中间件服务器程序,通过在服务 的基础上采取多路复用、异步传输、作业队列、优先级管理和数据库连接池等 技术,大大地提高了整个系统的可扩展性和可管理性。 3 1 1 数据存取中间件的设计 系统用例 客户交查询,悼改数孥 障瓣鬻勺1i 蚕蘩蠢戮i 翻 l 臻l ;占j 器毓激出查询 l l 帝
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年天成教育命题研究院高三物理第一学期期末检测试题
- 安徽省蚌埠市田家炳中学、五中2025年物理高三第一学期期末达标检测模拟试题
- 企业电力施工安全培训课件
- 澳洲超时出境管理办法
- 电子业务印章管理办法
- 煤矸石管理办法江西省
- 企业安全用电常识培训
- 出租车公司安全培训会议课件
- 2025服务器租用合同
- 出国务工安全教育培训课件
- UI视觉设计(适用培训、教学)-第6章-游戏界面设计
- 吴《园林植物配置技术》课件
- 小学生卡通自我介绍PPT
- 技术文档编制管理规定
- 集成电路芯片测试技术PPT全套完整教学课件
- 合理低价法投标报价得分自动计算表
- 土地资源管理专业考试知识事业单位考试
- 《琵琶行》导学案-教师版
- 安全技术交底(蜘蛛人)
- 砼搅拌机、灰浆机验收记录表
- 1999年版干部履历表
评论
0/150
提交评论