十二 30
Digg
Stumbleupon
Technorati
Delicious

ArcGIS Server 连接方式

ArcGIS Server可以通过Local和Internet两种方式连接,Local连接是在客户端利用AO连接到SOM的,而Internet连接是在客户端利用本地代理连接到Web service端,本地代理是指在本地开发环境(.net,java)中独立管理的对象。 Local方式的连接提供了利用AO API和SOAP API操作services,即server objects和server context,如果需要永久改变server object的状态(stateful)只能利用AO API,当然也就需要使用Local方式连接,Local连接需要提供server机器名和需要连接的service服务名,并且此连接必须利用agsusers或agsadmin组中的用户添加Identity验证;Local data sources使开发者可以通过server context操作细粒AO,即可以在Web ADF application中使用丰富的AO功能,例如编辑图层、网络分析等。如果以编程方式使用Local data source,利用数据资源库ESRI.ArcGIS.ADF.Web.DataSources.ArcGISServer,通过类MapFunctionality可以得到map description;而MapResourceLocal也可以通过ServerContextInfo.ServerContext得到context。 Internet方式连接仅提供利用SOAP API以通过WSDL来访问和操作services的能力,而所有的service也是无状态的。对Internet data source来说context是无效的,当然也没有细粒AO的功能,此种连接Indentity验证不是必须的,因为ArcGIS Server Web services可以使用基于web server的验证,即在一个web application中多个internet数据源可以采用各自不同的安全验证方式。对Internet方式连接的服务推崇使用pool类型,而non-pool类型只对单个用户服务,并且每次用完后都得显式的进行销毁。如果以internet方式连接并使用non-pool类型服务,每一次地图操作过程都会创建和销毁一个进程,这样将大大影响你的工作效率。如果以编程方式使用Internet data source,利用数据资源库ESRI.ArcGIS.ADF.Web.DataSources.ArcGISServer,此库中包含functionality类和其他一些用于在无状态下使用的细粒任务类。 总之,客服端连接server的方式可以按如下规则选取: 1、Internet连接方式使用soap api并且利用url连接到web service端,internet连接可以运用到internal(LAN)和internet网。 2、Local连接方式即可利用AO API也可以利用SOAP API,根据客服端的需要,而Local连接仅能用于局域网内。 ArcGIS Server是一个服务器端的AO组件集,我们对AS的编程操作,都意味着对远端服务器上对象的操作,这是一个很大的不同。以使用AE开发成为为例,我们新建一个对象,使用的是new关键字,这是在本地机器上新建一个对象的操作,这个操作一直封装在一个进程中。而AS的开发,意味着本地的一个对象,必须调用远端的一个对象来实现某种功能,本地的操作进程与远程的操作进程实际上是两个不同的进程,如何在两个进程之间进行通讯呢? AS使用了分布式对象技术DOT来处理这个问题,ADF提供了一系列所谓的ArcObjects proxy对象,一个proxy对象就是一个远端对象在本地的引用,它的接口和方法与proxy对象的远端对象完全一致,这样,我们对proxy对象的操作,就会直接影响到它代理的远端对象。 我们说过,AS是一个三层模型,其中通过浏览器访问的WEB程序和WEB服务都是放在第二层,即WEB服务器上的,为了让WEB服务器上的程序能够通过操作AO组件来与GIS服务器上的AO组件进行交互,我们需要在WEB服务器上安装ADF,如果是发布的话,安装ADF Runtime就行了。因此,AO的proxy对象都是安装在web服务器上的。 WEB程序或WEB Service使用的组件是Server API,这些API分为三种:Server API,.NET WebControl和Java WebControl。 当一个WEB应用程序连接到GIS服务器的时候,WEB程序使用的Server API将调用一个代理对象去访问远程服务器上的SOM对象,并通过SOM对象寻找到SOM管理的Server Object对象。它使用了分布式对象技术DOT。这个过程是这样的: IGISServerConnection pGISServerConn=new GISServerConnectionClass(); pGISServerConn.Connect(“nbjbt”);//连接到GIS服务器 [...]

Author: jianyun
十二 27
Digg
Stumbleupon
Technorati
Delicious

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 [...]

Author: jianyun