Skip To Content

Знакомство с GeoEvent Server Software Development Kit (SDK)

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

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

Более подробно см. Управление коннекторами.

Дополнительная информация о процессорах приведена в разд. Процессоры.

GeoEvent Server SDK содержит документацию пакетов и классов, доступных через GeoEvent Server REST API. Перед разработкой пользовательского компоненты определите, обеспечит ли имеющийся компонент, доступный через 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 содержит транспорт, например, транспорт HTTP, поддерживающий нормальные сообщения запросов и ответов. Также доступна поддержка базовой аутентификации HTTP. Включен и дополнительный транспорт, поддерживающий коммуникацию через TCP, UDP, SMS, SMTP, XMPP, WebSocket и с сервисами объектов Esri.

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

Если вам нужен пользовательский адаптер

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

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

Если вам нужен пользовательский процессор

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

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