59
RJ Sunderman Product Engineer GeoEvent Extension Product Team [email protected] Mark Bramer Senior Technical Analyst Esri Professional Services [email protected] Real-Time GIS: Leveraging Stream Services

RJ Sunderman Product Engineer GeoEvent Extension Product Team [email protected] Mark Bramer Senior Technical Analyst Esri Professional Services [email protected]

Embed Size (px)

Citation preview

Page 1: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

RJ SundermanProduct EngineerGeoEvent Extension Product [email protected]

Mark BramerSenior Technical AnalystEsri Professional [email protected]

Real-Time GIS:Leveraging Stream Services

Page 2: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

• 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

• If you do not view in slide show mode many slides will appear cluttered and unintuitive when all of the slide’s graphics appear at once.

Page 3: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

• What are stream services?- How are stream services different from traditional feature services?- What are some advantages to using stream services?

• What are stream layers?- How are stream layers added to a web map?- How can stream layers be used to support real-time spatial analytics?- How can real-time web maps be incorporated into a web application?

Leveraging Stream Services

In this presentation:

Page 4: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

• We expect that you know and have probably used:- Web maps and feature layers in web maps

• This presentation will demonstrate and discuss:- How stream services are published using the GeoEvent Manager- How stream services are discovered in the ArcGIS REST Services Directory- Advantages stream services provide vs. traditional feature services- Support for stream services available in the 10.3 and 10.3.1 product releases

Leveraging Stream Services

This is a beginner level technical workshop

Page 5: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

What are Stream Services

Page 6: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

Publishing a real-time data feed

Demo – Stream Services

Page 7: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

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

Page 8: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

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

Page 9: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

Two patterns of Real-time GIS

Stream services vs. traditional feature services

• Feature layers pull from feature services- Web apps poll to get periodic updates

• Stream layers subscribe to stream services - Web apps subscribe to immediately receive data

- Low latency and high throughput

GeoEvent Extension

ArcGIS Server

YourApplications

YourApplications

Stream Layer

Map ServicesFeature Services

Feature Layer

feature layersfeature layers

Update a FeatureAdd a Feature

EGDB

Polling(Pull)

Stream Services

Send Features to a Stream Service

Page 10: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

Two patterns, two important differences

Stream services vs. traditional feature services

• Feature services persist their data in a Geodatabase

• Stream services broadcast their data without first persisting the data

GeoEvent Extension

ArcGIS Server YourApplications

YourApplications

Stream Layer

Map ServicesFeature Services

Feature Layer

feature layersfeature layers

Update a FeatureAdd a Feature

EGDB

Polling

(Pull)

Stream Services

Send Features to a Stream Service

Page 11: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

Publish your stream service as part of configuring your GeoEvent output

Stream services are published using the GeoEvent Manager

• Check to make sure you have specified the correct GeoEvent Definition …

Page 12: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

Publish your stream service as part of configuring your GeoEvent output

Stream services are published using the GeoEvent Manager

Page 13: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

• Your event definition will be part of the stream service you publish

• Click ‘Publish Stream Service’

Publish your stream service as part of configuring your GeoEvent output

Stream services are published using the GeoEvent Manager

Page 14: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

Publish your stream service as part of configuring your GeoEvent output

Stream services are published using the GeoEvent Manager

• Optional store latest (uses feature service)

• Click ‘Publish’

Page 15: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

Publish your stream service as part of configuring your GeoEvent output

Stream services are published using the GeoEvent Manager

Page 16: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

• Click the service to open its REST specification page…

Logging is as an administrator will expose additional capabilities such as publishing content to the stream

Stream services are discoverable in the ArcGIS REST Services Directory

Page 17: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

• Click the JSON link to view a more complete specification of the service…

• Click the Subscribe link to jump to an HTML page and see the JSON being broadcast by the service…

Stream services are discoverable in the ArcGIS REST Services Directory

Page 18: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

Stream services broadcast Esri Feature JSON

Subscribe to view JSON broadcast by the stream service

Page 19: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

Stream services are started, stopped, and configured using ArcGIS Server Manager

Stream service administration

Page 20: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

Click to view stream service content in a java script web map

Page 21: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

What are Stream Layers

Page 22: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

ArcGIS Server

Feature serviceFeature service

Stream LayerWhat is it?

• A layer in the Javascript API- Available since version 3.6

• Draws data on map using client-side graphics

Stream Layer

GETHTTP PUSHWeb

Socket

esri/layers/GraphicsLayer

esri/layers/FeatureLayer

esri/layers/StreamLayer

ArcGIS Server

GeoEvent Extension

RESPONSE Geometry• Attributes• Symbol

Graphic

Graphics Layer

Page 23: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

Locating the International Space Station

Demo – Stream Layers

Page 24: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

Stream layerThe lifecycle of a stream layer

Stream Layer (Constructor) new StreamLayer( featureCollection, options )

FeatureCollection: { layerDefinition: { geometryType: esriGeometryPoint, timeInfo: { startTimeField: “StartTime”, trackIdField: “Name” }, fields: [ … ] }, featureSet: null }

• Options• webSocketUrl:

ws://gep:6180/urlpath• purgeOptions:

{ displayCount: 500 }

MapStreamLayer

ArcGIS Server

GeoEvent Extension

Page 25: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

Advantages to using stream layersStream layers are more responsive and more efficient than feature layers

• Stream layers display immediately and refresh automatically

• Data is only sent to the client once

• Messages are sent without extra headers

RequestResponse

ArcGIS Server

Feature serviceFeature service

Stream Layer

ArcGIS Server

GeoEvent Extension

DataEstablish

Connection

Page 26: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

Stream layer requirementsBrowser support for web sockets / JavaScript application support

• ArcGIS GeoEvent Extension for Server- Stream services are published as GeoEvent output connectors

• Web Browser that supports Web Sockets- http://caniuse.com/websockets

• Network support for the Web Socket protocol- ws:// wss://

• No custom plug-in required: Standard JavaScript implementation

10 +10 +

6 +6 +

6 +6 +

14 +14 +

Page 27: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

Dynamic GeoFences

Page 28: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

• A GeoEvent Service configures the flow of GeoEvents

• Processors and Filters rely on GeoFences for spatial analytics

• GeoFence synchronization can receive data broadcast from a stream service

Stream services enable dynamic GeoFences

Applying real-time analytics

Page 29: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

Dynamic GeoFences

Demo – Stream Services

Page 30: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

Web Maps and Apps

Page 31: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

• ArcGIS Online and Portal for ArcGIS Web Maps

• ArcGIS Online and Portal for ArcGIS web application templates

• Web applications built using Web AppBuilder

• Your own web apps that use the ArcGIS API for JavaScript

What can I use to consume stream services?

Support for stream services in the 10.3 and 10.3.1 product releases

Page 32: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

Web Maps

Web Maps and Apps

Page 33: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

Stream Services in a Web Map

• “Add” menu…

• “Add layer from web”…

• Add stream service endpoint URL

Page 34: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

Real-Time Data in Portal Web Map

Page 35: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

Real-Time Data in Portal Web Map

• Stop/Start

• Spatial Filter (map extent)

• Clear

Streaming Controls

Page 36: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

Symbology

• Editable, like other layers

• “Change Symbols”

Page 37: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

Symbology

• Heading

• Tracks

Page 38: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

• Filter on data content- i.e. “WHERE” clause

Streaming ControlsReal-Time Data in Portal Web Map

Page 39: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

OriginID is 'KJFK' DestinationID is ‘KJFK’

• Each user has unique session

• Stream service knows what to send to each user

User-specificReal-Time Data in Portal Web Map

Page 40: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

Web Application Templates

Web Maps and Apps

Page 41: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

• “Share” button

Share in ArcGIS OnlineReal-Time Data in Web App Templates

Page 42: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

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

Page 43: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

“Classic Viewer” Web App Template

Title

Legend

Navigation

Measure

Share

LocatorLayer List

BasemapsPrint

Preview

Page 44: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

Web App Templates

• Enter a title, add some tags, write a summary…

• “Save & Publish”

• Saves app to your content

Publish

Page 45: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

• Discoverable

PublishedWeb App Templates

Page 46: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

Web AppBuilder

Web Maps and Apps

Page 47: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

• Also via the “Share” button

• Also use “Make a Web Application”

Real-Time Data in Web AppBuilder AppsShare in ArcGIS Online

Page 48: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

Web AppBuilderPre-packaged Web App …

• “Web AppBuilder” tab

• Enter a title, add some tags, enter a summary

• “Get Started”

Builder!

Page 49: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

Web AppBuilderWYSIWYG

• “What You See Is What You Get” user interface

• Style/Colors

• Layout

• Widgets

• Map, extent

• Widget config

• Branding

• Previews

• Launch

Page 50: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

Web AppBuilderLaunch (Preview)

• “Launch” – shows preview of final app

Page 51: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

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

Page 52: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

Web AppBuilder

• Save

• Save As

• Export as Template- Create custom web app template

by exporting the app

Save

Page 53: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

• Discoverable

Web AppBuilderPublished

Page 54: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

Conclusion

Page 55: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

Advantages to using stream services vs. traditional feature services

Page 56: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

• What are stream services?- How are stream services different from traditional feature services?- What are some advantages to using stream services?

• What are stream layers?- How are stream layers added to a web map?- How can stream layers be used to support real-time spatial analytics?- How can real-time web maps be incorporated into a web application?

Leveraging Stream Services

Conclusion:

Page 57: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

• We expect that you know and have probably used:- Web maps and feature layers in web maps

• This presentation will demonstrate and discuss:- How stream services are published using the GeoEvent Manager- How stream services are discovered in the ArcGIS REST Services Directory- Advantages stream services provide vs. traditional feature services- Support for stream services available in the 10.3 and 10.3.1 product releases

Leveraging Stream Services

Conclusion:

Page 58: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com

Please submit your session evaluation

Page 59: RJ Sunderman Product Engineer GeoEvent Extension Product Team rsunderman@esri.com Mark Bramer Senior Technical Analyst Esri Professional Services mbramer@esri.com