developing real-time web mapping applications€¦ · web mapping applications ... senior software...

26
Developing Real-Time Web Mapping Applications Adam Mollenkopf, Solutions Product Manager Morakot Pilouk, Senior Software Consultant Hanoch Kalmanovich, Tracking Development Lead

Upload: others

Post on 23-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Developing Real-Time Web Mapping Applications€¦ · Web Mapping Applications ... Senior Software Consultant. Hanoch Kalmanovich, Tracking Development Lead. Agenda • Real-Time

Developing Real-Time Web Mapping Applications

Adam Mollenkopf, Solutions Product ManagerMorakot Pilouk, Senior Software Consultant

Hanoch Kalmanovich, Tracking Development Lead

Page 2: Developing Real-Time Web Mapping Applications€¦ · Web Mapping Applications ... Senior Software Consultant. Hanoch Kalmanovich, Tracking Development Lead. Agenda • Real-Time

Agenda

• Real-Time Web Mapping Application Patterns

• Implementing an Event Driven Pattern w/ Esri

• Tracking Client API- Concepts- Samples

- Flex- Silverlight- Java

Page 3: Developing Real-Time Web Mapping Applications€¦ · Web Mapping Applications ... Senior Software Consultant. Hanoch Kalmanovich, Tracking Development Lead. Agenda • Real-Time

Real-Time Web Mapping Application Patterns

Adam Mollenkopf

Page 4: Developing Real-Time Web Mapping Applications€¦ · Web Mapping Applications ... Senior Software Consultant. Hanoch Kalmanovich, Tracking Development Lead. Agenda • Real-Time

Real-Time Web Mapping Application Patterns

Server

ServerPushesto Client

Real-TimeWeb Mapping Application

Event Driven Pattern

Server

ServerPolling

Database

ClientPollingServer

Real-TimeWeb Mapping Application

Query Driven Pattern

Page 5: Developing Real-Time Web Mapping Applications€¦ · Web Mapping Applications ... Senior Software Consultant. Hanoch Kalmanovich, Tracking Development Lead. Agenda • Real-Time

Implementing the Event Driven Pattern with Esri

Adam Mollenkopf

Page 6: Developing Real-Time Web Mapping Applications€¦ · Web Mapping Applications ... Senior Software Consultant. Hanoch Kalmanovich, Tracking Development Lead. Agenda • Real-Time

Implementing the Event Driven Pattern with Esri

Push

Event Driven Pattern

AnalysisData Mgmt

Tracking Server

Tracking Client API

SilverlightSilverlight .NET.NETFlexFlex JavaJava

Real-TimeWeb Mapping Application

Real-Time Data

ArcGIS Server

Feature ServicesFeature Services

Map ServicesMap Services

Geodatabase

Archive

Base-Maps andHistorical Data

ArcGIS Web API

SilverlightSilverlightFlexFlex

Page 7: Developing Real-Time Web Mapping Applications€¦ · Web Mapping Applications ... Senior Software Consultant. Hanoch Kalmanovich, Tracking Development Lead. Agenda • Real-Time

Implementing the Event Driven Pattern with Esri

Geodatabase

AnalysisData Mgmt

Tracking Server

ArcGIS Tracking Analyst

• Tracking Server is a centralized hub for the collection, analysis, dissemination, and archival of real-time data.

Push

PullArchive

Push

Tracking Client API

SilverlightSilverlight

.NET.NET

FlexFlex

JavaJava

Page 8: Developing Real-Time Web Mapping Applications€¦ · Web Mapping Applications ... Senior Software Consultant. Hanoch Kalmanovich, Tracking Development Lead. Agenda • Real-Time

AnalysisData Mgmt

Tracking Server

Implementing the Event Driven Pattern with Esri

Geodatabase

ArcGIS Tracking Analyst

ApplicationsApplications

• The Tracking Client API enables applications to monitor entities through time, as they move or change.

Push

Push

PullArchive

Tracking Client API

SilverlightSilverlight

.NET.NET

FlexFlex

JavaJava

Page 9: Developing Real-Time Web Mapping Applications€¦ · Web Mapping Applications ... Senior Software Consultant. Hanoch Kalmanovich, Tracking Development Lead. Agenda • Real-Time

AnalysisData Mgmt

Tracking Server

Implementing the Event Driven Pattern with Esri

Geodatabase

ArcGIS Tracking Analyst

Data LinksData Links

• Data Links acquire real-time messages from tracked entities and transfers them to Tracking Server.

Push

PullArchive

Push

Tracking Client API

SilverlightSilverlight

.NET.NET

FlexFlex

JavaJava

ApplicationsApplications

Page 10: Developing Real-Time Web Mapping Applications€¦ · Web Mapping Applications ... Senior Software Consultant. Hanoch Kalmanovich, Tracking Development Lead. Agenda • Real-Time

AnalysisData Mgmt

Tracking Server

Implementing the Event Driven Pattern with Esri

Geodatabase

ArcGIS Tracking Analyst

Data LinksData Links

ActionsActions

• Actions apply analysis and operations to incoming messages as they are received by Tracking Server.

Push

PullArchive

Push

Tracking Client API

SilverlightSilverlight

.NET.NET

FlexFlex

JavaJava

ApplicationsApplications

Page 11: Developing Real-Time Web Mapping Applications€¦ · Web Mapping Applications ... Senior Software Consultant. Hanoch Kalmanovich, Tracking Development Lead. Agenda • Real-Time

Adam Mollenkopf

Tracking Viewer for Flex Demo

Page 12: Developing Real-Time Web Mapping Applications€¦ · Web Mapping Applications ... Senior Software Consultant. Hanoch Kalmanovich, Tracking Development Lead. Agenda • Real-Time

Tracking Client API ConceptsAdam Mollenkopf

Page 13: Developing Real-Time Web Mapping Applications€¦ · Web Mapping Applications ... Senior Software Consultant. Hanoch Kalmanovich, Tracking Development Lead. Agenda • Real-Time

Tracking Client API Concepts

• The Tracking Client API allows you to enable applications with Real-Time data

• Developer libraries are available for use with Flex, Silverlight, Java, and .NET.

• Tracking Client APIs can be found on Esri Resources under ‘Solutions Products – Tracking Server’.

• http://resources.arcgis.com/

Page 14: Developing Real-Time Web Mapping Applications€¦ · Web Mapping Applications ... Senior Software Consultant. Hanoch Kalmanovich, Tracking Development Lead. Agenda • Real-Time

Tracking Client API Concepts

• The starting point for working with the Tracking Client API is the Connector class. Connector provides you with the ability to:

• Connect and Authenticate with a Tracking Server• Get a List of available Tracking Services• Subscribe to a Tracking Service

• The Tracking Client API uses an Asynchronous event model.

• Responses and Events are delivered on a subscription basis, so listeners need to be registered to handle them.

Page 15: Developing Real-Time Web Mapping Applications€¦ · Web Mapping Applications ... Senior Software Consultant. Hanoch Kalmanovich, Tracking Development Lead. Agenda • Real-Time

Tracking Client API Concepts – Connector

Tracking Client APITracking Server

connectconnect response

authenticateauthenticate response

get service definitionsservice definition response

subscribe to servicesubscribe response

observation event

Page 16: Developing Real-Time Web Mapping Applications€¦ · Web Mapping Applications ... Senior Software Consultant. Hanoch Kalmanovich, Tracking Development Lead. Agenda • Real-Time

Tracking Client API SamplesAdam Mollenkopf

Morakot Pilouk

Page 17: Developing Real-Time Web Mapping Applications€¦ · Web Mapping Applications ... Senior Software Consultant. Hanoch Kalmanovich, Tracking Development Lead. Agenda • Real-Time

Adam Mollenkopf

Tracking Client API for Flex

Page 18: Developing Real-Time Web Mapping Applications€¦ · Web Mapping Applications ... Senior Software Consultant. Hanoch Kalmanovich, Tracking Development Lead. Agenda • Real-Time

Morakot Pilouk

Tracking Client API for Silverlight

Page 19: Developing Real-Time Web Mapping Applications€¦ · Web Mapping Applications ... Senior Software Consultant. Hanoch Kalmanovich, Tracking Development Lead. Agenda • Real-Time

Adam Mollenkopf

Tracking Client API for Java

Page 20: Developing Real-Time Web Mapping Applications€¦ · Web Mapping Applications ... Senior Software Consultant. Hanoch Kalmanovich, Tracking Development Lead. Agenda • Real-Time

AnalysisData Mgmt

Tracking Server

Tracking Client API for Java

• Android Transponder

Geodatabase

ArcGIS Tracking Analyst

Data LinkData LinkPush

Tracking Client API

SilverlightSilverlight

.NET.NET

FlexFlex

JavaJava

Push

PullArchive

Page 21: Developing Real-Time Web Mapping Applications€¦ · Web Mapping Applications ... Senior Software Consultant. Hanoch Kalmanovich, Tracking Development Lead. Agenda • Real-Time

AnalysisData Mgmt

Tracking Server

Tracking Client API for Java

• Android Transponder• Tracking Viewer for Android

Geodatabase

ArcGIS Tracking Analyst

Data LinkData LinkPush

Tracking Client API

SilverlightSilverlight

.NET.NET

FlexFlex

JavaJava

ApplicationsApplications

Push

PullArchive

Page 22: Developing Real-Time Web Mapping Applications€¦ · Web Mapping Applications ... Senior Software Consultant. Hanoch Kalmanovich, Tracking Development Lead. Agenda • Real-Time

Other ConsiderationsAdam Mollenkopf

Page 23: Developing Real-Time Web Mapping Applications€¦ · Web Mapping Applications ... Senior Software Consultant. Hanoch Kalmanovich, Tracking Development Lead. Agenda • Real-Time

Other Considerations

• Using Historical Data• Time Aware Layers via Feature Services

• Data Augmentation• Joining static data into Tracks – Server vs. Client

• Client Side Rendering• Temporal Renderers, Aging• Strategies for Client side purging

• Data Volume Considerations• Feature Logging• Archival Strategies• Tracking Server history – Track vs. Time

Page 24: Developing Real-Time Web Mapping Applications€¦ · Web Mapping Applications ... Senior Software Consultant. Hanoch Kalmanovich, Tracking Development Lead. Agenda • Real-Time

Summary

• The Tracking Client API• enables ArcGIS with Real-Time data

• offers unified functionality across a variety of developer platforms including:

• Flex, Silverlight, .NET, and Java

• works in a variety of environments including:• Desktop, Web, and Mobile

Page 25: Developing Real-Time Web Mapping Applications€¦ · Web Mapping Applications ... Senior Software Consultant. Hanoch Kalmanovich, Tracking Development Lead. Agenda • Real-Time

Resources to get started

• Sample Tracking Server with a Tracking Service:• host: sampletrackingserver1.arcgis.com• port: 4503• username/password: “”/””

• Tracking Client API Download: http://resources.arcgis.com/content/tracking- server/10.0/tracking-client-api

• Tracking Code Gallery Samples: http://resources.arcgis.com/gallery/file/tracking-server

• Tracking Server: http://help.arcgis.com/en/trackingserver/10.0/help/

Page 26: Developing Real-Time Web Mapping Applications€¦ · Web Mapping Applications ... Senior Software Consultant. Hanoch Kalmanovich, Tracking Development Lead. Agenda • Real-Time