ArcGIS Server 体系结构

    作者:Flyingis

    ArcGIS Server是一个发布企业级GIS应用程序的综合平台,提供了创建和配置GIS应用程序和服务的框架,可以满足各种客户端的各种需求,这是对 ArcGIS Server一个抽象的描述,那么ArcGIS Server在GIS应用中具体扮演什么样的角色呢?

    使用过ArcGIS 桌面应用软件的人知道,在桌面环境中存在各种GIS工具可以供使用,如展现GIS数据可以用ArcMap、ArcGlobe,根据位置寻址可以使用 address locator,对数据进行分析操作可使用ArcToolbox的Geoprocessing工具,这些包含了不同级别的GIS功能,从底层来看,都是通过ArcObjects来实现这些的。

    站在ArcGIS Server的角度上,我们不再考虑要处理的数据是ArcMap的mxd文档、ArcGlobe的3dd文档、还是address locators等,相应地,我们用服务的概念来对它们进行描述,这些服务可以是map services、globe services、geocode services,GIS资源依托这些服务存在,当需要在GIS Server上共享一个地图时,就使用该地图的mxd来定义一个Map Service。可以看出,ArcGIS Server的目的就是宿主各种服务,并为客户端应用提供这些服务资源,另外,ArcGIS Server提供了一个管理程序来对服务进行控制与管理。

    ArcGIS Server体系结构可以用下图来描述:


    GIS Server

    宿主各种GIS资源,例如maps、globes、address locators,并将它们封装为服务提供给客户端应用。

    GIS Server本身包括两部分:Server Ojbect Manager(SOM)和Server Object Containers(SOCs)。通过命名可以看出,是一个SOM和一个或多个SOC,客户端发送请求到SOM,SOM将分配的资源提供给客户端,通过 SOM对SOC进行调度与管理。

    Web Server

    Web Server包含Web应用的部署,以及Web服务,它们均使用GIS Server上的服务资源。

    Clients

    这里所说的客户端是多样化的,可以是Web客户端、Mobile移动设备、通过HTTP连接到ArcGIS Server Internet服务或通过LAN/WAN连接到ArcGIS Server Local Services的ArcGIS桌面应用。

    Data Server

    包含GIS Server上所发布服务的GIS资源,可以是mxd文档、geodatabase、toolbox等。

    Manager and ArcCatalog administrators

    两者都可以用来将GIS资源作为服务发布,并进行管理,不同的是一个是在Web页面上管理,另一个在桌面Catalog上,在图上可以看出,它们所针对的层次有所不一样。

    ArcGIS Desktop content authors

    各种GIS资源需要使用各种ArcGIS Desktop软件来定制,如果需要为地图服务生成缓存,可以用ArcCatalog来创建cache。

   
    文章参考了ArcGIS Server官方文档

    相关文章:ArcIMS 体系结构

Flyingis @ China
email: dev.vip#gmail.com
blog: http://flyingis.cnblogs.com/

posted @ 2007-07-17 14:30 Flyingis 阅读(6119) 评论(9)  编辑 收藏 网摘 所属分类: ArcGIS Server

  回复  引用  查看    
#1楼2007-07-24 18:25 | 空明流转      
最近我也要上Server了。头说要我一个月做个原型系统出来。
  回复  引用  查看    
#2楼[楼主]2007-07-26 09:42 | Flyingis      
@空明流转
一个月做原型系统?看要做成什么样的了,先用template做基础进行扩展。

  回复  引用  查看    
#3楼2007-07-28 20:41 | 空明流转      
差不多就是Template,而且Template提供的那个Map Viewer也不打算动了,主要是一些辅助的东东,让它变成一个相对完整的站点。

WEB我是一窍不通,郁闷得要死。

  回复  引用  查看    
#4楼[楼主]2007-07-30 09:00 | Flyingis      
@空明流转
最好一个个击破,先做点东西出来,在实际项目中进步会很快的。

  回复  引用    
#5楼2008-07-19 16:42 | gisxu[未注册用户]
我要学sever了,对于网络之前也没接触过,很是郁闷呢~~~博主能给点建议么?
  回复  引用  查看    
#6楼[楼主]2008-07-19 22:13 | Flyingis      
@gisxu
先了解网络开发模式,以一种语言平台为基础,既然做server,就在J2EE和.Net选择其一,php和ruby就不用考虑了。再看server架构和ADF编程方法,多写些代码。网络开发的知识点很多,包括MVC,松散耦合设计,数据持久化,数据库优化,网络优化,安全认证机制,客户端开发,web服务等,用到时再逐个学习。

  回复  引用  查看    
#7楼2009-01-07 10:27 | Sparrow Hawk      
楼主写得很好,正想学习该方面的内容,看来楼主的博客要常来拜访了,楼主的文章有版权,所以未经楼主同意没有转载,收藏了。呵呵,谢谢楼主!



发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 821174




相关文章:

相关链接: