ArcGIS Enterprise SDK включает несколько дополнительных технологий для настройки ГИС-сервисов, которые могут поддерживать интеграционные рабочие процессы или шаблоны. С каждым из этих шаблонов разработчики программного обеспечения Java или .NET могут писать код с использованием ArcGIS Enterprise SDK для расширения существующих сервисов, создания новых шаблонов или изменения поведения существующих сервисов.
Расширения серверных объектов (SOE) используются для добавления новых методов или возможностей (конечных точек REST) к существующим сервисам. Эти расширения не влияют на существующие конечные точки и методы сервисов, поэтому их обычно могут использовать только пользовательские приложения или рабочие процессы, которые знают о конечной точке и могут вызывать его напрямую. Для получения дополнительной информации о SOE см. раздел Что такое REST SOE.
Перехватчики серверных объектов (SOI) используются для изменения, управления или настройки существующей функциональности конечных точек конкретного поддерживаемого сервиса. Это означает, что код SOI вызывается при каждом запросе сервиса, и разработчик выборочно переопределять существующую логику, например для запроса /query или /identify. Код SOI затем может действовать либо на входящий запрос, корректируя параметры или входные данные, либо на ответ от существующего сервера, удаляя атрибуты, добавляя информацию или выполняя другие операции. Для получения дополнительной информации о SOI, включая примеры и рекомендации по написанию кода, см. раздел Что такое SOI.
Перехватчики сервисов — это новая модель разработки, позволяющая глобально контролировать определённые шаблоны или типы сервисов, работая на уровне REST-интерфейса всего сайта, а не отдельного сервиса. Перехватчики могут использоваться для управления поведением набора сервисов вместо самостоятельного применения SOI к каждому сервису. Для получения дополнительной информации о перехватчиках сервисов и сравнения с существующими концепциями SOI см. раздел Обзор сервисных перехватчиков.
Для целей интеграции эти шаблоны расширяемости позволяют внедрять интеграцию в существующий сервер приложений (ArcGIS Server) таким образом, чтобы она могла использоваться в других рабочих процессах и шаблонах ArcGIS.
SOE строятся на основе существующих сервисов, поэтому они наследуют модель аутентификации интегрированных сервисов в развертывании ArcGIS Enterprise. Шаблоны разработки .NET или Java могут иметь устоявшиеся библиотеки или инструменты для работы с удалённым набором данных или системой, поэтому для интеграции создание новой конечной точки веб-сервиса с использованием SOE может быть проще, чем хостинг и создание отдельного сервиса.
SOI работают с уже существующими конечными точками, такими как запросы /query. Это позволяет перехватывать запрос, а затем выполнять любые необходимые действия с входными данными или результатами, например, объединять данные из существующей системы или фильтровать результаты по запросу к другой конечной точке. Эти шаги создают задержку при каждом запросе и должны быть тщательно продуманы, чтобы избежать значительного снижения производительности.
Приложения или сервисы ArcGIS Online, взаимодействующие с корпоративными сервисами ArcGIS, могут стать пользователями SOI и перехватчиков сервисов, подключая такие слои в веб-картографические интерфейсы. То же самое относится к ArcGIS Pro, который является поддерживаемым клиентом для этих типов сервисов, может использовать их для визуализации и картографических целей, в качестве источников для инструментов геообработки или для печати, сохраняя всю логику SOI или перехватчиков сервисов. SOE обычно используются пользовательскими приложениями, созданными для работы с этими новыми, специфичными для конкретных случаев конечными точками.
| Возможности | ArcGIS Online | ArcGIS Enterprise | ArcGIS Location Platform | ArcGIS Pro |
|---|---|---|---|---|
| SOE и SOI | Н/Д |
Полная поддержка Частичная поддержка
Перед началом разработки SOE, SOI или перехватчика сервисов обратитесь к документации ArcGIS Enterprise SDK, в частности к Философии проектирования ArcGIS Enterprise SDK, которая содержит полезные рекомендации и информацию об этих схемах разработки. Смотрите раздел документации Стратегии создания REST SOE для лучших практик и рекомендаций по разработке SOE.