arcgis geoevent extension for server - esri

35

Upload: others

Post on 21-Apr-2022

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ArcGIS GeoEvent Extension for Server - Esri
Page 2: ArcGIS GeoEvent Extension for Server - Esri

ArcGIS GeoEvent Extension for Server:Building Real-Time WebApps

Thomas PaschkeGeoEvent [email protected]

Ryan ElliottGeoEvent Extension

[email protected]

Page 3: ArcGIS GeoEvent Extension for Server - Esri

Real-Time GIS

Page 4: ArcGIS GeoEvent Extension for Server - Esri

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

Page 5: ArcGIS GeoEvent Extension for Server - Esri

Real-Time GIS

ArcGIS Server

GeoEvent Extension

DesktopWeb Device

Stream Service

Stream Layer

Page 6: ArcGIS GeoEvent Extension for Server - Esri

Getting Real-Time data intoWeb Applications

Page 7: ArcGIS GeoEvent Extension for Server - Esri

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)

Instagram

KML

*

Trimble (TAIP)

Twitter

Part

ner G

alle

ry

CompassLDE

enviroCar

GNIP

FAA (ASDI)

exactEarth AIS

Zonar

Valarm

Networkfleet

OSIsoft ***

*

*

Page 8: ArcGIS GeoEvent Extension for Server - Esri

Receiving Real-Time DataInput Connector = Transport + Adapter

CAP

Cursor-on-Target

GeoMessage

Instagram

NMEA

Sierra Wireless (RAP)

Trimble (TAIP)

Twitter

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

*

Twitter

XML

Page 9: ArcGIS GeoEvent Extension for Server - Esri

International Space Station (ISS)

Collecting Real-Time Data

Demo

Page 10: ArcGIS GeoEvent Extension for Server - Esri

StreamService Intro

Page 11: ArcGIS GeoEvent Extension for Server - Esri

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

Page 12: ArcGIS GeoEvent Extension for Server - Esri

• 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

Page 13: ArcGIS GeoEvent Extension for Server - Esri

Stream Service

Real-Time in the Server

Demo

Page 14: ArcGIS GeoEvent Extension for Server - Esri

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 +

Page 15: ArcGIS GeoEvent Extension for Server - Esri

Stream ServicesReal-Time in Web Maps

Demo

Page 16: ArcGIS GeoEvent Extension for Server - Esri

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

Page 17: ArcGIS GeoEvent Extension for Server - Esri

Building WebApps using the ArcGIS JavaScript API

Page 18: ArcGIS GeoEvent Extension for Server - Esri

ArcGIS JavaScript APIStreamLayer: API class

https://developers.arcgis.com/javascript/jsapi/streamlayer-amd.html

Page 19: ArcGIS GeoEvent Extension for Server - Esri

ArcGIS JavaScript APIStreamLayer: Constructors

Page 20: ArcGIS GeoEvent Extension for Server - Esri

ArcGIS JavaScript APIStreamLayer: Methods

• Add / remove a StreamLayer to / from a Map

Page 21: ArcGIS GeoEvent Extension for Server - Esri

ArcGIS JavaScript APIStreamLayer: Event handler

• Subscribe to events of the StreamLayer

Page 22: ArcGIS GeoEvent Extension for Server - Esri

ArcGIS JavaScript APIStreamLayer: Properties

• Set a renderer for the StreamLayer

• SimpleRenderer

• TemporalRenderer

• ClassBreaksRenderer

• UniqueValueRenderer

• DotDensityRenderer

• ScaleDependentRenderer

Page 23: ArcGIS GeoEvent Extension for Server - Esri

ArcGIS JavaScript APIStreamLayer: Properties

• Set a renderer for the StreamLayer

• SimpleRenderer

• TemporalRenderer

• ClassBreaksRenderer

• UniqueValueRenderer

• DotDensityRenderer

• ScaleDependentRenderer

Page 24: ArcGIS GeoEvent Extension for Server - Esri

ArcGIS JavaScript APIStreamLayer: Filtering

• Specify an attribute or spatial filter

`

`

Page 25: ArcGIS GeoEvent Extension for Server - Esri

ArcGIS JavaScript APIStreamLayer: Intercepting Events

• Intercepting messages received by the StreamLayer

`

Page 26: ArcGIS GeoEvent Extension for Server - Esri

ArcGIS JavaScript APIStreamLayer: Functionalities

• Store latest Features

Page 27: ArcGIS GeoEvent Extension for Server - Esri

GeoEvent Extension

ArcGIS Server

Stream Layer

EGDB

Stream Services

Combining real-time with static data

Related Features

CommonJoin field

Page 28: ArcGIS GeoEvent Extension for Server - Esri

ArcGIS JavaScript APIStreamLayer: Functionalities

• Use a related Features

Find sample application at:

https://github.com/tompa0003/FlightDemo

Page 29: ArcGIS GeoEvent Extension for Server - Esri

ArcGIS JavaScript APIStreamLayer: Sensor Network Demo

• Scale and pan dependent WebApp

`

Page 30: ArcGIS GeoEvent Extension for Server - Esri

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

Page 31: ArcGIS GeoEvent Extension for Server - Esri

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

Page 32: ArcGIS GeoEvent Extension for Server - Esri

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)

Page 33: ArcGIS GeoEvent Extension for Server - Esri

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)

Page 34: ArcGIS GeoEvent Extension for Server - Esri

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

Page 35: ArcGIS GeoEvent Extension for Server - Esri

Thomas PaschkeGeoEvent [email protected]

Questions / Feedback?http://links.esri.com/geoevent

https://links.esri.com/geoevent-forum

To learn more:

Ryan ElliottGeoEvent Extension

[email protected]