Пользовательские каналы данных — это возможность ArcGIS Enterprise, которая позволяет разработчику создавать и публиковать веб-сервисы из источников данных, которые которые изначально не поддерживаются ArcGIS. Данные, доступные через пользовательский канал данных, представлены как конечная точка REST сервиса объектов и могут передаваться веб-клиентам, настольным приложениям, полевым приложениям или любому другому REST-клиенту. Некоторые сценарии, где пользовательский канал данных может быть хорошим вариантом, включают:
Пользовательские потоки данных используют инструмент командной строки cdf, входящий в ArcGIS Enterprise SDK. Инструмент позволяет использовать JavaScript для создания и тестирования поставщиков пользовательских данных, которые извлекают данные из ваших источников. Он также упаковывает ваш код в пользовательские файлы пакетов данных, которые можно использовать для регистрации поставщиков данных в ArcGIS Server. После регистрации данные могут стать доступными клиентам ArcGIS в виде сервисов объектов, ссылающихся на ваших поставщиков данных.
Пользовательские каналы данных могут использоваться любым клиентом в виде HTTP REST сервисов и специально разработаны для поддержки существующих клиентов ArcGIS, где пользователь может взаимодействовать с данными из пользовательского канала данных, создавать всплывающие окна, даже редактировать объекты, не указывая, что сервис основан на внешнем или стороннем источнике данных.
Пользовательские каналы данных можно создавать только в ArcGIS Enterprise. Их можно использовать в ArcGIS Pro и веб-приложениях в ArcGIS Enterprise и ArcGIS Online.
| Возможности | ArcGIS Online | ArcGIS Enterprise | ArcGIS Location Platform | ArcGIS Pro |
|---|---|---|---|---|
| Пользовательские канали данных | Н/Д |
Полная поддержка Частичная поддержка
При разработке индивидуальной интеграции канала данных учитывайте следующие лучшие практики:
Тщательно управляйте крупными запросами данных: пагинация, большие размеры запросов и время ожидания сериализации или преобразования могут привести к плохой работе пользовательского канала данных, если запрашиваемый набор данных слишком велик. Если удалённый API или источник данных поддерживает индексирование, атрибутивные или пространственные фильтры, логику можно записать в пользовательском канале данных, чтобы переводить входящие параметры запроса слоя объектов (например, экстент) в оптимизированные запросы к серверной части.
Хотя пользовательские каналы данных реализуют конечную точку сервиса объектов, с которой могут работать большинство приложений ArcGIS, будьте внимательны при тестировании предполагаемых приложений для вашей системы — некоторые приложения отправляют сложные запросы или ожидают дополнительных возможностей от сервиса функций и могут работать не идеально с пользовательскими каналами данных. Ознакомьтесь с документацией REST API и работайте с Esri, чтобы понять ограничения, специфичные для вашего рабочего процесса, пользовательского канала данных и поставщика данных.
Включайте в канал данных только необходимые атрибуты. Хотя удалённый API или источник данных может предоставлять большое количество атрибутов, в ответах клиентам ArcGIS следует включать только необходимые атрибуты для достижения наилучшей производительности.
По возможности используйте существующие библиотеки NodeJS. Если удалённый API или сервис доступен через известную библиотеку или модуль NodeJS, например, доступный из npm, используйте эти модули и поддерживайте их в актуальном состоянии, так как они часто внедряют новейшие стандарты безопасности и аутентификации для этой удалённой системы. Эти модули могут разрабатываться поставщиками (например, модуль arcgis-rest-js, который поддерживает Esri) или поддерживаться сообществом с открытым исходным кодом.
Пользовательские каналы данных ожидают идентификатор на основе целых чисел для каждой записи. Если возможно, включите его в серверную схему или сгенерируйте его, чтобы избежать ситуации, когда CDF требует генерации ID, что может привести к несогласованности при использовании некоторых приложений ArcGIS.