developing online / offline mapping applications using adobe air and arcgis server api for flex -...

31
2012 ESRI Developer Summit: Developing Online / Offline Mapping Applications using Adobe AIR and ArcGIS Server API for Flex. Blue Raster @blueraster blueraster.com/blog Brendan Collins @brendancol bcdcspatial.blogspot.com

Upload: blue-raster

Post on 22-Apr-2015

4.805 views

Category:

Technology


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Developing Online / Offline Mapping Applications using Adobe AIR and ArcGIS Server API for Flex - Blue Raster Esri Developer Summit 2012 Presentation

2012 ESRI Developer Summit:

Developing Online / Offline Mapping Applications using Adobe AIR and ArcGIS Server API for Flex.

Blue [email protected]/blog

Brendan Collins@brendancol bcdcspatial.blogspot.com

Page 2: Developing Online / Offline Mapping Applications using Adobe AIR and ArcGIS Server API for Flex - Blue Raster Esri Developer Summit 2012 Presentation
Page 3: Developing Online / Offline Mapping Applications using Adobe AIR and ArcGIS Server API for Flex - Blue Raster Esri Developer Summit 2012 Presentation
Page 4: Developing Online / Offline Mapping Applications using Adobe AIR and ArcGIS Server API for Flex - Blue Raster Esri Developer Summit 2012 Presentation
Page 5: Developing Online / Offline Mapping Applications using Adobe AIR and ArcGIS Server API for Flex - Blue Raster Esri Developer Summit 2012 Presentation

Offline

Online Desktop

Mobile

Page 6: Developing Online / Offline Mapping Applications using Adobe AIR and ArcGIS Server API for Flex - Blue Raster Esri Developer Summit 2012 Presentation

• Which features to support…

• How to capture remote dependencies…

• How to store dependencies locally...

• How to extend application code function offline…

OFFLINE CONSIDERATIONS

Page 7: Developing Online / Offline Mapping Applications using Adobe AIR and ArcGIS Server API for Flex - Blue Raster Esri Developer Summit 2012 Presentation

• Any asset which is not accessible locally on the user’s machine and is required for an application feature.

REMOTE DEPENDENCIES

CAPTURING DEPENDENCIES

• Map Tiles• Geometry /

Attributes • Non-geographic

assets

Page 8: Developing Online / Offline Mapping Applications using Adobe AIR and ArcGIS Server API for Flex - Blue Raster Esri Developer Summit 2012 Presentation

• Monitor traffic using HTTP Proxy

(e.g. Charles, Firebug)

• Is the dependence dynamically generated or already sitting on disk?

IDENTIFYINGREMOTE DEPENDENCIES

CAPTURING DEPENDENCIES

Page 9: Developing Online / Offline Mapping Applications using Adobe AIR and ArcGIS Server API for Flex - Blue Raster Esri Developer Summit 2012 Presentation

How do I store / retrieve these assets locally?

Page 10: Developing Online / Offline Mapping Applications using Adobe AIR and ArcGIS Server API for Flex - Blue Raster Esri Developer Summit 2012 Presentation

General Strategy

– Keep track of asset urls

– Keep storage simple…

– No normalization of response data

STORING DEPENDENCIES

Page 11: Developing Online / Offline Mapping Applications using Adobe AIR and ArcGIS Server API for Flex - Blue Raster Esri Developer Summit 2012 Presentation

Local File System

– AIR File API

– Easy to implement

– Problematic as number of assets increase

– Idea: Name files the MD5 of their URL

STORING DEPENDENCIES

Page 12: Developing Online / Offline Mapping Applications using Adobe AIR and ArcGIS Server API for Flex - Blue Raster Esri Developer Summit 2012 Presentation

SQLite

– Scales better than File System

– Power of SQL for attribute queries

– Simple Data Model

– IDEA: Store AMF directly as Base64 Encoded Text

STORING DEPENDENCIES

Page 13: Developing Online / Offline Mapping Applications using Adobe AIR and ArcGIS Server API for Flex - Blue Raster Esri Developer Summit 2012 Presentation

Tile Packages (10.1)

– No need to “roll our own” tile storage strategy

– Creation from within ArcGIS Desktop

– IDEA: Check out TPKLayer for Flex API (Thank You Mansour!)

STORING DEPENDENCIES

Page 14: Developing Online / Offline Mapping Applications using Adobe AIR and ArcGIS Server API for Flex - Blue Raster Esri Developer Summit 2012 Presentation

ArcGIS Server API for Python…?

Page 15: Developing Online / Offline Mapping Applications using Adobe AIR and ArcGIS Server API for Flex - Blue Raster Esri Developer Summit 2012 Presentation

• Batteries Included!

• Simple Wrapper for AGS REST-API

• Django Management Commands

• Django O.R.M. for SQLite

Python / Django

Page 16: Developing Online / Offline Mapping Applications using Adobe AIR and ArcGIS Server API for Flex - Blue Raster Esri Developer Summit 2012 Presentation

Am I Connected ?(using URLMonitor)

Page 17: Developing Online / Offline Mapping Applications using Adobe AIR and ArcGIS Server API for Flex - Blue Raster Esri Developer Summit 2012 Presentation
Page 18: Developing Online / Offline Mapping Applications using Adobe AIR and ArcGIS Server API for Flex - Blue Raster Esri Developer Summit 2012 Presentation
Page 19: Developing Online / Offline Mapping Applications using Adobe AIR and ArcGIS Server API for Flex - Blue Raster Esri Developer Summit 2012 Presentation

Accessing Data in SQLite

Page 20: Developing Online / Offline Mapping Applications using Adobe AIR and ArcGIS Server API for Flex - Blue Raster Esri Developer Summit 2012 Presentation

ASYNC CONNECTION EXAMPLE

Page 21: Developing Online / Offline Mapping Applications using Adobe AIR and ArcGIS Server API for Flex - Blue Raster Esri Developer Summit 2012 Presentation

SYNC CONNECTION EXAMPLE

Page 22: Developing Online / Offline Mapping Applications using Adobe AIR and ArcGIS Server API for Flex - Blue Raster Esri Developer Summit 2012 Presentation

Retro-fit Tiled Map Service

Layer

Page 23: Developing Online / Offline Mapping Applications using Adobe AIR and ArcGIS Server API for Flex - Blue Raster Esri Developer Summit 2012 Presentation

EXTENDING TILED MAP SERVICE LAYER

Page 24: Developing Online / Offline Mapping Applications using Adobe AIR and ArcGIS Server API for Flex - Blue Raster Esri Developer Summit 2012 Presentation

EXTENDING TILED MAP SERVICE LAYER

Page 25: Developing Online / Offline Mapping Applications using Adobe AIR and ArcGIS Server API for Flex - Blue Raster Esri Developer Summit 2012 Presentation

EXTENDING TILED MAP SERVICE LAYER

Page 26: Developing Online / Offline Mapping Applications using Adobe AIR and ArcGIS Server API for Flex - Blue Raster Esri Developer Summit 2012 Presentation

EXTENDING TILED MAP SERVICE LAYER

Page 27: Developing Online / Offline Mapping Applications using Adobe AIR and ArcGIS Server API for Flex - Blue Raster Esri Developer Summit 2012 Presentation

AIR Deployment Options

Page 28: Developing Online / Offline Mapping Applications using Adobe AIR and ArcGIS Server API for Flex - Blue Raster Esri Developer Summit 2012 Presentation

• AIR Captive Runtime (Desktop)–Windows (.exe)–Mac (.dmg)–No need to install AIR Runtime separately

Page 29: Developing Online / Offline Mapping Applications using Adobe AIR and ArcGIS Server API for Flex - Blue Raster Esri Developer Summit 2012 Presentation

• Provide an AIR Installer (.air)–Cross platform installer–Encapsulates data–Requires separate AIR runtime installation

Page 30: Developing Online / Offline Mapping Applications using Adobe AIR and ArcGIS Server API for Flex - Blue Raster Esri Developer Summit 2012 Presentation

• Compile for Mobile–iOS (.ipa): App Store or register devices for limited-distribution

–Android (.apk):Google Play (Android Market) or distribute yourself.

Page 31: Developing Online / Offline Mapping Applications using Adobe AIR and ArcGIS Server API for Flex - Blue Raster Esri Developer Summit 2012 Presentation

Thank You!visit blueraster.com/blog for additional information

Blue [email protected]/blog

Brendan Collins@brendancol bcdcspatial.blogspot.com