Upload
others
View
13
Download
0
Embed Size (px)
Citation preview
ArcGIS GeoEvent Extension for Server:Building Real-Time WebApps
Thomas PaschkeGeoEvent [email protected]
Ryan ElliottGeoEvent Extension
Real-Time GIS
Real-Time GISIntegration and exploitation of streaming 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
ArcGIS Server
GeoEvent Extension
DesktopWeb Device
Real-Time GIS
ArcGIS Server
GeoEvent Extension
DesktopWeb Device
Stream Service
Stream Layer
Getting Real-Time data intoWeb Applications
Receiving Real-Time DataEasily integrate real-time streaming data into ArcGIS using an Input Connector
You can createyour own
connectors.
GeoEvent Extension
Inpu
ts
Out
puts
GeoEvent Services
Poll an ArcGIS Server for Features
Poll an external website for GeoJSON, JSON, or XML
Receive Features, GeoJSON, JSON, or XML on a REST endpoint
Receive RSS
Receive GeoJSON or JSON on a WebSocket
Receive Text from a TCP or UDP Socket
Subscribe to an external WebSocket for GeoJSON or JSON
Watch a Folder for New CSV or JSON Files
Out
of t
he B
ox REST
.csv
WS
WS
HTTP
Esri
Gal
lery
ActiveMQ
CAP
GeoMessage
Exploitation Support Data
Cursor-on-Target
RabbitMQ
NMEA 0183
Kafka
Sierra Wireless (RAP)
KML
*
Trimble (TAIP)
Part
ner G
alle
ry
CompassLDE
enviroCar
GNIP
FAA (ASDI)
exactEarth AIS
Zonar
Valarm
Networkfleet
OSIsoft ***
*
*
Receiving Real-Time DataInput Connector = Transport + Adapter
CAP
Cursor-on-Target
GeoMessage
NMEA
Sierra Wireless (RAP)
Trimble (TAIP)
VMF
Esri
Gal
lery
Esri
Gal
lery ActiveMQ
IRC
Kafka
RabbitMQ
GeoEvent Extension
Inpu
ts
Out
puts
GeoEvent Services
WebSocket JSON
Connectors Transport Adapter
HTTP GeoJSON
Feature-JSON
Adapters
GeoJSON
JSON
RSS
Text
Feature Service
Transports
File
HTTP
HTTP+BasicAuth
HTTP+OAuth
TCP
UDP
WebSocket
Receive JSON on a WebSocket
Receive GeoJSON on a REST endpoint
WS
REST
*
XML
International Space Station (ISS)
Collecting Real-Time Data
Demo
StreamService Intro
Two patterns
GeoEvent Extension
ArcGIS Server
YourApplications
Stream Layer
Map ServicesFeature Services
Feature Layer
feature layers
Update a FeatureAdd a Feature
EGDB
Polling(Pull)
Stream Services
Getting Real-Time data into Web Apps
• Feature layers pull from feature services- Web apps poll to get periodic updates- Must be backed by an enterprise geodatabase (EGDB)
• Stream layers subscribe to stream services - Web apps subscribe to immediately receive data- Low latency and high throughput
Send Features to a Stream Service
• Are discoverable via services directory- http://<your server>/arcgis/rest/services/iss-stream/StreamServer
• Can be secured just like any other ArcGIS Server service using- ArcGIS internal user store- Active Directory/LDAP- PKI
• Can be scaled using clustering
The foundation for real-time web appsStream Services
Stream Service
Real-Time in the Server
Demo
Enabling real-time web appsStream Layers
• Part of the ArcGIS API for JavaScript• Subscribe to stream services
- Immediately receive and render data- Configurable symbology with familiar api- Direct access to data on arrival
• Can filter on- an area of interest- field values
• Stream services communicate over a web socket- Web socket protocol must be allowed on network- Client must have a browser that supports web sockets
- http://caniuse.com/websockets
10 +6 + 6 +
14 +
Stream ServicesReal-Time in Web Maps
Demo
Enabling real-time web appsStream Layer Deployment Patterns
• Configure in a Web Map and - Just share it - Web App Template- Web App Builder
• Custom JavaScript apps
Building WebApps using the ArcGIS JavaScript API
ArcGIS JavaScript APIStreamLayer: API class
https://developers.arcgis.com/javascript/jsapi/streamlayer-amd.html
ArcGIS JavaScript APIStreamLayer: Constructors
ArcGIS JavaScript APIStreamLayer: Methods
• Add / remove a StreamLayer to / from a Map
ArcGIS JavaScript APIStreamLayer: Event handler
• Subscribe to events of the StreamLayer
ArcGIS JavaScript APIStreamLayer: Properties
• Set a renderer for the StreamLayer
• SimpleRenderer
• TemporalRenderer
• ClassBreaksRenderer
• UniqueValueRenderer
• DotDensityRenderer
• ScaleDependentRenderer
ArcGIS JavaScript APIStreamLayer: Properties
• Set a renderer for the StreamLayer
• SimpleRenderer
• TemporalRenderer
• ClassBreaksRenderer
• UniqueValueRenderer
• DotDensityRenderer
• ScaleDependentRenderer
ArcGIS JavaScript APIStreamLayer: Filtering
• Specify an attribute or spatial filter
`
`
ArcGIS JavaScript APIStreamLayer: Intercepting Events
• Intercepting messages received by the StreamLayer
`
ArcGIS JavaScript APIStreamLayer: Functionalities
• Store latest Features
GeoEvent Extension
ArcGIS Server
Stream Layer
EGDB
Stream Services
Combining real-time with static data
Related Features
CommonJoin field
ArcGIS JavaScript APIStreamLayer: Functionalities
• Use a related Features
Find sample application at:
https://github.com/tompa0003/FlightDemo
ArcGIS JavaScript APIStreamLayer: Sensor Network Demo
• Scale and pan dependent WebApp
`
Summary
• Stream Services - enable low-latency immediate delivery of data- are discoverable, securable and scalable
• Stream Layers- Consume and Display streams of features- Configurable symbology - Filter by Geometry and Attribute
Where to learn more?Resources• To learn more, visit the ‘Get Started’ area of the GeoEvent Extension product page:
- http://links.esri.com/geoevent- Introduction- Notifications- Stream Services- RSS, HTTP, Files- REST Admin API- Clustering
• Ask questions on the GeoEvent Forum:- https:// links.esri.com/geoevent-forum
Where to learn more about GeoEvent?Other Workshops• ArcGIS GeoEvent Extension for Server: Creating Connectors with the SDK
- Tue 4:00pm-5:00pm (Mesquite B)
• ArcGIS GeoEvent Extension for Server: Creating Processors with the SDK- Tue 5:30pm-6:30pm (Mesquite B)
• ArcGIS GeoEvent Extension for Server: Best Practices- Wed 2:30pm-3:30pm (Catalina/Madera)
• ArcGIS GeoEvent Extension for Server: Use Cases for Applying Real-Time Analytics- Thu 10:30am-11:30am (Mojave Learning Center)- Fri 1:00pm-2:00pm (Mesquite GH)
• ArcGIS GeoEvent Extension for Server: Working with Community Connectors- Thu 5:30pm-6:30pm (Demo Theater 2 - Oasis 1)
• The Road Ahead: ArcGIS for Server and Portal for ArcGIS- Fri 8:30am-9:30am (Primrose C/D)
Where to learn more about ArcGIS API for JavaScript?Other Workshops
• ArcGIS API for JavaScript: An Introduction- Wed 10:30-11:30am (Pasadena/Sierra/Ventura)
• ArcGIS Online and Portal: Developing Custom JavaScript Applications- Wed 1:00-2:00pm (Primrose C/D)
• ArcGIS Web AppBuilder: Customizing & Extending- Wed 4:00-5:00pm (Primrose B)
• ArcGIS API for JavaScript: Data Visualization- Thu 9:00-10:00am (Pasadena/Sierra/Ventura)
• Optimizing Your JavaScript App for Performance- Thu 10:30-11:30am (Primrose B)
• ArcGIS API for JavaScript: The Road Ahead- Thu 5:30-6:30pm (Primrose B)
Thank you…
• Please fill out thesession survey:
Paper – pick up and putin drop box
Online – Scan the QR codeor visit the Dev Summit web site
Thomas PaschkeGeoEvent [email protected]
Questions / Feedback?http://links.esri.com/geoevent
https://links.esri.com/geoevent-forum
To learn more:
Ryan ElliottGeoEvent Extension