`

ArcGIS Server .Net Web ADF体系结构

阅读更多
ArcGIS Server .net来创建应用有三个层次,
1 使用manager来创建一个web应用
2 使用 .net模板来创建应用
3 使用adf来创建应用
对于一个项目开发来说,需要采用第三中方式来进行开发的,第一,第二中方式一般用于刚刚基础arcgis server的同志学习使用或者是非常简单的应用来使用的,使用adf来进行开发,弄清楚adf的体系结构就显的非常重要,否则就会象掉进arcobjects的巨多的组件堆里的感觉是一样的。在这个讲座中会讲到.Net ADF为我们提供了什么,我们该在ArcGIS Server.Net开发过程中怎么样有序的去使用它们。
以前我们的adf称为 Server adf,那是因为只有单一的数据源,即ArcGIS Server。而现在的是Web Adf,是针对多数据源的,可以是ArcGIS Server, ArcGIS IMs等。
Adf为我们提供的是控件和api。控件是提供用户界面,而common api和specific api的类来具体完成GIS的功能。
首先我们来看看控件,9.2 ADF的控件明显比以前版本复杂一些,除了我们常见的map,pagelayout,toc等控件之外,还出现了一系列的resoucemanager控件。这些控件的出现都是为支持多数据源的这个目标服务的,在解释控件的同时还会涉及到adf中的其他一些概念,这些概念都是贯穿adf的始终的。

字串6

1 Resouces,ResouceManager,webcontrols, functionality的关系。
首先我们来解释一下Resouces,ResouceManager,webcontrols, functionality的关系。
控件和数据源之间的关系是通过一系列的ResouceManager控件来维护的。ResouceManager决定哪些数据源是可以使用的Resouces,以及这些Resouces怎么样被控件所使用。一旦一个数据源被ResouceManager管理之后,就被展现为Resouces。控件通过Resouces到达数据源。Resouces可以把数据源以多种形式展现出来,比如可以提供一幅地图展现在map控件种,它也可以把数据源以图层列表的方式展现在toc控件中,也就是说Resource拥有不能的能力,这些不同的能力我们成为不同的functionaligy。
从控件角度来讲,不同的控件可以通过不同的方式来使用相同的数据源,比如一个Resouce可以为map控件提供一幅地图,也可以为toc控件提供一套图层的列表,这就Resouces的不同的functionality。
从数据源角度来讲,不同的Resouces会通用的展现一些能力,也就是提供不同的functionality,比如展现地图,查询地图等。
上面这些文字可能刚开始看起来比较费劲,但是对于使用.net开发的人来说一定要弄清楚这些关系。

2 Common APIs和specific APIs的关系
字串3


上面讲了Resouces可以展现为不同的能力,但是具体能够展现为哪些能力还是要看数据源本身能够提供什么样的功能。但是有一些能力是所有数据源都能办到的,也就是说Resouces可以展现出一些所有的数据源都可以提供的能力,比如提供地图,比如查询地图,无论是arcgis server作为数据源,还是arcims作为数据源,这些都是基本的能力。因此adf就把实现这些基本的普通的功能所需要的类归为Common APIs。而有些功能是有些数据源特有的,比如提供编辑功能,那是arcgis server特有的,arcims是无法提供的。这些就被称为specific APIs。
Specific APIs包括arcims api, arcweb api, ogc\wms api, arcgis server soap api, arcgis server arcobjects api,注意其中的arcobjects api也被列为了specific api了,它是arcgis server数据源的specific APIs。

3 Common APIs的基本结构,adf中如何来使用这些common APIs?
我们在开发过程中首先接触到的就是ADF中提供的这些Common APIs,而且它的结构比较明朗,不像Specific APIs那样多样。首先我们来看几个基本接口,
IGISDataSouce――定义了数据源的连接
IGISResouce――定义了datasouce提供的信息类型等
IGISFunctionality――定义了resouce怎么被使用 字串3
这三个接口是不同的数据源可以展现一些基本功能的基本接口,也就是说不同的数据源要实现基本的功能必须实现这三个基本的类,才能在控件上展现出那些基本的能力。各种数据源都用相应的类实现了这三个接口。
那首先来看一下这三个接口之间的关系,
一个GISDataSouce会包含一系列的GISResouces。GISDatasouce是一个比较大的概念,主要就包含了ArcGIS Server Local, ArcGIS Server internet ,ArcIms, WMS, ArcWeb这几种。那就拿ArcGIS Server Local来说吧,它包含了MapResouce, GeocodeResouce, GeoprocessingResouce几种。
一个GISResouce会包含一系列的GISFunctionality。Functionality定义了resouces怎么被使用。Functionality主要有两种mapfunctionality,queryfunctionality。Mapfunctionality主要展现resouce的地图能力,比如输出地图图片,改变地图范围,设置地图中图层的可见性等。而queryfunctionality主要展现resouce的数据的空间和属性查询能力。
刚才说了不同的数据源都有相应的类来实现上面的基本接口,那我们来看看arcgis server local这种数据源的相应的实现类:
IGISDataSouce ――GISDataSouceLocal
IGISResouce ――MapResouceLocal, GeocodeResouceLocal
字串5

IGISFunctionality ――MapFunctionality QueryFunctionality

这就是web adf的优势所在,它可以使得各种不同的数据源都展现为resouce, 使得它们可以以相同的方式得到使用。对于控件而言,每个resouce就象一个图层,而不管数据源是什么。

就举一个地图放大的功能,一个mapcontrol中有两个datasouce,一个是arcgis server local,一个是arcims, 地图的范围重新设定了之后,控件都通过每个resouces提供的mapfunctionality给每个resouces重新设定范围,每个resouces输出这个新的地图。而mapcontrol呢就负责把这些输出图片显示在同一个界面上。对于控件而言,每个resouce就象一个图层。从resouce可以到达datasouce本身。
分享到:
评论

相关推荐

    ArcGIS Server .NET ADF 开发培训

    1. **ArcGIS Server的体系结构**:讲解ArcGIS Server的组成部分,如MapServer、GeocodeServer、GeometryServer等,以及它们在分布式环境中的工作方式。 2. **服务发布**:如何将地图文档(MXD)、地理数据库或几何...

    ArcGIS Server .Net

    #### 二、ArcGIS Server .Net Web ADF 体系结构 **2.1 Resources, ResourceManager, Web Controls, Functionality 的关系** - **Resources**:提供访问 ArcGIS Server 的资源。 - **ResourceManager**:管理资源的...

    ArcGIS_Sever_.NET_入门

    ArcGIS Server .NET Web ADF 体系结构 **2.1 Resources, ResourceManager, Web Controls, Functionality 的关系** - **Resources**: - Resources包括地图服务、地理处理服务等,它们是由GIS Server提供的核心...

    ArcGIS Server体系结构和开发简介

    ### ArcGIS Server体系结构和开发简介 #### 一、ArcGIS Server概述 ArcGIS Server作为地理信息系统(GIS)领域的一款重要软件,旨在为企业提供高效、可靠的空间数据管理和地理信息服务。根据给定文件的部分内容,...

    ArcGIS Server Java ADF案例教程

    - **ADF体系结构**:ADF由多个层次组成,包括数据访问层、业务逻辑层和表示层。这种分层设计确保了系统的灵活性和扩展性。物理组成上,ADF包含了一系列的库和工具,如JDeveloper,它是一个集成开发环境,支持ADF项目...

    ArcGIS server培训教程

    #### 二、ArcGIS Server体系结构与功能 ArcGIS Server主要由两部分构成: 1. **GIS服务器**:这是ArcGIS Server的核心,包含一系列ArcObjects组件库,负责在服务器端运行、平衡负载以及管理ArcObjects的执行环境。...

    arcgis server java

    四、ADF(ArcObjects for Java)体系结构与定制 ADF是ArcGIS Server Java中的一个重要组成部分,它提供了一组API,允许开发者访问和操作GIS服务。ADF允许对ArcGIS Server的功能进行深度定制,如创建自定义地图服务...

    ArcGIS Server 读书笔记

    #### 六、ArcGIS Server 体系结构 - **GIS 服务器**:宿主和运行服务器对象。 - **Web 服务器**:运行 Web 应用和 Web services。 - **Web 浏览器**:最终用户通过浏览器连接到 web 应用。 - **桌面产品**:桌面应用...

    完整的GIS解决方案ArcGIS Sever培训教程

    本教程主要介绍了 **ArcGIS Server** 的基本概念、体系结构、管理方法、编程模型以及Web应用开发框架等内容。 #### 二、ArcGIS Server的功能与特点 - **功能集中实现**:**ArcGIS Server** 将GIS功能集中在服务器...

    基于ArcGIS_Server的校园WebGIS系统的设计与实现

    - **Web层**:包括支持Microsoft .NET和Java的Web应用开发框架(ADF),这些框架允许用户利用运行在GIS服务器上的ArcObjects构建和部署.NET或Java的桌面和Web应用。此外,还包含了一系列软件开发包,其中包括软件...

    测绘子系统技术设计报告

    - **服务器端配置**:本系统采用分布式安装方案,其中Web服务器使用IIS5.1+ArcGIS Server .NET ADF runtime 9.3;GIS服务器使用ArcGIS Server 9.3;数据库采用ArcSDE for Microsoft SQL Server和Microsoft SQL ...

Global site tag (gtag.js) - Google Analytics