使用 ArcGIS Server 进行开发:概述

在不断深入学习和使用 ArcGIS Server 的过程中,您可能会想要在管理器之外构建或定制应用程序。ArcGIS Server 为用户提供了若干程序设计框架或 API,您可以利用这些资源创建自己的应用程序和服务。而选择哪种 API 则需要根据个人经验、技术级别以及应用程序的要求。

本部分帮助描述了使用 ArcGIS Server 进行开发的各种不同方法。将列出各种可用的 API 并介绍这些 API 在“开发者帮助”中各自对应的位置。

Web 制图 API

自 ArcGIS Server 发布之日起,ESRI 开始提供面向 .NET 和 Java 的 Web 应用程序开发人员框架 (ADF)。2008 年,ESRI 还发布了面向 JavaScript、Flex 以及 Silverlight 的 Web 制图 API,进一步扩大了 Web 应用程序开发人员的选择范围。以下链接汇总了各类 API,通过这些链接可访问“资源中心”网站,从而阅读完整的文档。

选择 API

这些 API 在功能上大同小异。选择 API 时,最重要的问题不是“您想要做什么?”,而是“您的开发人员最习惯于使用哪个平台?”。如果一直使用 Microsoft 堆栈,而且开发人员也倾向于使用这个平台,则建议您选择 .NET 和 Silverlight。同理,如果您在编写 ArcIMS 应用程序的自定义脚本方面有着丰富的经验,您会发现 JavaScript API 是个不错的选择。

许多初级开发人员认为,与 Web ADF 相比,JavaScript API、Flex API 和 Silverlight API 更容易掌握,因为这些 API 的架构更为基础。在这些 API 的在线“资源中心”中,您可以观看视频、阅读教程以及查看面向初学者的操作示例。ESRI 提供了 ArcGIS Server 部署示例,以便您能够更方便地练习各种 API 的使用。实际上,您只需具有“记事本”和 Internet 连接就能在计算机上运行 JavaScript 制图应用程序。

相比之下,某些开发人员可能更喜欢 .NET 和 Java ADF 的强大功能和熟悉的编码模式,对于过去经常使用 .NET、Java 或 ArcObjects 的开发人员更是如此。

直接使用 GIS 服务器

ArcGIS 系列产品基于一组称为 ArcObjects 的软件对象构建而成。JavaScript API 和 Web ADF 提供了更高级的框架,通过此框架,用户在使用 GIS 服务器时不必担心 ArcObjects 级别的运行状况。但如果需要 ArcObjects 的完整功能,可使用随 Web ADF 和 ArcGIS Engine 提供的连接库与 GIS 服务器建立直连并使用细粒度的 ArcObjects API。您可以按照此方法构建使用 GIS 服务器的桌面客户端应用程序或应用程序 Web 服务。

如果不使用 ArcObjects,可选择另一种方式,即使用 SOAP API。在使用启用了 Web 访问的服务时(默认情况下,所有 ArcGIS Server 服务都已启用 Web 访问),这是一个理想的选择。SOAP API 具有 ArcObjects 的大部分功能。可通过 Web ADF 或非 ESRI 解决方案(如“.NET SOAP 工具包”)来使用 SOAP API。

还可通过另外一种方法 REST API 基于已启用 Web 访问的服务进行开发。所有 ArcGIS Server 实例都具有“服务目录”,在该目录中,您可以通过表述性状态转移 (REST) 技术来浏览服务器上的服务和功能。您可以将“服务目录”作为向导使用 REST 绘制地图、执行查询、执行地理处理任务、查找地址以及执行许多其他针对 GIS 服务的常见操作。

可在 Web 浏览器中使用 http://<服务器名称>/<实例名称>/rest/services 来访问“服务目录”。在“服务目录”一角,您会看到指向“API 参考”的链接,此参考提供了有关 REST API 所能实现的功能的详细信息。所有 ArcGIS API for JavaScript、ArcGIS API for Flex 和 ArcGIS API for Silverlight 都在后台使用 REST API,因此在使用这些 API 时,您也会经常用到“服务目录”。

扩展 GIS 服务器

通过构建服务器对象扩展模块 或粗粒度的自定义 ArcObjects 类,可增加核心服务(制图、地理编码以及地理处理等)的功能。这些功能潜力巨大,但需要大量使用 ArcObjects。服务器对象扩展模块的示例(您可能已经非常熟悉)包括 ArcGIS Server 地图服务提供的 Network Analyst 功能和 WMS 功能。

“开发者帮助”的服务器对象扩展模块主题中包含有关构建服务器对象扩展模块的信息。

构建移动应用程序

ArcGIS Mobile 和 ArcGIS for iPhone 可用于构建使用 ArcGIS Server 的移动应用程序。您可以从预先创建好的应用程序入手或是开发自己的应用程序。要了解详细信息,请访问 ArcGIS 资源中心的 Mobile GIS 页面。

帮助信息来源

ArcGIS Server 开发者帮助包含了概念性信息、示例应用程序和分步执行操作的情景。库参考包含每个类、成员以及对象模型图的更详细的帮助信息。可在 ESRI 开发者网络 (EDN) 网站上查找最新帮助的更新版本。

ArcGIS Server 开发者帮助

在安装 Web ADF 时,会自动安装“开发者帮助”。“开发者帮助”可以从桌面启动,也可以通过 Linux/Solaris 中的命令行或在支持的开发者 IDE 中启动。

要从桌面启动“开发者帮助”,请执行以下步骤:

  1. 导航到“开始”>“所有程序”>“ArcGIS”>“开发者帮助”>“适用于 Java 的服务器帮助”。
  2. 单击“开发应用程序”。

要在 Linux/Solaris 中通过命令行打开“开发者帮助”,请执行以下操作:

在 Linux/Solaris 中,可通过运行以下命令以安装程序所有者的身份打开“Java 开发者帮助”:

% <ArcGIS Server 安装目录>/arcgis/scripts/startJavaHelp。

要在 Eclipse 中打开“开发者帮助”,请执行以下操作:

  1. 在“帮助”菜单中单击“帮助目录”。
  2. 帮助目录出现时,单击 ArcGIS Server。
  3. 单击“开发应用程序”。

库参考(组件帮助)

库参考包含了 Web ADF 中的每个类和成员的简要说明。某些类和成员具有额外的备注和代码示例。此外,如果程序包具有对象模型图,则可在库参考中找到。

可按照上述步骤打开“开发者帮助”来访问库参考。单击 ArcGIS Server 后,将在目录中看到“参考”结点。

ArcGIS Server 资源中心

ArcGIS 资源中心的 ArcGIS Server 页面提供最新版本的“开发者帮助”和库参考。

ArcGIS Server 博客

ArcGIS Server 团队开设了一个博客,您可以在该博客中查找帮助系统中未包含的提示信息和示例。主题包括 Web ADF 开发、性能和缓存、服务包以及近期将举办的会议和研讨会。

代码库和 ArcScripts

ArcGIS Server 代码库和 ArcScripts 是供用户学习其他开发人员的代码以及共享自己项目的在线资源。

可通过“ArcGIS Server 资源中心”访问代码库。以下是各个 Web ADF 与 Web API 代码库的快速链接:

ArcScripts 网站与资源中心类似,开发人员可通过该网站交换与 ESRI 产品相关的工具、示例以及实用程序。

如果其他用户已创建了您所需的工具,您可以先熟悉代码库和 ArcScripts,这样可节省许多时间和精力。如果您开发了有用的工具,也可以将其共享以便其他用户下载。


3/7/2012