【asp精品源码栏目提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。
网学会员整理了asp精品源码-【精品推荐】ArcGISServer在构建企业级地理信息系统中的应用 - 技术总结的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
专 业 推 荐 ↓ 精 品 文 档 第34卷第3期2009年5月测绘科学ScienceofSurveyingandMappingVol134No13May作者简介:贾建华19532男副教授博士主要从事地理信息系统方面的研究开发。
E2mail:network19811631com收稿日期:2007211227ArcGISServer在构建企业级地理信息系统中的应用贾建华陈 动西安科技大学测量工程系西安 710054【摘 要】文中主要讨论了ArcGISServer的体系构架与部署、内部利用ArcGISServer核心ArcObjects实现软件功能的运行机制以及利用ArcGISServer提供ADF应用程序开发框架开发Web应用的方法从而通过Internet/In2tranet实现GIS的各种高级功能如制图、空间分析和地理编码、多用户编辑等。
最后通过简单的程序示例演示了如何在VisualStudio20051NET下利用ADF实现GIS应用开发。
【关键词】ArcGISServerGIS服务器ArcObjects组件Web服务【中图分类号】P208 【文献标识码】A 【文章编号】100922307200903201862031 引言ESRI的ArcGISServer为构建企业级地理信息系统GIS提供了一个基于IT工业标准的框架。
利用ArcGISServer能在基于IT标准的服务器环境中实现GIS业务逻辑1。
ArcGISServer是基于ESRI公司的ArcObjectsAO组件构建的GIS服务器平台8主要用于构建集中管理、支持多用户的企业级GIS应用的平台8。
AO是基于COM技术构建的一套COM组件它提供了GIS数据访问地图表现和空间分析等方面GIS功能。
并且通过ArcGISServer所提供的功能丰富的应用程序接口API能便捷的访问GIS服务与GIS功能组件使用户方便在标准的1NET或J2EEWeb服务器中构建网络应用程序、网络服务及企业级应用等。
此外也可以利用ArcGISServer服务器端GIS功能提高桌面GIS应用中的数据处理性能。
虽然可以通过WebGIS软件如ArcIMS、MapXtreme、MapGuide等在Internet上构建三层体系结构的高性能的用于Web发布的GIS应用但是这种WebGIS软件与传统的桌面端GIS软件相比它的功能较为简单仅有一些简单的地图发布空间数据查询和一些最简单的分析处理功能。
ArcGISServer则为构建企业级GIS系统提了一个工业标准的框架它提供了高级的GIS处理模块支持多用户负载均衡并使得GIS功能在服务器端集中实现和管理。
2 ArcGISServer核心组成部件1GIS服务器宿主运行服务器对象。
GIS服务器有一个服务器对象管理器SOM和部署在一台或者多台计算机上的服务器对象容器SeverObjectContainerSOC组成。
2服务器对象管理器服务器对象管理器SOM是一个运行在某一台机器上的Windows服务。
它管理了一组分布在一台或者多台作为服务器对象容器计算机中的服务器对象的启动和关闭同时对服务器对象容器计算机进行负载平衡的动态调节。
SOM是GIS服务器的核心它管理着一系列部署在一台或者多台SOC机器上的服务器对象。
3服务器对象容器SOC是服务对象的宿主可以装在多台机器上每一台SOC机器可以产生多个容器进程ContainerProcesses一个ContainerProcess可以运行多个服务对象其开始与结束由SOM控制每台SOC机器都需要一个授权文件。
宿主在容器进程里面的对象其实是AO组件他们作为安装ArcGISServer的一部分一同被安装在SOC机器上所有的服务器对象多运行在SOC上并且在一台或者多台SOC机器上均衡负载。
4服务器对象在ArcGISServer中的空间数据都是通过服务器对象ServerObjectSO来负责调用由它负责提供系统中GIS资源服务。
服务器对象是粗粒度coarse2grained的ArcOb2jects组件通过服务器对象可以调用安装在GIS服务器上的细粒度fine2grained的ArcObjects组件。
它简化了为完成某项任务而需要的一系列操作的编程模型使客户端仅仅需要一个方法的调用即可完成内部细粒ArcObjects的一组操作如地图的显示等。
服务器对象运行在SOM上提供MapServer和GeocodeServer对象。
服务器对象可以由GIS服务器管理员提前配置生成作为WebServices提供给用户消费通过WebService可以用标准的方法把服务器对象发布到Internet上。
3 ArcGISServer系统的体系构架311 ArcGISServer系统的组成ArcGISServer是一个分布式系统它主要由以下四部分组成可以分别部署在不同的机器上它们分别在进程的管理、启动、关闭以及对象运行的服务器的负载均衡方面发挥着重要的作用。
GIS服务器:宿主和运行服务器对象由服务器对象管理器SOM以及一个或者多个服务器对象容器SOC组成。
Web服务器:Web应用和WebServices运行其上使用GIS服务器的服务器对象。
Web浏览器:最终用户通过其来连接Web应用。
桌面产品:桌面通过Http连接到运行在Web服务器上的WebServices或者直接通过LAN连接到GIS服务器上。
312 Web应用程序与GIS服务器的交互Web应用程序部署于Web服务器上用户通过使用浏 第3期 贾建华等 ArcGISServer在构建企业级地理信息系统中的应用览器等工具向该网络应用程序发送请求以实现GIS服务器的交互具体过程如下:Web应用程序向SOM发送用户请求收到请求后SOM向Web应用程序返回一个服务器对象代理或运行在GIS服务器上的多个服务器对象代理Web应用程序通过使用服务器对象代理来运用实际的服务器对象实例就像该实例位于Web应用程序的进程中但事实上对于服务器对象实例的执行操作均发生在GIS服务器的SOC端GIS功能的具体实现都是由这些SOC中的服务器对象实例完成的。
因此开发基于ArcGISServer的Web应用程序的关键在于应用程序如何远程调用由GIS服务器管理的系统底层的ArcObjects和ServerAPI。
我们可以按以下步骤来实现Web应用程序与GIS服务器的交互8。
313 进程共享池模式与非共享池模式下的连接过程共享池模式是在SOM启动的时候就建立了几个SO供外界访问一个SO被A请求访问后被释放回共享池中还可在下次被B访问因此SO可以被多个用户访问。
如果是非共享池模式当一个请求访问的时候SOM专门为它新建一个SO。
这样在池化模式下访问与SO的比例不是1∶1它支持更多的用户而非池化模式就是1∶1的它支持的用户比池化模式少。
SO实际上就是我们建立的地图服务和定位服务这些服务都必须通过请求一个进程来访问在共享池模式下的连接过程如图1所示:①客户端程序连接到SOM要求访问一个SO②SOM分配一个SOC给客户端程序的AOProxy对象这个SOC是AS启动时建立的默认最少为2个最多为4个③客户端程序通过调用远程AO对象的Proxy对象操作AO对象④操作完成后执行pSC1ReleaseContextSOC返回共享池中等待下一次请求访问。
如果是非共享池模式这个过程的差别在于:①SOM新建一个SOC给代理对象②执行pSC1ReleaseContext后SOC被销毁而不是返回到共享池中。
图1 Web应用程序与GIS服务器的交互流程图4 ArcGISServer的开发模式与地址定位服务实例411 程序设计模式基于ArcGISServer平台的集中管理型网络GIS开发有两种编程接口ServerAPI和ADF。
ServerAPI是许多对象库的一个集合这些对象库包含了编写连接到GISServer和使用服务器对象之类应用程序所必需的ArcObjects采用该接口构建网络GIS应用时要求开发者精通底层ArcObjects对象库开发难度较大但是可以充分利用ArcGIS底层核心。
ArcObjects开发功能齐备的网络GIS应用便于实现GIS功能扩充AD为1NET和Java开发者分别提供了采用GIS服务器端ArcObjects构建网络应用程序和网络服务的框架其中
上一篇:
Flex应用程序开发
下一篇:
电咖汽车入选2018独角兽企业榜百强 发布“天际”品牌将推高估值