面向开发人员的 ArcGIS
面向开发人员的 ArcGIS 架构可被视为一系列通过简单的服务模型连接的客户端和服务器。ArcGIS 的客户端连接至各 GIS 服务并使用这些服务。而服务器将提供这些服务。
ArcGIS 的开发者支持均基于这种客户端-服务器模式。
ArcGIS 包含一组丰富的客户端(即服务客户端),用于各种平台 - 从 Web 平台到移动平台,乃至所有的桌面工作站。而且,还包含一组提供 GIS 服务的服务器。这些服务器可作为云环境中托管服务的设备、作为企业级服务器或本地 GIS 运行时而运行。此外,Desktop GIS 还可访问和使用本地网络中的 GIS 文件。
ArcGIS 客户端
ArcGIS 提供了许多客户端,并会根据您所使用的客户端支持不同的开发 API。
ArcGIS Desktop
大多数情况下,ArcGIS Desktop 用于创建和处理丰富的地理信息,并在 ArcGIS 系统中共享并部署这些信息。您可以使用 ArcGIS Desktop 构建地图、地理数据和分析模型,以及执行 GIS 项目操作。同时,ArcGIS Desktop 还是 GIS 数据编制的主工作站。
通过 ArcGIS Desktop,您可创建和发布地图包和图层包,从而提高 Web 中其它 ArcGIS 系统和 GIS 服务的运作效率。
您可使用 .NET、Java 或 C++ 的 ArcObjects API 对 ArcGIS Desktop 进行自定义和扩展。ArcObjects 是一套用于为 Desktop 写入加载项和扩展模块的综合软件组件。
ArcGIS Engine
ArcGIS Engine 可独立于 ArcGIS Desktop 使用,它通过使用 .NET、Java 和 C++ 的 API 来编写自定义应用程序并将 ArcGIS 嵌入到其他桌面应用程序中。
与 ArcGIS Desktop 相同,ArcGIS Engine 同样基于 ArcObjects 组件库。有关详细信息,请访问 ArcGIS Engine 资源中心。
Web 应用程序
在 ArcGIS online 中,您可以访问和使用一系列面向 JavaScript、Flex 以及 Silverlight 的 Web API,从而构建与 ArcGIS 结合使用的自定义 Web 应用程序。
这些 Web 应用程序与开放式 Web 中 ArcGIS server 节点、ArcGIS online 以及用户制图服务器中的地图服务和其他地理信息服务建立连接,并充分利用这些服务。
面向 JavaScript、Flex 和 Silverlight 的 Web 客户端选项有很多。
另一个选择是使用 ArcGIS Explorer Online,通过它您可以使用 Web 地图、创建和共享地图演示,以及利用地图提供信息。基于地图提供信息是传递关键消息的重要机制。
ArcGIS for SharePoint
ArcGIS 服务也可作为 ArcGIS 的 Web 组件在 SharePoint 网站中使用。这使您能够嵌入 ArcGIS Web 地图并在 SharePoint 应用程序中使用它们。Web 地图可以访问和使用地图服务和其他 GIS 服务。
有关详细信息,请参阅使用 ArcGIS for SharePoint。
移动 GIS 应用程序
ArcGIS 可以为许多移动客户端提供支持,其中包括 Windows Mobile 电话、Tablet PC 和 Apple iPhone。有关详细信息,请参阅移动 GIS 资源中心。
ArcGIS 服务
ArcGIS Server 在基于服务器的架构中部署 ArcGIS 功能。GIS 地图、数据和地理处理模型都可以作为 Web 服务来进行部署,GIS 专业人员和其他用户几乎可以通过任一客户端来访问和使用它们。用户可以借助于计算机库在组织现场或 Web 中的云服务器上部署和调整 GIS 服务。
用户通过 ArcGIS Desktop 创建重要的 GIS 地图和信息,然后使用 ArcGIS Server 将其作为 Web 服务发布。通过这种方式,ArcGIS Server 能够提供广泛的信息访问途径,并允许您对 GIS 进行调整,以使其适用于任意配置或情况。
支持的 Web 服务 API 包括:SOAP、REST 和 OGC 协议(例如,WMS、WFS 和 WCS)。有关详细信息,请参阅 ArcGIS 服务。
面向 ArcGIS 开发人员的资源
ArcGIS 资源中心包含一系列面向 ArcGIS 开发人员的网页。
该资源中心可引导所有开发人员找到使用任一 ArcGIS 组件所需的相关开发人员资源。您还可以查找帮助主题、博客、论坛、视频及有帮助的代码示例以对开发工作提供帮助。
此外,还有功能强大的开发人员社区,您可以与其连接以下载并共享有用的应用程序代码和自定义应用程序。