Extending ArcGIS GeoEvent Processor
ArcGIS GeoEvent Processor for Server can be extended using the GeoEvent Processor Manager and the ArcGIS GeoEvent Processor Software Development Kit.
If creating new connectors using the adapters and transports included with GeoEvent Processor does not meet your needs, custom adapters and transports can be created. These custom adapters and transports can be incorporated into new Input Connectors and Output Connectors, just like the adapters and transports that are included with GeoEvent Processor.
What are adapters?
Adapters are the components that translate raw streaming data into GeoEvents and vice versa. View a list of available adapters by browsing to the Site > Components > Adapters page in GeoEvent Processor Manager. You can filter the list by inbound and outbound adapters. Inbound adapters support the creation of Input Connectors, while outbound adapters support the creation of Output Connectors.
If the adapters provided with GeoEvent Processor do not meet your needs, custom adapters can be created using the GeoEvent Processor Software Development Kit. An adapter's implementation defines a set of properties that are used to configure the adapter. Once created, a custom adapter is incorporated into a component template which is then configured for a specific purpose.
What are transports?
Transports transmit and receive raw data streams across a communication channel. They bring data streams into GeoEvent Processor or direct data streams out of GeoEvent Processor. Administrators can view available transports by browsing to the Site > Components > Transports page in GeoEvent Processor Manager. You can filter the list by inbound and outbound transports. Inbound transports support the creation of Input Connectors, while outbound transports support the creation of Output Connectors.
If the transports provided with GeoEvent Processor do not meet your needs, custom transports can be developed using the GeoEvent Processor Software Development Kit. A transport's implementation defines a set of properties that are used to configure the transport. Once created, a custom transport can be incorporated into Input Connectors or Output Connectors.
Extending using GeoEvent Processor Manager
GeoEvent Processor provides many connectors that enable the creation of new Inputs Connectors and Output Connectors. Administrators can view available connectors by browsing to the Site > GeoEvent Processor > Connectors page in GeoEvent Processor Manager.
These connectors rely on adapters to interpret different data formats and transports to send and receive data over different communication channels. Adapters for common data formats (text, RSS, Esri Feature JSON, and generic JSON) are provided. Transports for common data communication channels (system file, HTTP, TCP, UDP, WebSocket, and Esri feature service) are also provided.
Create a new or modify an existing connector (adapter and transport) using GeoEvent Processor Manager. Modifying an existing connector does not require using the GeoEvent Processor Software Development Kit. If the format of your streaming data can be translated by an existing adapter and sent (or received) across a common data communication channel, you should be able to modify an existing connector, or create a new connector patterned after an existing template, to support your needs by following the steps below.
The ArcGIS GeoEvent Processor Gallery provides additional connectors for a variety of third-party devices and subscription data streams. These additional connectors often include custom adapters and transports developed using the GeoEvent Processor Software Development Kit.
Create or modify existing connectors
- Open GeoEvent Processor Manager.
- Browse to Site > GeoEvent Processor > Connectors.
- Click Create Connector (or click the Edit button to the right of an existing connector).
- Provide information in the Name, Label, and Description text boxes.
- Choose Input or Output to specify whether the connector will be used to create an Input Connector or Output Connector.
- Choose an Adapter.
- Choose a Transport.
- Provide a Default Name.
- Select the appropriate Shown Properties.
- Add appropriate properties to the Advanced Properties list.
These properties will be available in the Advanced section.
- Add appropriate properties to Hidden Properties.
These properties will be hidden.
- Define appropriate default values for the properties by selecting a property and clicking the Edit button.
- Click Create to create your new connector.
Extending using GeoEvent Processor Software Development Kit
If modifying an existing connector does not meet your needs, custom adapters and transports can be created using the GeoEvent Processor Software Development Kit. An ArcGIS GeoEvent Processor development guide is included with the SDK, providing developers with detailed information on the different components of GeoEvent Processor. The development guide describes how to build custom adapters, transports, and processors to extend GeoEvent Processor.
Creating custom adapters
If streaming data from a third party device or subscription service cannot be processed by an existing adapter, you will need to develop a custom adapter using the GeoEvent Processor Software Development Kit.
For example, if you need to receive data in a proprietary format from a particular type of radio, sensor, or other device, you will need to develop a custom adapter which is capable of interpreting the data and translating it to create a GeoEvent.
Creating custom transports
If streaming data is being sent over a data communication channel which is not recognized by an existing transport, you will need to develop a custom transport using the GeoEvent Processor Software Development Kit.
For example, if you need to receive or send data over a communication channel which uses a proprietary communication protocol, you will need to develop a custom transport which supports the protocol required by the communication channel.
Creating custom processors
Processors are the components contained within GeoEvent Services that perform processing on GeoEvents. If the processors provided with GeoEvent Processor do not meet your needs, custom processors can be created using the GeoEvent Processor Software Development Kit.
GeoEvent Processor includes a variety of processors capable of calculating values based on received event data, enriching received events with information from a file or feature service, adapting event data to different data schemas, and generating incidents based on specified spatial or attribute criteria.
See Processors to learn more about the processors available.
Accessing the GeoEvent Processor Software Development Kit
The GeoEvent Processor Software Development Kit is installed with GeoEvent Processor and is available in the sdk folder under the product install directory. The default install directory is:
- On Windows: %ProgramFiles%\ArcGIS\Server\GeoEventProcessor\sdk
- On Linux: ~/arcgis/server/GeoEventProcessor/sdk
The GeoEvent Processor Software Development Kit includes the library files, samples, Javadoc API reference, and a developer guide.