52
Configuring Real-Time Web Applications February 910, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior Technical Analyst Esri Professional Services [email protected] C. Adam Mollenkopf Product Lead ArcGIS GeoEvent Extension for Server [email protected] | @amollenkopf

Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

Configuring Real-Time Web Applications

February 9–10, 2015 | Washington, DC

Federal GIS Conference

Mark BramerSenior Technical Analyst

Esri Professional Services

[email protected]

C. Adam MollenkopfProduct Lead

ArcGIS GeoEvent Extension for Server

[email protected] | @amollenkopf

Page 2: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

International Space Station (ISS)

USGS Stream Gauges

FAA Flight Tracks

Sample Real-Time Web Applications

Demo

Page 3: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

• 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.

Page 4: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

Agenda

• Learn how to

- make real-time data available to web applications

- configure web applications to use real-time data

Page 5: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

Real-Time GIS with ArcGIS 10.3

Page 6: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

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 7: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

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 8: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

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

Instagram

GeoMessage

Cursor-on-Target

Trimble (TAIP)

Sierra Wireless (RAP)

RabbitMQ

Twitter

Kafka

NMEA

VMF

*

* Part

ner

Gallery

CompassCom

exactEarth

GNIP

Geofeedia

FAA (ASDI)

Zonar

Valarm

OSIsoft

Harris

NetworkFleet

Page 9: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

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.

Page 10: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

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

Page 11: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

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

Twitter

Page 12: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

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

Page 13: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

• 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

Page 14: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

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 +

Page 15: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

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

Page 16: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

Publishing real-time data via stream services

Page 17: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

Stream Services

• Created in GeoEvent Manager

GeoEvent Output

Page 18: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

Stream Services

• Stream services are published from GeoEvent Manager

Publishing

Page 19: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

Stream Services

• Can store latest event in

geodatabase

- One per track

• Provides operational

context for new

connections

• Requires a companion

feature service

Store Latest

Page 20: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

Stream Services

• Stream service in ArcGIS Server Manager and services directory

• Just like map, geocode, GP, etc.

Discovery and Details

Page 21: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

Stream Services

• Just like map, geocode, GP, etc.

• Geometry type

• Spatial reference

• Fields (with type)

• Web socket URLs

• Enabled capabilities

Metadata

Page 22: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

Stream Services

• New in 10.3

• Hover over service icon

• “View”

• View stream service data on a map

Testing – Manager

Page 23: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

Stream Services Testing

• “Subscribe”

• View raw stream service data

Testing – Services Directory

Page 24: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

Stream Services Testing

• “View In: ArcGIS JavaScript”

• View stream service data on a

map

Testing – Services Directory

Page 25: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

Configuring a Real-Time Web Application:Web Map

Page 26: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

Real-Time Data In Web Map

• “Add” menu…

• “Add layer from web”…

• Add stream service endpoint URL

How?

Page 27: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

Real-Time Data in Portal Web Map

Page 28: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

Real-Time Data in Portal Web Map

• Stop/Start

• Spatial Filter (map extent)

• Clear

Streaming Controls

Page 29: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

Symbology

• Editable, like other layers

• “Change Symbols”

Page 30: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

Symbology

• Heading

• Tracks

Page 31: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

• Filter on data content

- i.e. “WHERE” clause

Real-Time Data in Portal Web MapStreaming Controls

Page 32: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

• 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

Page 33: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

Configuring a Real-Time Web Application:Web Application Templates

Page 34: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

Real-Time Data in Web App Templates

• “Share” button

Share in ArcGIS Online

Page 35: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

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 36: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

“Classic Viewer” Web App Template

Title

Legend

Navigation

Print

Layer List Measure

Basemaps Share

Locator

Preview

Page 37: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

Web App Templates

• Enter a title, add some tags, write a

summary…

• “Save & Publish”

• Saves app to your content

Publish

Page 38: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

• Discoverable

Web App TemplatesPublished

Page 39: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

Configuring a Real-Time Web Application:Web AppBuilder for ArcGIS

Page 40: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

Real-Time Data in Web AppBuilder AppsShare in ArcGIS Online

• Also via the “Share” button

• Also use “Make a Web Application”

Page 41: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

Web AppBuilderPre-packaged Web App …

• “Web AppBuilder” tab

• Enter a title, add some tags, enter a

summary

• “Get Started”

Builder!

Page 42: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

Web AppBuilderWYSIWYG

• “What You See Is What You Get” user

interface

• Style/Colors

• Layout

• Widgets

• Map, extent

• Widget config

• Branding

• Previews

• Launch

Page 43: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

Web AppBuilderLaunch (Preview)

• “Launch” – shows preview of final app

Page 44: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

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 45: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

Web AppBuilder

• Save

• Save As

• Export as Template

- Create custom web app template

by exporting the app

Save

Page 46: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

• Discoverable

Web AppBuilderPublished

Page 47: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

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

Page 48: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

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

Page 49: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

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)

Page 50: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

Don’t forget to complete

a session evaluation form!

February 9–10, 2015 | Washington, DC

Federal GIS Conference

Page 51: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

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

Page 52: Configuring Real-Time Web Applications · 2015. 3. 17. · Configuring Real-Time Web Applications February 9–10, 2015 | Washington, DC Federal GIS Conference Mark Bramer Senior

Questions / Feedback?

http://links.esri.com/geoevent

https://geonet.esri.com/community/gis/enterprise-gis/geoevent

To learn more:

C. Adam MollenkopfProduct Lead

Esri

[email protected]

@amollenkopf

Mark BramerSenior Technical Analyst

Esri

[email protected]