Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ming Zhao Software Developer ArcGIS GeoEvent Processor for Server

Similar presentations


Presentation on theme: "Ming Zhao Software Developer ArcGIS GeoEvent Processor for Server "— Presentation transcript:

1 ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors
Ming Zhao Software Developer ArcGIS GeoEvent Processor for Server Patrick Hill Software Developer ArcGIS for Military Solutions Team

2 ArcGIS GeoEvent Processor for Server
Integrates and exploits real-time data Integrates real-time streaming data into ArcGIS Performs continuous processing and real-time analytics Sends updates and alerts to those who need it where they need it GeoEvent Services ws:// Outputs GeoEvent Processor ArcGIS Server Inputs ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

3 Receiving real-time data
Connectors You can easily integrate real-time data with ArcGIS by using an input connector. GeoEvent Processor Inputs Outputs GeoEvent Services Esri Gallery Twitter Instagram VMF Cursor-on-Target CAP TAIP (Trimble) NMEA RabbitMQ RAP (Sierra Wireless) GeoMessage ActiveMQ Partner Gallery GNIP Geofeedia OSIsoft ASDI (FAA) exactEarth Zonar NetworkFleet CompassCom Valarm Harris Receive RSS Receive text from a TCP Socket Receive text from a UDP Socket Receive JSON on a REST endpoint Receive Features on a REST endpoint Receive JSON on a Web Socket Receive JSON on external Web Socket ws:// Poll an ArcGIS Server for Features Poll an external website for JSON Out of the Box Watch a folder for new .csv files Watch a folder for new .json files .csv .json ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

4 Applying real-time analytics
GeoEvent Services A GeoEvent Service configures the flow of GeoEvents, the Filtering and GeoEvent Processing steps to perform, what input(s) to apply them to, and what outputs(s) to send the results to. ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

5 Sending real-time data
Connectors You can easily send updates and results to those who need it where they need it using an output connector. GeoEvent Processor Inputs Outputs GeoEvent Services Twitter Esri Gallery ActiveMQ RabbitMQ Hadoop MongoDB CESIUM Partner Add a feature Update a feature Send an Send an instant message im Send a text message Publish JSON to a Web Socket ws:// Out of the Box Push JSON to an external Web Socket ws:// Publish text on a TCP Socket Publish text on a UDP Socket Publish JSON to an external website Publish on a REST endpoint Write to a .csv file .csv Write to a .json file .json ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

6 Extending GeoEvent Processor
Software Development Kit (SDK) You can create your own custom connectors and processors using the GeoEvent Processor Software Development Kit (SDK). GeoEvent Processor Inputs Outputs GeoEvent Services Your connectors Your connectors Your processors ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

7 GeoEvent Processor SDK
api: JavaDoc content associated with GeoEvent Processor SDK lib: Contains library used to build connectors (and processors) repository: Local maven repository samples: Sample connectors (and processors) GeoEvent Processor Developer Guide ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

8 Connectors ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

9 Connectors What Does a Connector Do? Connectors are used to create Inputs and Outputs, hiding the technical details It might be very specific Get latest earthquakes from USGS Or more general Connect to an RSS feed ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

10 National Weather Service
Creating Inputs Configured using Connectors RSS Connector National Weather Service Connectors JSON over REST Receive Text via TCP US Geological Survey GeoEvent Processor Processor Inputs GeoEvent Services Live Traffic Services Storms Earthquakes Outputs Traffic ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

11 Connector The connector helps the user by Providing default values
How Does it Help The connector helps the user by Providing default values Re-label properties to be appropriate to the context Move properties under an “advanced” area to discourage modification Completely hide properties that the user should not see ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

12 Input (Receive text from a TCP Socket)
Connector How Does it Help By choosing a Connector, the user implicitly selects components from the GeoEvent Processor that know HOW to move data (Transport) WHAT the data looks like (Adapter) Example Input Input (Receive text from a TCP Socket) GeoEvent Start Stop Byte [ ] GeoEvent Services TCP Transport Text Adapter ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

13 Exploring a Connector Demo
ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

14 Transport ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

15 Transport Provides a Transport Definition Instantiates new Transports
What makes up a Transport? Transport Service Provides a Transport Definition Instantiates new Transports Transport Definition Defines transport metadata and properties Transport Implements transport application logic ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

16 Transport Behavior Transports are given
Properties defining behavior A “ByteListener” where the bytes should be sent Transport is started by the server and it sends bytes to the receiver Transport is stopped by the server and it stops sending bytes ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

17 Transport Lifecycle Transports Transports have a lifecycle that determines if they are producing data. Server calls start() Transport reads properties and starts STARTING Internal error occurs STOPPED STOPPED STARTED STARTED STOPPING ERROR Transport closes resources Server calls stop() ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

18 Outbound Transports Transports Outbound Transports accept arrays of bytes from the Adapter and transmit them. Occasionally the destination for the bytes depends on content in the GeoEvent. The Transport has the option of “looking back” at the GeoEvent that generated the bytes, and using it to route the data. ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

19 Transport Code Walkthrough
Starting the Transport ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

20 Transport Code Walkthrough
Receiving Data ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

21 Transport Code Walkthrough
Applying Properties Stopping Transport ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

22 Properties ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

23 Property Definition Properties Transports and Adapters request properties through their “Definition” class. Each requested property has a Name Description Type (String, Integer, Float, …) Default Value ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

24 Advanced Topics – More on Properties
Properties can be Mandatory or Optional. Some properties are dependent on others Example: “Compression Algorithm” depends on “Compressed = True” Some properties only accept values from a list of Allowed Values “Compression Algorithm” : [ Run Length Encoding, Zip, LZW ] ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

25 Adapter ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

26 Adapter Provides an Adapter Definition Instantiates new Adapters
What makes up an Adapter? Adapter Service Provides an Adapter Definition Instantiates new Adapters Adapter Definition Defines adapter metadata and properties Adapter Implements adapter application logic ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

27 Adapter Behavior Adapters are given Adapters are DATA DRIVEN
Properties defining behavior A “GeoEventListener” where the GeoEvents should be sent Adapters are DATA DRIVEN No start/stop calls The adapter is handed a byte array and pushes any generated GeoEvents to the Listener ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

28 Adapter Code Walkthrough
Adapter Properties ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

29 Adapter Code Walkthrough
Adapter Properties ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

30 Adapter Code Walkthrough – Parsing Data
ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

31 Installing and Using Custom Adapter and Transport
Demo Installing and Using Custom Adapter and Transport ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

32 Processors ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

33 Extending GeoEvent Processor
What is a Processor? Software component written in Java User configurable Performs specific actions on GeoEvents Runs continuously inside of server processing environment Shares lifecycle with GeoEvent Service GeoEvent Processor Inputs Outputs GeoEvent Services 783 2323 5122 7138 9102 7827 4913 2981 1326 802 ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

34 Extending GeoEvent Processor
GeoEvent Processors You can perform continuous analytics on GeoEvents as they are received using a processor. GeoEvent Processor Inputs Outputs GeoEvent Services Out of the Box Field Enricher Field Reducer Track Gap Detector Incident Detector Field Mapper Geotagger Field Calculator You can create your own processors. Track Idle Detector Esri Gallery ETA Calculator Service Area Buffer Ellipse Range Fan Visibility Query Report Slope Calculator SDK Volume Control ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

35 Anatomy of a Processor What makes up a Processor? Processor Service Instantiates processor definition, processor and applies configuration Processor Definition Defines processor metadata, properties and GeoEvent Definition(s) Processor Implements processor lifecycle ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

36 Processor Definition Step 1: Properties and GeoEvent Definition(s)
ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

37 Processor Definition Identification Name Domain Version Description
Step 1: Metadata Identification Name Domain Version Description Label Contact Information ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

38 Processor Step 2: Lifecycle Review GeoEvent Processor GeoEvent Service
Stop Start Processor Creation Shutdown Initialization Processing… ERROR Validation ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

39 Property Definitions & Spatial API
Demo Property Definitions & Spatial API Rangefan Calculator ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

40 Processor Creation Initialization Validation Step 2: Lifecycle
ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

41 Processor Processing Shutdown Service Start / Stop Step 2: Lifecycle
ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

42 Processor Service Create new Java class
Step 3: Definition Create new Java class Extend GeoEventProcessorServiceBase class Creates processor definition Creates processor instance Applies configuration ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

43 Processor Service Step 4: Configuration Declare processor service as a service implementing GeoEventProcessorService interface from GeoEvent Processor SDK ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

44 Processor Service and Processor
Demo Processor Service and Processor Rangefan Calculator ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

45 Putting it Together Rangefan Dashboard Demo
ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

46 Connectors – Recipe for creating inputs/outputs
Review Connectors – Recipe for creating inputs/outputs Transport – Moves raw data in/out of the GeoEvent Processor Adapter – Converts raw data to GeoEvents and back Properties – Used to configure an input/output for a specific use case ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

47 GeoEvent Processor Developer Guide in the SDK
Additional Resources Developer Guide in the SDK Forum Resource Center – Includes Tutorials Browse the GitHub projects ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

48 ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

49 Offering ID: 1233 Please fill out the session survey:
Thank you… Please fill out the session survey: Offering ID: 1233 Online – Paper – pick up and put in drop box ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

50 Questions / Feedback? To learn more:
Ming Zhao | Software Developer ArcGIS GeoEvent Processor for Server Patrick Hill | Software Developer ArcGIS for Military Solutions Team ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

51 ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors


Download ppt "Ming Zhao Software Developer ArcGIS GeoEvent Processor for Server "

Similar presentations


Ads by Google