WebGIS企业应用开发技术缘述.docx
- 文档编号:29531248
- 上传时间:2023-07-24
- 格式:DOCX
- 页数:10
- 大小:26.48KB
WebGIS企业应用开发技术缘述.docx
《WebGIS企业应用开发技术缘述.docx》由会员分享,可在线阅读,更多相关《WebGIS企业应用开发技术缘述.docx(10页珍藏版)》请在冰豆网上搜索。
WebGIS企业应用开发技术缘述
WebGIS企业应用开发技术缘述
(一)
日期:
2006-11-4作者:
唐伦陈晓凤来源:
唐伦陈晓凤进入中导交流论坛
摘要:
本文围绕如何构建企业级WebGIS应用系统的中心问题,从WebGIS的体系结构、传输协议到企业应用开发技术、Web应用服务器等企业应用开发的关键技术进行了分析研究和探讨,期望推动企业应用系统的开发,促进GIS产业的应用和发展。
关键词:
WebGIS体系结构传输协议AgentWebService
1引言
随着网络技术的飞速发展,Internet已成为GIS新的系统发布平台。
利用Internet技术,在Web上发布空间数据,供用户浏览和使用,是GIS发展的必然趋势。
WebGIS是GIS技术与Web技术集成的产物,它继承了GIS的部分功能,侧重于地理信息与空间数据处理的共享,是一个基于Web计算平台实现地理信息处理与地理信息分布的网络化软件系统。
与传统的GIS技术相比,WebGIS具有:
访问范围广、平台独立、大幅度降低系统成本和维护、升级方便等特点;在运行环境上,WebGIS基于Web计算平台,运行于Internet多用户并发访问的分布式环境;在技术上,WebGIS是GIS技术与组件技术、互操作技术、分布式技术的集成。
随着地理信息互操作和Web服务技术的发展,WebGIS技术已经从初始的在Web上简单地发布地理信息转换成为实现地理信息互操作和地理信息Web服务的关键技术。
由于WebGIS技术的重要性,人们越来越关注WebGIS的研究、开发和应用,目前已推出了大量的GIS平台产品,如ESRI的ArcIMS,Maplnfo的MapXtreme,Autodesk的MapGuide,Intergraph的GeoMediaWebMap,我国GeoStar的GeoSurf,GeoBeans等产品。
如何利用这些产品开发满足自己需要的WebGIS系统,已成为众多科研机构与企业共同关心的问题。
在企业应用开发过程中开发人员面临WebGIS的体系架构、传输协议、主流开发技术等方面的考虑,本文就这些方面分别进行阐述,同时阐述今后企业应用开发的两项新技术。
2体系结构
随着网络技术的发展和广泛应用,计算机应用模式经历了主机模式、单机桌面应用模式和多层企业应用模式三个阶段。
相应的,应用系统开发经历了从主机体系结构、两层Client/Server体系结构到三层(多层)Client/Serve:
体系结构的演变。
传统的GIS应用一般都采用两层Client/Server体系结构。
这种体系结构用户界面层和业务逻辑层没有分开,都位于客户端,而数据服务层位于服务器端,由于应用主要都集中在客户端,每个客户端都要进行安装配置,当用户数量多、分布范围广时就会给安装、维护带来相当大的困难,扩展性不好。
此外每个用户与中央数据库服务器相连时都要保留一个对话,当很多客户同时使用相同资源时,容易产生网络堵塞。
为了克服两层Client/Server结构的不足,提出了三层Client/Server模型。
三层客户/服务器结构构建了一种分布式的应用程序,对应用系统划分成不同的逻辑组件,即用户服务层、业务处理层、数据服务层。
与两层Client/Server结构相比,三层Client/Server结构有很多优越性,如减轻了客户机的负担,如果要增加服务则只需在中间层添加代码,这使得维护升级变得更加方便,系统扩展性也更好。
因此采用三层Client/Server体系结构是当前GIS应用开发的主流模式。
WebGIS与其他采用B/S结构的信息系统类似,一般采用由数据库、应用服务器和客户端组成的三层体系结构,客户端一般为Web浏览器。
但WebGIS系统具有空间数据量大和处理复杂的特点,因此产生了计算模式的概念。
WebGIS的计算模式主要是指GIS功能在客户端和服务器端的分配,WebGIS计算模式的选择决定了整个WebGIS系统的实现。
WebGIS的计算模式主要包括以下三种:
胖客户模式、瘦客户模式和混合模式。
一般地,前者适合于客户端处理能力较强,用户需要对数据处理过程进行控制的环境;瘦客户模式则适用于广域网环境或对GIS分析功能较高要求的应用;而混合模式结合了胖客户模式和瘦客户模式的优点。
与前两种方式不同,它既不是把全部的空间处理功能模块和数据下载到本地,再在客户端进行所有的空间操作;也不是把全部的空间处理功能放置在服务器端,在服务器进行所有的空间操作;而是根据Web应用的特点和网络的状况,在客户端和服务器端进行空间处理功能的分配。
这三种计算模式各具有优缺点。
从总体来看,混合模式是一种符合WebGIS应用需求的系统开发计算模式。
但与其他的信息系统一样,不存在一种万能的计算模式,因此需要根据具体的应用需求和运行环境,对计算模式进行选择,以使开发的WebGIS应用系统能最大可能地满足应用的需求。
3传输协议
除了上述实现方式外,系统还需考虑信息的网络传输协议,即请求/响应协议和网络数据传输格式。
在传统的Web应用中,用户通过浏览器从Web站点中的HTML页面或Web应用动态生成的HTML页面中获取相应的信息。
用户通过HTML页面中的表单元素来提交请求,浏览器和服务器之间通过超文本传输协议(HTP)来发送请求和信息。
由于HTML语言和浏览器的限制,以及空间操作的复杂性,采用表单的形式不能构建复杂的空间操作请求。
基于这种形式的WebGIS应用满足不了用户的需求。
目前的解决方法是,通过JavaApplet或ActiveX扩充浏览器的功能,并为用户提供了相应的工具来构建复杂的请求,通过内部制定的协议来实现客户端和服务器端传输请求和响应。
这种方式高效,但比较封闭,不能满足互操作的需求,并且需要采用专门的端口来实现,这种方式容易受到防火墙的阻隔。
随着XML和SOAP技术的发展,为协议的制定提供了新的解决方案。
3.1XML
可扩展标记语言(XML,eXtensibleMarkupLanguage)是一种用于描述其他语言的元语言,即用来定义其他与特定领域有关的、语义的、结构化的标记语言的句法语言。
总地来说,XML非常适合于WebGIS中请求1响应协议的制定。
目前研究者已经在这个方面进行了大量的工作,如ESRI的ArcIMS3.0中就已经采用XML技术制定了请求/响应协议ArcXML。
另外,OpenGIS联盟发布的一系列空间信息服务实现规范中,亦采用XML来描述请求与响应。
面对上述的技术难点和国际信息化融合的潮流,XML将是WebGIS适应数字地球的发展和要求,提高自身实际应用能力的解决之道。
·有助于实现地理空间数据的标准化、结构化。
地理数据可被XML唯一地标识,便于网上查询和搜索,便于信息参与数字地球的资源共享,提高WebGIS服务的互操作性,减少了服务器和客户之间的频繁交互,从而提高GIS用户的互操作速度。
·XML具有数据来源的多样性和多种应用的灵活性、柔韧性和适应性。
XML可以将不同来源的结构化的GIS数据进行合并、集成,客户获得XML数据后,可以用以开发多种形式的WebGIS应用软件,也可用于测量、制图、空间分析和地理建模等本地地理计算和二次处理,扩展XML与GIS数据的多方面应用。
·由于内容与形式的分离,XML只描述GIS数据本身,数据的具体表现形式可利用样式表语言进行转换,使地理信息能根据客户的配置和实际情况动态地表现。
同时XML补充了HTML,被广泛地用来传递数据,HTML描述数据的外观,而XML描述数据本身。
处理者能够在结构化的数据中嵌套程序化的描述以表明如何显示数据,这样就尽可能地减少了客户计算机同使用者的交互,同时减少了服务器和浏览器进行数据交换的响应时间。
·用XML在现有的Web上传输GIS数据具有可行性,不需要改变网络基础,利用原有的HTP协议,成本低。
·XML格式的数据发送给客户端后,客户端可以解析数据并对数据进行编辑和处理,使用者可以用不同的方法处理数据,而不仅仅是显示它,XML文档对象模型(DOM)可以用脚本或其他编程语言处理数据,数据计算不需要返回到服务器就能进行。
XML使数据的内容和表现分离开来,使用简单灵活。
3.2简单对象访问协议(SOAP)
简单对象访问协议(SOAP,SimpleObjectAccessProtocol)是在分散或分布式的环境中交换信息的简单的协议,是一个基于XML的协议,它提供了一种基于XML的应用程序间数据通信的机制。
SOAP技术有助于实现大量异构程序和平台之间的互操作性,从而使存在的应用能够被广泛的用户所访问。
SOAP是把成熟的基于HTP的Web技术与XML的灵活性和可扩展性组合在了一起。
SOAP定义了一种消息交互机制,它描述了如何用XML对信息进行编码。
通常,SOAP用于在运行时解释远程调用的参数值,并且使用特定的编码方式将这些值填充在XML文档中。
然后,XML数据通过HTP传输至远程服务器。
SOAP的特点—也是最大的优点在于它是基于文本的(通过采用XML),而不是二进制,而且它不是某个制造商所特有的。
让软件开发人员不再受限于开发平台、操作系统、程序语言和开发工具。
SOAP使用通用的传输协议—主要是HTP,也是它成功的关键。
由于公司的防火墙很少限制HTP数据,(使用HTP作为传输协议的)SOAP应该很容易通过防火墙。
专用的分布式计算协议是不可能做到的。
因为它们使用的网络地址通常不允许进人安装了防火墙的安全系统。
WebGIS企业应用开发技术缘述
(二)
日期:
2006-11-4作者:
唐伦陈晓凤来源:
网络与应用进入中导交流论坛
4企业应用开发技术
地理信息系统与软件技术是密不可分的。
特别是随着面向对象、组件技术、分布式计算技术以及网络技术的发展,GIS软件的体系结构出现了极大的变化,出现了许多开发地理信息系统的新技术,如组件技术、中间件技术和分布对象技术等。
4.1组件技术
组件是建立在面向对象开发之上的,它为用户提供多个接口,接口封装了组件提供的服务,隐藏了实现细节的可见性。
由于组件表示一个或多个较细粒度类的逻辑集合,封装了一系列的服务,因此组件提供了更高级别的重用性,从而极大提高了应用系统的开发效率。
组件式GIS是面向对象技术和组件式软件在GIS软件开发中的应用,为新一代GIS应用提供了全新的开发工具。
传统GIS开发平台均采用专门设计的开发语言,开发难度较大。
空间数据管理和数据库管理系统通常均直接由GIS厂商提供,大大提高了应用开发与系统建设的成本,另外多媒体开发工具的衔接不甚方便,其数据交换通过DDE等间接方式实现,影响了MIS系统对空间地理信息的利用。
GIS组件封装了一系列空间信息处理相关的操作,并向用户提供了标准的接口。
这样用户可以使用通用的程序开发语言,通过接口调用GIS组件中相应的空间操作功能,实现GIS应用系统的开发。
GIS组件把GIS的功能适当抽象,以组件形式供开发者使用,将会带来许多诸如开发费用低、开发难度小、可以嵌人MIS系统等传统GIS工具无法比拟的优点。
组件式GIS基于标准的组件式平台,各个组件之间不仅可以进行自由、灵活的重组,而且具有使用方便的标准接口。
同传统GIS比较,组件GIS具有易于实现与其他信息系统的无缝集成、跨语言使用、易于推广、成本低、扩展性强、开发效率高等特点。
因此组件式GIS是当前GIS系统软件开发的主流技术。
目前存在着多种组件技术标准,其中OMG的CORBA,Microsoft的COM/DCOM和Java的Bean是被广泛采用的标准。
目前商用的组件式GIS产品主要基于Microsoft的COM/DCOM,包括Intergraph的GeoMedia,ESRI的MapObjects,MapInfc〕的MapX,我国的MapEngine,SuperMap等。
4.2中间件
当前基于电子地图应用的开发模式大都是选用一种GIS平台直接从底层开发,亦即从GIS平台到应用系统的两层模式,这种开发模式存在两个主要问题。
(1)系统开发要从底层做起,虽然最终用户关心和所见的是应用系统的业务功能和流程实现,但为了实现最终的业务功能和流程,开发者要花大量的开发工作量消耗在与这些业务功能和流程并没有直接关系的底层操作上,这种模式要求开发者非常熟悉底层编程和GIS编程,增加了应用系统开发的难度和开发工作量。
(2)传统的基于Web的应用系统开发,客户端的操作逻辑和服务器端的功能逻辑互相交织,系统扩展性差。
分析WebGIS的应用,尽管最终应用系统的功能需求千变万化,但是,在这些系统开发的内容上,存在着大量共性的部分,如底层处理、地图操作功能、通用地图应用功能等。
如果能够将上述地图应用系统开发中共性的部分抽象、提炼出来,则可以极大地减少系统开发难度和工作量,因此,应用中间件的思想,开发基于电子地图的WebGIS中间件具有深远的意义。
同时,随着GIS应用由局域网发展到广域网,特别是涉及到多数据库系统、多平台、多网络协议的异构环境,传统的将用户界面和业务逻辑、数据源以及通信协议绑定在一起的应用系统开发方式不再适合。
而中间件技术的出现,为异构环境下GIS应用的开发提供了解决方案。
中间件是位于操作系统和应用软件之间的通用服务,它的主要作用是用来屏蔽网络硬件平台的差异性和操作系统与网络协议的异构性,支持应用软件开发和运行的系统软件,使应用软件相对独立于计算机硬件和操作系统平台,为大型分布式应用搭起了一个标准的平台,以实现大型应用软件系统的集成。
中间件具有标准的程序接口和协议,可以实现不同硬件和操作系统平台上的数据共享和应用互操作。
在具体实现上,中间件是一个用API定义的分布式软件管理框架,具有强大的通信能力和良好的可扩展性。
采用中间件技术,为异构环境下的GIS应用的开发提供了一个解决方案,对当前GIS重大行业应用系统的开发具有重要的意义。
4.3分布式对象技术
分布式对象技术是当今分布计算技术的主流方向,它能在分布式环境下跨平台、跨语言地实现分布式计算,并使得用户在使用对象时可以访问网络上任意有用的对象而不必知道该对象所处的位置。
采用分布式对象技术开发GIS应用符合地理信息分布的特点,客户可以透明地访问远程的GIS组件服务。
这种方式适合于空间信息服务的实现,可用于解决在分布式环境下的地理信息的互操作(包括数据和功能两方面)。
当前,基于对象的分布式计算的代表性技术是OMG的CORBA,Microsoft的DCOM和Java的JZEE。
4.3.1CORBA分布计算技术
CORBA分布计算技术是OMG组织在众多开放系统平台厂商提交的分布对象互操作内容的基础上制定的公共对象请求代理体系规范。
CORBA分布式计算技术,是由绝大多数分布计算平台厂商所支持和遵循的系统规范技术,具有模型完整、先进,独立于系统平台和开发语言,被支持程度广泛的特点,已逐渐成为分布计算技术的标准。
COBRA标准主要分为三个层次:
对象请求代理、公共对象服务和公共设施。
最底层是对象请求代理ORB,规定了分布对象的定义(接口)和语言映射,实现对象间的通信和互操作,是分布对象系统中的“软总线”;在ORB之上定义了很多公共服务,可以提供诸如并发服务、名字服务、事务(交易)服务、安全服务等各种各样的服务;最上层的公共设施则定义了组件框架,提供可直接为业务对象使用的服务,规定业务对象有效协作所需的协定规则。
4.3.2J2EE
在JZEE中,Sun给出了完整的基于Java语言开发面向企业分布应用规范,其中,在分布式互操作协议上,J2EE同时支持RMI和HOP,而在服务器端分布式应用的构造形式,则包括了JavaServlet,JSP(JavaServerPage),EJB等多种形式,以支持不同的业务需求,而且Java应用程序具有"Writeonce,runanywhere”的特性,使得J2EE技术在发布计算领域得到了快速发展。
EJB是Sun推出的基于Java的服务器端构件规范J2EE的一部分,自从J2EE推出之后,得到了广泛的发展,已经成为应用服务器端的标准技术。
Sun的EJB技术是在JavaBean本地构件基础上发展的面向服务器端分布应用构件技术。
EJB给出了系统的服务器端分布构件规范,这包括了构件、构件容器的接口规范以及构件打包、构件配置等的标准规范内容。
EJB技术的推出,使得用Java基于构件方法开发服务器端分布式应用成为可能。
从企业应用多层结构的角度,EJB是业务逻辑层的中间件技术,与JavaBean不同,它提供了事务处理的能力,自从三层结构提出以后,中间层,也就是业务逻辑层,是处理事务的核心,从数据存储层分离,取代了存储层的大部分地位。
从分布式计算的角度,EJB像CORBA一样,提供了分布式技术的基础。
提供了对象之间的通信手段。
从Internet技术应用的角度,EJB和Servlet,JSP一起成为新一代应用服务器的技术标准,EJB中的Bean可以分为会话Bean和实体Bean,前者维护会话,后者处理事务,现在Servlet负责与客户端通信,访问EJB,并把结果通过JSP产生页面传回客户端。
J2EE的优点是,服务器市场的主流还是大型机和UNIX平台,这意味着以Java开发构件,能够做到“Writeonce,runanywhere,开发的应用可以配置到包括Windows平台在内的任何服务器端环境中去。
4.3.3DCOM
以Microsoft为首的DCOM/COM/COM+阵营,从DDE,OLE到ActiveX等,提供了中间件开发的基础,如VC,VB,Delphi等都支持DCOM,包括OLEDB在内新的数据库存取技术,随着Windows200()的发布,Microsoft的DCOM/COM/COM+技术,在DNA2000分布计算结构基础上,展现了一个全新的分布构件应用模型。
首先,DCOM/COM/COM+的构件仍然采用普通的COM(ComponentObjectModel)模型。
COM最初作为Microsoft桌面系统的构件技术,主要为本地的OLE应用服务,但是随着Microsoft服务器操作系统NT和DCOM的发布,COM通过底层的远程支持使得构件技术延伸到了分布应用领域。
DOOM/COM/COM+更将其扩充为面向服务器端分布应用的业务逻辑中间件。
通过COM+的相关服务设施,如负载均衡、内存数据库、对象池、构件管理与配置等等,DCOM/COM/COW将COM,DCOM,MTS的功能有机地统一在一起,形成了一个概念、功能强的构件应用体系结构。
而且,DNA2000是单一厂家提供的分布对象构件模型,开发者使用的是同一厂家提供的系列开发工具,这比组合多家开发工具更有吸引力。
但是它的不足是依赖于Microsoft的操作系统平台,因而在其他开发系统平台(如UNIX,Linux)上不能发挥作用。
WebGIS企业应用开发技术缘述(三)
日期:
2006-11-4作者:
唐伦陈晓凤来源:
网络与应用2005.No.3进入中导交流论坛
5企业应用新技术
5.1Agent技术
与此同时,为满足分布协同工作的应用需求,人工智能领域中的Agent技术被引入到分布式计算环境中,对基于Client/Serve:
结构的传统分布式系统产生了极大的冲击,分布式系统正朝着分散对等的协同计算的理想模式发展。
Agent技术提供了一种概念清晰、条理清楚的分布式系统建设思想。
当然,Agent技术也带来软件系统能力的提高。
这里的能力提高包括两个方面:
一个是能力的增加,比如合作;另一个是能力的增强,比如并行和移动所带来的效率的提高等。
注意到Agent的自主性、交互性、反应性和主动性等特征,极大简化了分布协同问题的复杂性,因此将Agent技术引人GIS领域,将极大降低分布式地理信息系统的复杂性和建设难度,并有效地解决网络地理空间信息服务功能以及GIS应用领域中的协作问题,同时也可以改善分布式地理信息系统的服务能力和服务效率。
因此Agent技术与GIS的集成,为分布式地理信息系统的建设提供一个全新的概念和方法,有着重要的应用意义,同时,又是GIS技术发展的又一个重要方向。
Agent技术在分布式GIS中主要应用在以下几个方面。
·应用领域内的协作:
GIS应用领域中很多任务需要合作才能完成。
利用Agent的协作性,开展GIS应用领域的协作研究;
·服务领域的服务协作:
同应用领域的协作略有不同,服务领域的服务协作是为了更好地提供GIS服务,提高服务效率;
·服务领域的数据井行和应N领域的任务井行:
Agent技术为并行的实现带来了极大的便利。
GIS中有着大量的并行因素,主要包括应用领域的任务并行和服务领域的数据并行两个方面。
利用Agent技术来处理GIS中的并行情况,将对提高GIS的效率有着重要的意义;
·服务领域中的信息搜索:
利用Agent的自主性,使得对地理空间信息的访问不再过多地由人来控制,包括确定地理空间信息的可用性、位置等;
·服务领域中的信息发布:
利用Agent的自主性,使得地理空间信息能够主动地送到最需要它的用户手中。
5.2WebService
WebService是新一代的Web应用,是可以通过Web发布、查找和调用的自包含、自描述的模块化应用。
WebService执行从简单的请求到复杂的业务流程的任何功能。
一旦WebService被部署后,其他应用(和其他Web应用)就可以发现和调用已部署的服务。
传统WebGIS技术的主要目的是为了能够在网络上发布空间数据以及和这些空间数据相关的一些操作,主要通过浏览器直接服务于最终用户。
而对于数字城市等复杂GIS应用,它们都建立在复杂、动态变化的分布式网络环境下,各种应用都构建在更为开放的分布式环境之中,而且各种不同应用对于地理信息功能的需求也千差万别。
这时传统的WebGIS技术就暴露出了它的不足,主要原因是:
数据与功能的相对绑定;系统相对独立,缺乏良好的互操作性;系统内部祸合度较强,应用模式不够灵活,难以灵活地为需求不同的应用提供不同粒度和不同功能组合的地理信息服务。
随着空间信息WebServices概念的出现,特别是OGC提出的基于互操作的Web服务和相关规范的制定,把基于Web的空间信息发布引人了一个夏高的层次。
晒角M'VebService中制宠的一系列标准,可以真正地实现地理信息的互操作,并且可以利用松藕合的模式来使用和扩展各种数据和服务资源,动态地绑定不同的服务来完成特定的功能。
因此空间WebServices扩展了WebGIS的范畴。
虽然说空间信息WebServices才刚刚起步,但它有非常好的发展前景。
6总结
本文围绕构建企业级WebGIS应用系统这一中心,从以下几个方面进行了综述。
在体系结构方面,指出三层Client/Serve:
体系结构是当前GIS应用开发的主流模式,胖客户模式和瘦客户模式结合的混合模式是一种符合WebGIS应用需求的系统开发计算模式。
本文还考虑了系统信息的网络传输协议,即请求/响应协议和网络数据传输格式。
指出了目前采用的JavaApplet或ActiveX扩充浏览器的功能这一实现方式的不足,提出了XML和SOAP非常适合于WebGIS中请求/响应协议的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- WebGIS 企业 应用 开发 技术