Skip To Content

Расширение с помощью пользовательских компонентов

Возможности ArcGIS GeoEvent Server могут быть расширены путем разработки пользовательских компонентов с использованием ArcGIS GeoEvent Server SDK. GeoEvent Server SDK позволяет вам, как разработчику, создавать пользовательские компоненты, включая адаптеры, транспорт и процессоры.

Примечание:

Адаптеры и транспорт являются основными компонентами коннекторов. Адаптер обрабатывает формат данных событий, а транспорт отправляет и принимает данные о событиях по указанному протоколу связи.

Пакет GeoEvent Server SDK содержит файлы библиотек, примеры, справочник по API Javadoc и руководство разработчика. Он также содержит документацию пакетов и классов, доступных через GeoEvent Server REST API. Перед разработкой пользовательского компонента с помощью SDK, решите, обеспечивают ли существующие готовые компоненты, настроенные с помощью ArcGIS GeoEvent Manager, или надстройки, доступные в галерее ArcGIS GeoEvent Server, необходимую функциональность для вашей работы. Дополнительные сведения об этих вариантах см. в разделе Расширение с помощью готовых компонентов и Использование менеджера надстроек.

GeoEvent Server SDK документация

GeoEvent Server SDK содержит документацию по настройке Java SE Development Kit и таких инструментов разработки, как Apache Maven. Он предоставляет описание архитектуры GeoEvent Server, порядок разработки пользовательских компонентов и примеры компонентов, которые можно использовать для обучения разработке.

GeoEvent Server SDK и его документация в папке установки ArcGIS Server. Папками установки по умолчанию являются:

  • Windows<ArcGIS Server installation directory>\GeoEvent\sdk (например, C:\Program Files\ArcGIS\Server\GeoEvent\sdk)
  • Linux<ArcGIS Server installation directory>/GeoEvent/sdk (например, ~/arcgis/server/GeoEvent/sdk)

Разработка пользовательских адаптеров

GeoEvent Server содержит адаптеры для анализа стандартных форматов JSON, GeoJSON и Esri Feature JSON, а также форматы ресурсов: geoRSS, XML и текст с разделителями.

Если адаптеры, доступные с GeoEvent Server, вам не подходят, можете разработать пользовательский адаптер с помощью GeoEvent Server SDK. Например, если поставщик данных отправляет данные событий по подключению через сокеты в виде потока шестнадцатеричных байтов, можно разработать пользовательский адаптер, который будет уметь преобразовывать поток байтов в нормальные типы данных — целые числа либо строки.

Разработка пользовательских транспортов

GeoEvent Server содержит транспорт, например, транспорт HTTP, поддерживающий обычные сообщения запросов и ответов. Также доступна поддержка базовой аутентификации HTTP. Включен и дополнительный транспорт, поддерживающий коммуникацию через TCP, UDP, SMS, SMTP, XMPP, WebSocket и с сервисами объектов Esri.

Если транспорты, которые поставляются с GeoEvent Server, вам не подходят, можете разработать пользовательский транспорт с помощью GeoEvent Server SDK. К примеру, если у вас есть доступ к сервису, использующему проприетарный механизм аутентификации, например, обмен учетными данными по подключению сокетов TCP, вы можете разработать свой транспорт, который бы понимал как протокол сокетов TCP, так и механизм, используемый для аутентификации.

Разработка пользовательских процессоров

GeoEvent Server содержит массу процессоров, которые можно использовать для выполнения аналитики в реальном времени. Например, вы можете настроить процессор Калькулятор полей для вычисления значения производной либо процессор Field Enricher Processor для присоединения информации из внешнего источника в запись события.

Если вам не подходят процессоры, доступные с GeoEvent Server, можете разработать пользовательские процессоры с помощью GeoEvent Server SDK. К примеру, процессоры, которые получают запись события, обычно не отслеживают значения атрибутов в записях событий, недавно обработанных или подлежащих обработке. Если вам требуется процессор, поддерживающий кэш атрибутивных данных полученных записей событий и периодически сообщающий максимальное, минимальное и среднее значения атрибутов, вычисляя статистику за период времени, вы можете разработать собственный процессор, который будет выполнять агрегирование событий и вычисление статистики.