Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Configuring Real-Time Web Applications
February 9–10, 2015 | Washington, DC
Federal GIS Conference
Mark BramerSenior Technical Analyst
Esri Professional Services
C. Adam MollenkopfProduct Lead
ArcGIS GeoEvent Extension for Server
[email protected] | @amollenkopf
International Space Station (ISS)
USGS Stream Gauges
FAA Flight Tracks
Sample Real-Time Web Applications
Demo
• If you have downloaded these slides and are viewing them on your own
computer, please view the slides in “Slide Show” mode. There are animations in
the slides that replicate demo-like workflows.
• Also, if you don’t view in slide show mode, many slides will appear cluttered an
unintuitive because all graphics will appear at once.
Agenda
• Learn how to
- make real-time data available to web applications
- configure web applications to use real-time data
Real-Time GIS with ArcGIS 10.3
ArcGIS Server
DesktopWeb Device
GeoEvent
Extension
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
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
Stream Service
Stream Layer
Receiving Real-Time DataEasily integrate real-time streaming data into ArcGIS using an Input Connector
You can create
your own
connectors.
GeoEvent Extension
Inp
uts
Ou
tpu
ts
GeoEvent Services
Poll an ArcGIS Server for Features
Poll an external website for JSON
Poll an external website for XML
Receive JSON on a REST endpoint
Receive Features on a REST endpoint
Receive JSON on a WebSocket
Receive RSS
Receive Text from a TCP Socket
Receive Text from a UDP Socket
Receive XML on a REST endpoint
Subscribe to a WebSocket for JSON
Ou
t o
f th
e B
ox
REST
REST
Watch a Folder for New CSV files
Watch a Folder for New JSON files
.csv
.json
HTTP
WS
WS
HTTP
REST
Esri
Gallery
ActiveMQ
CAP
GeoMessage
Cursor-on-Target
Trimble (TAIP)
Sierra Wireless (RAP)
RabbitMQ
Kafka
NMEA
VMF
*
* Part
ner
Gallery
CompassCom
exactEarth
GNIP
Geofeedia
FAA (ASDI)
Zonar
Valarm
OSIsoft
Harris
NetworkFleet
Applying real-time analyticsGeoEvent 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 output(s) to send the results to.
Applying real-time analyticsProcessing
You can create
your own
processors.
• You can perform continuous analytics on GeoEvents as they are received using a
processor.
GeoEvent Extension
Inp
uts
Ou
tpu
ts
GeoEvent Services
Ou
t o
f th
e B
ox
Field Calculator
Field Enricher
IncidentDetector
Track Gap Detector
GeoTagger
Field Reducer
Field Mapper
New
at
Arc
GIS
10.3
Buffer Creator
Convex Hull Creator
Projector
Simplifier
Intersector
Envelope Creator
Difference Creator
Symmetric Difference
Union Creator
Add XYZ
Esri
Gallery
Bearing
Ellipse
ETA Calculator
Field Group
GeoNames Lookup
Motion Calculator
Reverse Geocoder
Service Area Creator
Symbol Lookup
Track Idle Detector
Unit Conversion
Visibility
Volume Control
Range Fan Query Report
You can create
your own
connectors.
Sending Real-Time DataEasily disseminate notifications, alerts, and updates using an Output Connector
GeoEvent Extension
Inp
uts
Ou
tpu
ts
GeoEvent Services
Ou
t o
f th
e B
ox
Add a feature
Publish Text to a UDP Socket
Send a Text Message
Send an Email
Push Text to an External TCP Socket
Push JSON to an External WebSocket
Push JSON to an External Website
Send an Instant Message
Send Features to a Stream Service
Write to a JSON File.json
Update a Feature
Write to a CSV File
ActiveMQ
Esri
Gallery
Hadoop
Kafka
MongoDB
RabbitMQ
CESIUM
Part
ner
.csv
WS
im
HTTP
Two patterns
GeoEvent Extension
ArcGIS Server
Your
Applications
Stream Layer
Map Services
Feature Services
Feature Layer
feature layers
Update a Feature
Add 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 apps
Stream Services
Enabling real-time web apps
Stream Layers
• Part of the ArcGIS API for JavaScript
• Subscribe to stream services
- immediately receive data
- low latency and high throughput
• Can filter on
- an area of interest
- field values
• Stream service 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 +
Publishing a stream service
Configuring a Web Map
Configuring a Web Application Template
Creating a Web App using Web AppBuilder
Configuring Real-Time Web Applications
Demo
Publishing real-time data via stream services
Stream Services
• Created in GeoEvent Manager
GeoEvent Output
Stream Services
• Stream services are published from GeoEvent Manager
Publishing
Stream Services
• Can store latest event in
geodatabase
- One per track
• Provides operational
context for new
connections
• Requires a companion
feature service
Store Latest
Stream Services
• Stream service in ArcGIS Server Manager and services directory
• Just like map, geocode, GP, etc.
Discovery and Details
Stream Services
• Just like map, geocode, GP, etc.
• Geometry type
• Spatial reference
• Fields (with type)
• Web socket URLs
• Enabled capabilities
Metadata
Stream Services
• New in 10.3
• Hover over service icon
• “View”
• View stream service data on a map
Testing – Manager
Stream Services Testing
• “Subscribe”
• View raw stream service data
Testing – Services Directory
Stream Services Testing
• “View In: ArcGIS JavaScript”
• View stream service data on a
map
Testing – Services Directory
Configuring a Real-Time Web Application:Web Map
Real-Time Data In Web Map
• “Add” menu…
• “Add layer from web”…
• Add stream service endpoint URL
How?
Real-Time Data in Portal Web Map
Real-Time Data in Portal Web Map
• Stop/Start
• Spatial Filter (map extent)
• Clear
Streaming Controls
Symbology
• Editable, like other layers
• “Change Symbols”
Symbology
• Heading
• Tracks
• Filter on data content
- i.e. “WHERE” clause
Real-Time Data in Portal Web MapStreaming Controls
• Each user has unique session
• Stream service knows what to send to each user
OriginID is 'KJFK' DestinationID is ‘KJFK’
Real-Time Data in Portal Web MapUser-specific
Configuring a Real-Time Web Application:Web Application Templates
Real-Time Data in Web App Templates
• “Share” button
Share in ArcGIS Online
Web App Templates
• “Configurable Apps” tab
• Many to choose from
• Many are theme-focused
- Compare
- Elevation Profile
- Impact Summary
• Can publish, download or preview
“Pre-packaged” Web Apps
“Classic Viewer” Web App Template
Title
Legend
Navigation
Layer List Measure
Basemaps Share
Locator
Preview
Web App Templates
• Enter a title, add some tags, write a
summary…
• “Save & Publish”
• Saves app to your content
Publish
• Discoverable
Web App TemplatesPublished
Configuring a Real-Time Web Application:Web AppBuilder for ArcGIS
Real-Time Data in Web AppBuilder AppsShare in ArcGIS Online
• Also via the “Share” button
• Also use “Make a Web Application”
Web AppBuilderPre-packaged Web App …
• “Web AppBuilder” tab
• Enter a title, add some tags, enter a
summary
• “Get Started”
Builder!
Web AppBuilderWYSIWYG
• “What You See Is What You Get” user
interface
• Style/Colors
• Layout
• Widgets
• Map, extent
• Widget config
• Branding
• Previews
• Launch
Web AppBuilderLaunch (Preview)
• “Launch” – shows preview of final app
Web AppBuilderPreviews
• Shows preview of final app
on 16 of the most common
devices
• iPad Air
• Samsung Note
• Nexus 7
• 13 more
• Real-time data is live
Web AppBuilder
• Save
• Save As
• Export as Template
- Create custom web app template
by exporting the app
Save
• Discoverable
Web AppBuilderPublished
Summary
• ArcGIS 10.3 enables the configuration of real-time web applications
• Stream services
- enable low-latency immediate receipt of data
- are discoverable, securable and scalable
• Real-time web apps can be configured using stream layers in
- web maps hosted by ArcGIS Online or Portal for ArcGIS
- apps created from web application templates
- apps created from the Web AppBuilder for ArcGIS
Where to learn more?Resources
• To learn more, visit the tutorials in the Esri Gallery:
- http://links.esri.com/geoevent
- Introduction
- Notifications
- Stream Services
- RSS, HTTP, Files
- REST Admin API
- Clustering
• Ask questions on the GeoEvent Forum:
- https://geonet.esri.com/community/gis/enterprise-gis/geoevent
Where to learn more?Other Workshops
• Configuring Real-Time Web Applications- Mon 3:00pm-4:00pm (Hall D, Theater 3)
- Tue 11:00am-12:00pm (Room 101)
• ArcGIS GeoEvent Extension for Server: Best Practices- Tue 1:30pm-2:30pm (Room 101)
• ArcGIS GeoEvent Extension for Server: Applying Real-Time Analytics- Tue 2:45pm-3:45pm (Room 101)
• Web AppBuilder for ArcGIS: An Overview- Mon 3:00pm-4:00pm (Room 103B)
- Tue 5:15pm-6:15pm (Room 207B)
• Operations Dashboard for ArcGIS: An Overview- Tue 11:00am-12:00pm (Room 207B)
• ArcGIS GeoEvent Extension for Server: Building Real-Time Web Applications- Wed 1:00pm-1:45pm (Room 209A)
Don’t forget to complete
a session evaluation form!
February 9–10, 2015 | Washington, DC
Federal GIS Conference
Interested in diving
deeper into Esri technology?
Add a day to your Fed GIS experience and register to attend the Esri
DevSummit Washington DC. Stop by the registration counter to sign up.
February 9–10, 2015 | Washington, DC
Federal GIS Conference
Questions / Feedback?
http://links.esri.com/geoevent
https://geonet.esri.com/community/gis/enterprise-gis/geoevent
To learn more:
C. Adam MollenkopfProduct Lead
Esri
@amollenkopf
Mark BramerSenior Technical Analyst
Esri