Skip To Content

GeoEvent Server SDK

ArcGIS GeoEvent Server SDK allows you, as a developer, to create custom components for GeoEvent Server, including transports, adapters, and processors.

Note:

Transports and adapters are the underlying components of connectors. An adapter interprets the data format of the event data, and a transport sends and receives event data over a specified communication protocol.

For more information about connectors, see Connectors.

For more information about processors, see Processors.

GeoEvent Server SDK includes documentation for the packages and classes exposed through GeoEvent Server REST API. Before developing a custom component, determine whether an existing GeoEvent Server component will provide the necessary functionality.

GeoEvent Server SDK documentation

GeoEvent Server SDK includes documentation regarding setting up the Java SE Development Kit and development tools such as Apache Maven. It provides information about the architecture of GeoEvent Server and how to develop custom components, and includes sample components that can be used as a starting point in your development efforts.

GeoEvent Server SDK and its documentation are in the ArcGIS Server installation directory. The default installation directories are as follows:

  • Windows—<ArcGIS Server installation directory>\GeoEvent\sdk (for example, C:\Program Files\ArcGIS\Server\GeoEvent\sdk)
  • Linux—<ArcGIS Server installation directory>/GeoEvent/sdk (for example, ~/arcgis/server/GeoEvent/sdk)

Custom transports

GeoEvent Server includes transports such as HTTP transports that support typical REST request and response messages. Support for HTTP basic authentication is also available. Additional transports that support communications over TCP, UDP, SMS, SMTP, XMPP, WebSocket, and Esri feature services are also included.

If the GeoEvent Server transports do not meet your needs, you can develop a custom transport using GeoEvent Server SDK. For example, if you have access to a service that used a proprietary authentication mechanism such as an exchange of credentials over a TCP socket connection, you can develop a custom transport that understands both the TCP socket protocol and the mechanism being used for authentication.

Custom adapters

GeoEvent Server includes adapters that can parse generic JSON, GeoJSON, and Esri Feature JSON as well as content formatted as geoRSS, XML, and delimited text.

If the GeoEvent Server adapters do not meet your needs, you can develop a custom adapter using GeoEvent Server SDK. For instance, if a data provider sends event data over a socket connection as a stream of hexadecimal bytes, you can develop a custom adapter that understands how to translate the raw byte stream into normal data types such as integers or strings.

Custom processors

GeoEvent Server includes many processors that you can use to perform real-time analysis. For example, you can configure the Field Calculator Processor to compute a derivative value or the Field Enricher Processor to join information from an external source to an event record. These processors are available with GeoEvent Server.

If the GeoEvent Server processors do not meet your needs, you can develop a custom processor using the GeoEvent Server SDK. For example, processors receiving an event record generally do not track attribute values contained in event records that have been recently processed or are about to be processed. If you need a processor to maintain a cache of attribute values from event records received and to periodically report the minimum, maximum, and average of the attribute values as statistics over a period of time, you can develop a custom processor to perform the event aggregation and statistical calculations.