这种集成模式依赖外部或远程应用程序或进程,向由 ArcGIS 系统托管的特定 REST API 发送请求。 在这种情况下,主要业务系统可能包含依靠对 ArcGIS 服务端点进行特定调用的工作流,例如:
这些请求可以通过用户工作流触发,由其客户端应用程序或体验直接向 ArcGIS 服务发送请求,或者通过后端或系统间工作流触发,其中某种自动化或调度任务作为数据处理工作流的一部分发送请求。
这种集成模式的示例可能包括以下技术方法:
前端 JavaScript 应用程序,使用用户的输入地址,向 ArcGIS World Geocoding Service 发送请求,并将所得位置保存到业务系统中
用于包裹配送的移动应用程序,根据用户当前位置每 30 秒通过求解路径请求重新求解到目的地的路线
公民参与或规划的应用程序会先请求用户位置,然后查询一组标准要素图层以获取用户所属行政区或区的信息,最后通过界面向用户展示这些信息
在这些模式中,共同点是远程应用程序会直接向 ArcGIS REST 端点发送查询请求。 这种模式在与 ArcGIS REST API 进行更深度的交互时,通常会采用 API 密钥或应用程序身份验证,而非更常见的用户身份验证模式。
ArcGIS Online、ArcGIS Enterprise 和 ArcGIS Location Platform 均可用于创建适用于此模式的 Web 服务。 ArcGIS Enterprise 可以创建 ArcGIS Online 或 ArcGIS Location Platform 中无法提供的其他服务类型,详情请参见选择架构组件。
| 功能 | ArcGIS Online | ArcGIS Enterprise | ArcGIS Location Platform | ArcGIS Pro |
|---|---|---|---|---|
| 直接 REST API 集成 | N/A |
完全支持 部分支持
直接与 REST 集成时,正确使用身份验证非常重要。 其中许多集成都使用 ArcGIS API 密钥(其权限范围有限)向这些服务发送请求。 根据服务托管在 ArcGIS Online、ArcGIS Enterprise 还是 ArcGIS Location Platform 上,其商业模型和 API 密钥的使用方式可能会有所不同,详情请参阅产品文档。
对于能够使用 JavaScript 的集成,如 NodeJS 进程或未使用 ArcGIS Maps SDK for JavaScript 构建的前端 JavaScript 应用程序,ArcGIS REST JS 库为与 ArcGIS REST 服务交互提供了广泛的功能。
对于能够使用 Python 模块的集成,可以使用 ArcGIS API for Python,该 API 提供了丰富的功能,可用于处理所有类型的 ArcGIS REST 服务。