1 / 51

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

ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors. Ming Zhao Software Developer ArcGIS GeoEvent Processor for Server mzhao@esri.com. Patrick Hill Software Developer ArcGIS for Military Solutions Team patrick_hill@esri.com.

chung
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors Ming Zhao Software Developer ArcGIS GeoEvent Processor for Server mzhao@esri.com Patrick Hill Software Developer ArcGIS for Military Solutions Team patrick_hill@esri.com

  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 GeoEventProcessor ws:// ArcGIS Server Outputs 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 Receive RSS Twitter GNIP Instagram Geofeedia Receive text from a TCP Socket CAP exactEarth Receive text from a UDP Socket Cursor-on-Target ASDI (FAA) GeoEvent Services Receive Features on a REST endpoint .csv .json http:// VMF OSIsoft Receive JSON on a REST endpoint http:// Outputs Inputs GeoMessage Valarm Esri Gallery Out of the Box Receive JSON on a Web Socket ws:// Partner Gallery ActiveMQ Harris Receive JSON on external Web Socket ws:// RabbitMQ CompassCom Poll an ArcGIS Server for Features NMEA NetworkFleet Poll an external website for JSON http:// TAIP (Trimble) Zonar Watch a folder for new .csv files RAP (Sierra Wireless) Watch a folder for new .json files 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 Add a feature Twitter Update a feature ActiveMQ Send an email RabbitMQ Esri Gallery Send an instant message im GeoEvent Services Hadoop .csv .json Send a text message MongoDB Outputs Inputs Publish JSON to a Web Socket ws:// Out of the Box Push JSON to an external Web Socket ws:// CESIUM Publish text on a TCP Socket Publish text on a UDP Socket Partner Publish JSON to an external website http:// Publish on a REST endpoint Write to a .csv file Write to a .json file 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 Your connectors Your connectors GeoEvent Services Your processors Outputs Inputs 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? • Connectorsare used to create InputsandOutputs, 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. Creating Inputs Configured using Connectors Live Traffic Services US Geological Survey National Weather Service RSS Connector Connectors JSON over REST Receive Text via TCP GeoEvent Processor Processor Inputs GeoEvent Services Storms Earthquakes Outputs Traffic ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

  11. Connector 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. Connector How Does it Help • By choosing a Connector, the user implicitly selects componentsfrom 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 StartStop Byte [ ] GeoEvent Services TCP Transport Text Adapter ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

  13. Demo Exploring a Connector 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 Whatmakes up a Transport? • Provides a Transport Definition • Instantiates new Transports Transport Definition • Defines transport metadata and properties Transport Service Transport • Implements transport application logic ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

  16. Transport Behavior Transports • 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. Transport reads properties and starts Server calls start() STARTING Internal error occurs STARTED STOPPED STOPPED 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 • 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 Whatmakes up an Adapter? • Provides an Adapter Definition • Instantiates new Adapters Adapter Definition • Defines adapter metadata and properties Adapter Service Adapter • Implements adapter application logic ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

  27. Adapter Behavior Adapters • Adapters are given • 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. 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 2323 783 2981 9102 9102 7827 7827 5122 5122 4913 4913 7138 7138 1326 802 GeoEvent Processor GeoEvent Services Outputs Inputs 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 You can create your own processors. Track Idle Detector Field Enricher Slope Calculator SDK ETA Calculator Field Reducer Volume Control GeoEvent Services Service Area Field Calculator Buffer Geotagger Out of the Box Outputs Inputs Esri Gallery Field Mapper Ellipse Track Gap Detector Range Fan Visibility Incident Detector Query Report ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

  35. Anatomy of a Processor Whatmakes up a Processor? Processor Service • Implements processor lifecycle • Instantiates processor definition, processor and applies configuration Processor Definition • Defines processor metadata, properties and GeoEvent Definition(s) Processor 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 Step 1: Metadata Description • Label • Description • ContactInformation Identification • Name • Domain • Version 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… Validation ERROR ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

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

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

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

  42. Processor Service 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. Demo Processor Service and Processor Rangefan Calculator ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

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

  46. 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 Additional Resources • Developer Guide in the SDK • Forumhttp://forums.arcgis.com/forums/257-GeoEvent-Processor • Resource Center – Includes Tutorialshttp://pro.arcgis.com/share/goeevent-processor • 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. Thank you… Please fill out the session survey: Offering ID: 1233 Online – www.esri.com/ucsessionsurveys 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: http://pro.arcgis.com/share/geoevent-processor Ming Zhao | Software Developer ArcGIS GeoEvent Processor for Server mzhao@esri.com Patrick Hill | Software Developer ArcGIS for Military Solutions Team patrick_hill@esri.com ArcGIS GeoEvent Processor for Server: Extending with New Processors and Connectors

More Related