49
Using the ArcGIS for Server REST API Jeremy Bartley, Sud Menon

using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

  • Upload
    others

  • View
    35

  • Download
    0

Embed Size (px)

Citation preview

Page 1: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

Using the ArcGIS for Server

REST API

Jeremy Bartley Sud Menon

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

JavaScript

Flex

Silverlight

Mapping Services

Data Services

Analysis Services

GIS

Server

Engine

GIS Services Data

Filesystems

Geodatabases

The ArcGIS System ndash Architecture

SQL

File

IO

REST SOAP

JSON

XML

AMF

KML

OGC

JSON

XML

AMF

KML

OGC

HTTP

Mobile

Desktop

ArcGIS Server REST API

bull Simple view of ArcGIS Server

bull ArcGIS Server hosts a Services Directory

- Used by developer while building application

bull Powers Web APIs

bull Discoverable accessible and useable

ArcGIS Server Services

bull Map

- Based on map document authored using ArcMap

- Can be used to identify features on the map

- Can be used to query individual layers in the map

bull Geocode

- Published locator file that can be used to perform find address and find location

bull Geometry

- A computational service not bound to any data on the server

- Provides basic geometric operations for use by web service clients

ArcGIS Server Services

bull Geoprocessing

- Allows organizations to centralize both data and processing

on the server

- Exposes spatial analysis functionality as easy to use tasks

- Allows GIS Analysts to easily author and publish

geoprocessing models

bull ImageServer

- Imagery management and analysis

bull Network Analysis

- Routing Service Area Closest Facility

ArcGIS Server REST API

bull All GIS Services are exposed as resources

- Service level metadata

bull Some resources have operations

- Map Service (export find identify)

- Map Service Layers (query)

- Image Services (export)

- Geocode Service (findAddressCandidates Reverse

Geocode)

- Geoprocessing (execute submit job)

- Network Analyst (solve route)

- Geometry Service (project buffer and others)

ESRI Developer Summit 2010 9

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

ESRI Developer Summit 2010 10

REST ndash The Elevator Pitch

4 Key Principles

Identification Of

Resources

Everything is a URL

Manipulation Of

Resources Through

Representations

Exchange standard formats using

standard verbs

Self-Descriptive

Messages

Every request asks the full

question every response includes

the full answer

Hypermedia As The

Engine Of Application

State

Hyperlinks

lta href=ldquourlrdquogtYeahltagt

Thank you httpwwwintertwinglynetblog2198html

Everything is a URL

bull Hierarchy of resources

- Catalog Services (Map Geocode etc) Layers Tasks

etc

bull JavaScript Flex Silverlight Java NEThellip Ruby

Pythonhellip iPhone Androidhellip wget curl

- interoperable

bull Searchable

bull Bookmark-able

bull Browser is the new command line

HTTP Goodness

bull HTTP as an application protocol

- Cache-Control headers

- ETags (Conditional GETs)

- Compression (gzip)

- Status codes

Supported Formats

bull All REST URLs support an f (format) parameter

- Default is html

bull List of supported formats

- html (Services Directory)

- json

- amf

- kmz

- image

- help

f=html

bull Services Directory ndash simple and instant access to

Service Level Metadata

bull Designed to be a developer tool

bull Developers who work with the Web APIs might not work with the json responses directly but will

work with the Services Directory

f=json

bull Used by the Web APIs

- Can be used by any programming language

bull JSON with callbacks

- f=jsonampcallback=myMethod

bull Pretty JSON

- f=pjson

- More readable

- For debugging purposes only

bull 101 JSON generation (and REST) is significantly faster than at 100

bull wwwjsonorg and wwwjsonlintorg

f=amf

bull Supported by certain operations

- query queryRelatedRecords

bull Native Flex format

- Significantly better performance for Flex clients

REST API Admin

bull At 101 there is no separate REST Admin

bull All Admin is through the server admin

bull httplthostgtltportgtarcgisadmin

bull At 101 the REST API Cache is automatically cleared when services are created updated or deleted

bull Other admin operations

- Disable Services Directory

- Generate Token

ldquoUnsaferdquo operations

bull ldquosaferdquo REST operations

- do not change the state of the system

bull ldquounsaferdquo REST operations

- Operations that change the state of the system

- eg Add update delete features and attachments

bull GETs not allowed for such operations

bull PUT and DELETE have inconsistent support across

various clients

bull ldquounnsaferdquo operations only supported through

POST

ESRI Developer Summit 2010 18

ESRI Developer Summit 2010 19

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull REST-enabled SOEs

bull Conclusion

Service by Service Walkthrough ndash Map Service

MapServer Resource Tile Access Export Operation

MapServer Layer Resource Query Operation

Drawing Info Etag optimization

Enhanced Generalization for Query

Generalization Good

Spurious precision Bad

Etag optimization -- idempotent requests for static data

are computed at rest tier

101 Server

GOODNESS

101 Dynamic Mapping

bull Dynamic Layers allow the client to

bull Change Renderers

bull Reorder Layers

bull Add Layers from registered workspaces on the server

101 Map Service - Statistical Queries

bull Statistical queries allow the client to

bull Get aggregate statistics (min max mean )

bull Use group by

101 Map Service - Support for Versions

bull Map Services have a ldquogdbVersionrdquo request parameter for

Query and Export

bull Allows apps to focus on different versions of the geodatabase

MapServer Support for Time

Advertise Time properties Export and Query by Time

Service by Service Walkthrough -- FeatureServer

FeatureServer ndash FS Layer resource similar to

MapServer Layer resource

Advertise Templates for editing apply edits operation

FeatureServer Feature Access and Attachments

New at 10 Feature access AddDelete Attachments

REST API - Security Flows

bull Different kinds of client side Apps

bull Apps that allow Users to access secure content that

belongs to the Users

bull Apps that access secure content that belongs to the App

bull hybrid

Apps that work with secured User Content

bull Users need to login to their accounts by presenting

credentials to the Server

bull Users trust the App it has access to their secure content

bull Credentials should flow through the App

bull Apps can use the Identity Managers in the client SDKs

bull Identity Mgr takes care of communicating with the serverrsquos

security Token Service over https and getting and renewing

tokens

bull All subsequent use and transmission of tokens parameters

and resulting content can also be over https as needed

bull Set up server to be ldquoall-SSLrdquo not just the token service

bull Protects all information during transmission

Apps that work with secured app content

bull App has its own credentials that it needs to communicate with the

server

bull App credentials should not be exposed to app users

bull Implies a server side flow for otherwise client side web apps

bull App can include a server side proxy configured with app credentials

bull username and password

bull long term token [ server may disallow ]

bull proxy responsible for getting and renewing short term tokens from

credentials over https

bull All subsequent requests can also be over https as needed

bull Proxy should be secured to the App

bull by Referer

bull by a server side App Session ID maintained by the App

Feature Service - Support for Versions

ESRI Developer Summit 2010 35

bull ldquogdbVersionrdquo request parameter for query and editing

operations

Feature Service - Sync support

ESRI Developer Summit 2010 36

bull Create Replica

bull Synchronize Replica

bull Unregister Replica

Service by Service Walkthrough -- GeometryServer

GeometryService Operations

editing topologic operators and geodesic measurements

Service by Service Walkthrough ndash Image Service

ImageServer ndash Raster functions

Aspect Slope NDVI Hillshade custom colormaps

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 2: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

JavaScript

Flex

Silverlight

Mapping Services

Data Services

Analysis Services

GIS

Server

Engine

GIS Services Data

Filesystems

Geodatabases

The ArcGIS System ndash Architecture

SQL

File

IO

REST SOAP

JSON

XML

AMF

KML

OGC

JSON

XML

AMF

KML

OGC

HTTP

Mobile

Desktop

ArcGIS Server REST API

bull Simple view of ArcGIS Server

bull ArcGIS Server hosts a Services Directory

- Used by developer while building application

bull Powers Web APIs

bull Discoverable accessible and useable

ArcGIS Server Services

bull Map

- Based on map document authored using ArcMap

- Can be used to identify features on the map

- Can be used to query individual layers in the map

bull Geocode

- Published locator file that can be used to perform find address and find location

bull Geometry

- A computational service not bound to any data on the server

- Provides basic geometric operations for use by web service clients

ArcGIS Server Services

bull Geoprocessing

- Allows organizations to centralize both data and processing

on the server

- Exposes spatial analysis functionality as easy to use tasks

- Allows GIS Analysts to easily author and publish

geoprocessing models

bull ImageServer

- Imagery management and analysis

bull Network Analysis

- Routing Service Area Closest Facility

ArcGIS Server REST API

bull All GIS Services are exposed as resources

- Service level metadata

bull Some resources have operations

- Map Service (export find identify)

- Map Service Layers (query)

- Image Services (export)

- Geocode Service (findAddressCandidates Reverse

Geocode)

- Geoprocessing (execute submit job)

- Network Analyst (solve route)

- Geometry Service (project buffer and others)

ESRI Developer Summit 2010 9

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

ESRI Developer Summit 2010 10

REST ndash The Elevator Pitch

4 Key Principles

Identification Of

Resources

Everything is a URL

Manipulation Of

Resources Through

Representations

Exchange standard formats using

standard verbs

Self-Descriptive

Messages

Every request asks the full

question every response includes

the full answer

Hypermedia As The

Engine Of Application

State

Hyperlinks

lta href=ldquourlrdquogtYeahltagt

Thank you httpwwwintertwinglynetblog2198html

Everything is a URL

bull Hierarchy of resources

- Catalog Services (Map Geocode etc) Layers Tasks

etc

bull JavaScript Flex Silverlight Java NEThellip Ruby

Pythonhellip iPhone Androidhellip wget curl

- interoperable

bull Searchable

bull Bookmark-able

bull Browser is the new command line

HTTP Goodness

bull HTTP as an application protocol

- Cache-Control headers

- ETags (Conditional GETs)

- Compression (gzip)

- Status codes

Supported Formats

bull All REST URLs support an f (format) parameter

- Default is html

bull List of supported formats

- html (Services Directory)

- json

- amf

- kmz

- image

- help

f=html

bull Services Directory ndash simple and instant access to

Service Level Metadata

bull Designed to be a developer tool

bull Developers who work with the Web APIs might not work with the json responses directly but will

work with the Services Directory

f=json

bull Used by the Web APIs

- Can be used by any programming language

bull JSON with callbacks

- f=jsonampcallback=myMethod

bull Pretty JSON

- f=pjson

- More readable

- For debugging purposes only

bull 101 JSON generation (and REST) is significantly faster than at 100

bull wwwjsonorg and wwwjsonlintorg

f=amf

bull Supported by certain operations

- query queryRelatedRecords

bull Native Flex format

- Significantly better performance for Flex clients

REST API Admin

bull At 101 there is no separate REST Admin

bull All Admin is through the server admin

bull httplthostgtltportgtarcgisadmin

bull At 101 the REST API Cache is automatically cleared when services are created updated or deleted

bull Other admin operations

- Disable Services Directory

- Generate Token

ldquoUnsaferdquo operations

bull ldquosaferdquo REST operations

- do not change the state of the system

bull ldquounsaferdquo REST operations

- Operations that change the state of the system

- eg Add update delete features and attachments

bull GETs not allowed for such operations

bull PUT and DELETE have inconsistent support across

various clients

bull ldquounnsaferdquo operations only supported through

POST

ESRI Developer Summit 2010 18

ESRI Developer Summit 2010 19

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull REST-enabled SOEs

bull Conclusion

Service by Service Walkthrough ndash Map Service

MapServer Resource Tile Access Export Operation

MapServer Layer Resource Query Operation

Drawing Info Etag optimization

Enhanced Generalization for Query

Generalization Good

Spurious precision Bad

Etag optimization -- idempotent requests for static data

are computed at rest tier

101 Server

GOODNESS

101 Dynamic Mapping

bull Dynamic Layers allow the client to

bull Change Renderers

bull Reorder Layers

bull Add Layers from registered workspaces on the server

101 Map Service - Statistical Queries

bull Statistical queries allow the client to

bull Get aggregate statistics (min max mean )

bull Use group by

101 Map Service - Support for Versions

bull Map Services have a ldquogdbVersionrdquo request parameter for

Query and Export

bull Allows apps to focus on different versions of the geodatabase

MapServer Support for Time

Advertise Time properties Export and Query by Time

Service by Service Walkthrough -- FeatureServer

FeatureServer ndash FS Layer resource similar to

MapServer Layer resource

Advertise Templates for editing apply edits operation

FeatureServer Feature Access and Attachments

New at 10 Feature access AddDelete Attachments

REST API - Security Flows

bull Different kinds of client side Apps

bull Apps that allow Users to access secure content that

belongs to the Users

bull Apps that access secure content that belongs to the App

bull hybrid

Apps that work with secured User Content

bull Users need to login to their accounts by presenting

credentials to the Server

bull Users trust the App it has access to their secure content

bull Credentials should flow through the App

bull Apps can use the Identity Managers in the client SDKs

bull Identity Mgr takes care of communicating with the serverrsquos

security Token Service over https and getting and renewing

tokens

bull All subsequent use and transmission of tokens parameters

and resulting content can also be over https as needed

bull Set up server to be ldquoall-SSLrdquo not just the token service

bull Protects all information during transmission

Apps that work with secured app content

bull App has its own credentials that it needs to communicate with the

server

bull App credentials should not be exposed to app users

bull Implies a server side flow for otherwise client side web apps

bull App can include a server side proxy configured with app credentials

bull username and password

bull long term token [ server may disallow ]

bull proxy responsible for getting and renewing short term tokens from

credentials over https

bull All subsequent requests can also be over https as needed

bull Proxy should be secured to the App

bull by Referer

bull by a server side App Session ID maintained by the App

Feature Service - Support for Versions

ESRI Developer Summit 2010 35

bull ldquogdbVersionrdquo request parameter for query and editing

operations

Feature Service - Sync support

ESRI Developer Summit 2010 36

bull Create Replica

bull Synchronize Replica

bull Unregister Replica

Service by Service Walkthrough -- GeometryServer

GeometryService Operations

editing topologic operators and geodesic measurements

Service by Service Walkthrough ndash Image Service

ImageServer ndash Raster functions

Aspect Slope NDVI Hillshade custom colormaps

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 3: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

JavaScript

Flex

Silverlight

Mapping Services

Data Services

Analysis Services

GIS

Server

Engine

GIS Services Data

Filesystems

Geodatabases

The ArcGIS System ndash Architecture

SQL

File

IO

REST SOAP

JSON

XML

AMF

KML

OGC

JSON

XML

AMF

KML

OGC

HTTP

Mobile

Desktop

ArcGIS Server REST API

bull Simple view of ArcGIS Server

bull ArcGIS Server hosts a Services Directory

- Used by developer while building application

bull Powers Web APIs

bull Discoverable accessible and useable

ArcGIS Server Services

bull Map

- Based on map document authored using ArcMap

- Can be used to identify features on the map

- Can be used to query individual layers in the map

bull Geocode

- Published locator file that can be used to perform find address and find location

bull Geometry

- A computational service not bound to any data on the server

- Provides basic geometric operations for use by web service clients

ArcGIS Server Services

bull Geoprocessing

- Allows organizations to centralize both data and processing

on the server

- Exposes spatial analysis functionality as easy to use tasks

- Allows GIS Analysts to easily author and publish

geoprocessing models

bull ImageServer

- Imagery management and analysis

bull Network Analysis

- Routing Service Area Closest Facility

ArcGIS Server REST API

bull All GIS Services are exposed as resources

- Service level metadata

bull Some resources have operations

- Map Service (export find identify)

- Map Service Layers (query)

- Image Services (export)

- Geocode Service (findAddressCandidates Reverse

Geocode)

- Geoprocessing (execute submit job)

- Network Analyst (solve route)

- Geometry Service (project buffer and others)

ESRI Developer Summit 2010 9

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

ESRI Developer Summit 2010 10

REST ndash The Elevator Pitch

4 Key Principles

Identification Of

Resources

Everything is a URL

Manipulation Of

Resources Through

Representations

Exchange standard formats using

standard verbs

Self-Descriptive

Messages

Every request asks the full

question every response includes

the full answer

Hypermedia As The

Engine Of Application

State

Hyperlinks

lta href=ldquourlrdquogtYeahltagt

Thank you httpwwwintertwinglynetblog2198html

Everything is a URL

bull Hierarchy of resources

- Catalog Services (Map Geocode etc) Layers Tasks

etc

bull JavaScript Flex Silverlight Java NEThellip Ruby

Pythonhellip iPhone Androidhellip wget curl

- interoperable

bull Searchable

bull Bookmark-able

bull Browser is the new command line

HTTP Goodness

bull HTTP as an application protocol

- Cache-Control headers

- ETags (Conditional GETs)

- Compression (gzip)

- Status codes

Supported Formats

bull All REST URLs support an f (format) parameter

- Default is html

bull List of supported formats

- html (Services Directory)

- json

- amf

- kmz

- image

- help

f=html

bull Services Directory ndash simple and instant access to

Service Level Metadata

bull Designed to be a developer tool

bull Developers who work with the Web APIs might not work with the json responses directly but will

work with the Services Directory

f=json

bull Used by the Web APIs

- Can be used by any programming language

bull JSON with callbacks

- f=jsonampcallback=myMethod

bull Pretty JSON

- f=pjson

- More readable

- For debugging purposes only

bull 101 JSON generation (and REST) is significantly faster than at 100

bull wwwjsonorg and wwwjsonlintorg

f=amf

bull Supported by certain operations

- query queryRelatedRecords

bull Native Flex format

- Significantly better performance for Flex clients

REST API Admin

bull At 101 there is no separate REST Admin

bull All Admin is through the server admin

bull httplthostgtltportgtarcgisadmin

bull At 101 the REST API Cache is automatically cleared when services are created updated or deleted

bull Other admin operations

- Disable Services Directory

- Generate Token

ldquoUnsaferdquo operations

bull ldquosaferdquo REST operations

- do not change the state of the system

bull ldquounsaferdquo REST operations

- Operations that change the state of the system

- eg Add update delete features and attachments

bull GETs not allowed for such operations

bull PUT and DELETE have inconsistent support across

various clients

bull ldquounnsaferdquo operations only supported through

POST

ESRI Developer Summit 2010 18

ESRI Developer Summit 2010 19

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull REST-enabled SOEs

bull Conclusion

Service by Service Walkthrough ndash Map Service

MapServer Resource Tile Access Export Operation

MapServer Layer Resource Query Operation

Drawing Info Etag optimization

Enhanced Generalization for Query

Generalization Good

Spurious precision Bad

Etag optimization -- idempotent requests for static data

are computed at rest tier

101 Server

GOODNESS

101 Dynamic Mapping

bull Dynamic Layers allow the client to

bull Change Renderers

bull Reorder Layers

bull Add Layers from registered workspaces on the server

101 Map Service - Statistical Queries

bull Statistical queries allow the client to

bull Get aggregate statistics (min max mean )

bull Use group by

101 Map Service - Support for Versions

bull Map Services have a ldquogdbVersionrdquo request parameter for

Query and Export

bull Allows apps to focus on different versions of the geodatabase

MapServer Support for Time

Advertise Time properties Export and Query by Time

Service by Service Walkthrough -- FeatureServer

FeatureServer ndash FS Layer resource similar to

MapServer Layer resource

Advertise Templates for editing apply edits operation

FeatureServer Feature Access and Attachments

New at 10 Feature access AddDelete Attachments

REST API - Security Flows

bull Different kinds of client side Apps

bull Apps that allow Users to access secure content that

belongs to the Users

bull Apps that access secure content that belongs to the App

bull hybrid

Apps that work with secured User Content

bull Users need to login to their accounts by presenting

credentials to the Server

bull Users trust the App it has access to their secure content

bull Credentials should flow through the App

bull Apps can use the Identity Managers in the client SDKs

bull Identity Mgr takes care of communicating with the serverrsquos

security Token Service over https and getting and renewing

tokens

bull All subsequent use and transmission of tokens parameters

and resulting content can also be over https as needed

bull Set up server to be ldquoall-SSLrdquo not just the token service

bull Protects all information during transmission

Apps that work with secured app content

bull App has its own credentials that it needs to communicate with the

server

bull App credentials should not be exposed to app users

bull Implies a server side flow for otherwise client side web apps

bull App can include a server side proxy configured with app credentials

bull username and password

bull long term token [ server may disallow ]

bull proxy responsible for getting and renewing short term tokens from

credentials over https

bull All subsequent requests can also be over https as needed

bull Proxy should be secured to the App

bull by Referer

bull by a server side App Session ID maintained by the App

Feature Service - Support for Versions

ESRI Developer Summit 2010 35

bull ldquogdbVersionrdquo request parameter for query and editing

operations

Feature Service - Sync support

ESRI Developer Summit 2010 36

bull Create Replica

bull Synchronize Replica

bull Unregister Replica

Service by Service Walkthrough -- GeometryServer

GeometryService Operations

editing topologic operators and geodesic measurements

Service by Service Walkthrough ndash Image Service

ImageServer ndash Raster functions

Aspect Slope NDVI Hillshade custom colormaps

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 4: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

JavaScript

Flex

Silverlight

Mapping Services

Data Services

Analysis Services

GIS

Server

Engine

GIS Services Data

Filesystems

Geodatabases

The ArcGIS System ndash Architecture

SQL

File

IO

REST SOAP

JSON

XML

AMF

KML

OGC

JSON

XML

AMF

KML

OGC

HTTP

Mobile

Desktop

ArcGIS Server REST API

bull Simple view of ArcGIS Server

bull ArcGIS Server hosts a Services Directory

- Used by developer while building application

bull Powers Web APIs

bull Discoverable accessible and useable

ArcGIS Server Services

bull Map

- Based on map document authored using ArcMap

- Can be used to identify features on the map

- Can be used to query individual layers in the map

bull Geocode

- Published locator file that can be used to perform find address and find location

bull Geometry

- A computational service not bound to any data on the server

- Provides basic geometric operations for use by web service clients

ArcGIS Server Services

bull Geoprocessing

- Allows organizations to centralize both data and processing

on the server

- Exposes spatial analysis functionality as easy to use tasks

- Allows GIS Analysts to easily author and publish

geoprocessing models

bull ImageServer

- Imagery management and analysis

bull Network Analysis

- Routing Service Area Closest Facility

ArcGIS Server REST API

bull All GIS Services are exposed as resources

- Service level metadata

bull Some resources have operations

- Map Service (export find identify)

- Map Service Layers (query)

- Image Services (export)

- Geocode Service (findAddressCandidates Reverse

Geocode)

- Geoprocessing (execute submit job)

- Network Analyst (solve route)

- Geometry Service (project buffer and others)

ESRI Developer Summit 2010 9

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

ESRI Developer Summit 2010 10

REST ndash The Elevator Pitch

4 Key Principles

Identification Of

Resources

Everything is a URL

Manipulation Of

Resources Through

Representations

Exchange standard formats using

standard verbs

Self-Descriptive

Messages

Every request asks the full

question every response includes

the full answer

Hypermedia As The

Engine Of Application

State

Hyperlinks

lta href=ldquourlrdquogtYeahltagt

Thank you httpwwwintertwinglynetblog2198html

Everything is a URL

bull Hierarchy of resources

- Catalog Services (Map Geocode etc) Layers Tasks

etc

bull JavaScript Flex Silverlight Java NEThellip Ruby

Pythonhellip iPhone Androidhellip wget curl

- interoperable

bull Searchable

bull Bookmark-able

bull Browser is the new command line

HTTP Goodness

bull HTTP as an application protocol

- Cache-Control headers

- ETags (Conditional GETs)

- Compression (gzip)

- Status codes

Supported Formats

bull All REST URLs support an f (format) parameter

- Default is html

bull List of supported formats

- html (Services Directory)

- json

- amf

- kmz

- image

- help

f=html

bull Services Directory ndash simple and instant access to

Service Level Metadata

bull Designed to be a developer tool

bull Developers who work with the Web APIs might not work with the json responses directly but will

work with the Services Directory

f=json

bull Used by the Web APIs

- Can be used by any programming language

bull JSON with callbacks

- f=jsonampcallback=myMethod

bull Pretty JSON

- f=pjson

- More readable

- For debugging purposes only

bull 101 JSON generation (and REST) is significantly faster than at 100

bull wwwjsonorg and wwwjsonlintorg

f=amf

bull Supported by certain operations

- query queryRelatedRecords

bull Native Flex format

- Significantly better performance for Flex clients

REST API Admin

bull At 101 there is no separate REST Admin

bull All Admin is through the server admin

bull httplthostgtltportgtarcgisadmin

bull At 101 the REST API Cache is automatically cleared when services are created updated or deleted

bull Other admin operations

- Disable Services Directory

- Generate Token

ldquoUnsaferdquo operations

bull ldquosaferdquo REST operations

- do not change the state of the system

bull ldquounsaferdquo REST operations

- Operations that change the state of the system

- eg Add update delete features and attachments

bull GETs not allowed for such operations

bull PUT and DELETE have inconsistent support across

various clients

bull ldquounnsaferdquo operations only supported through

POST

ESRI Developer Summit 2010 18

ESRI Developer Summit 2010 19

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull REST-enabled SOEs

bull Conclusion

Service by Service Walkthrough ndash Map Service

MapServer Resource Tile Access Export Operation

MapServer Layer Resource Query Operation

Drawing Info Etag optimization

Enhanced Generalization for Query

Generalization Good

Spurious precision Bad

Etag optimization -- idempotent requests for static data

are computed at rest tier

101 Server

GOODNESS

101 Dynamic Mapping

bull Dynamic Layers allow the client to

bull Change Renderers

bull Reorder Layers

bull Add Layers from registered workspaces on the server

101 Map Service - Statistical Queries

bull Statistical queries allow the client to

bull Get aggregate statistics (min max mean )

bull Use group by

101 Map Service - Support for Versions

bull Map Services have a ldquogdbVersionrdquo request parameter for

Query and Export

bull Allows apps to focus on different versions of the geodatabase

MapServer Support for Time

Advertise Time properties Export and Query by Time

Service by Service Walkthrough -- FeatureServer

FeatureServer ndash FS Layer resource similar to

MapServer Layer resource

Advertise Templates for editing apply edits operation

FeatureServer Feature Access and Attachments

New at 10 Feature access AddDelete Attachments

REST API - Security Flows

bull Different kinds of client side Apps

bull Apps that allow Users to access secure content that

belongs to the Users

bull Apps that access secure content that belongs to the App

bull hybrid

Apps that work with secured User Content

bull Users need to login to their accounts by presenting

credentials to the Server

bull Users trust the App it has access to their secure content

bull Credentials should flow through the App

bull Apps can use the Identity Managers in the client SDKs

bull Identity Mgr takes care of communicating with the serverrsquos

security Token Service over https and getting and renewing

tokens

bull All subsequent use and transmission of tokens parameters

and resulting content can also be over https as needed

bull Set up server to be ldquoall-SSLrdquo not just the token service

bull Protects all information during transmission

Apps that work with secured app content

bull App has its own credentials that it needs to communicate with the

server

bull App credentials should not be exposed to app users

bull Implies a server side flow for otherwise client side web apps

bull App can include a server side proxy configured with app credentials

bull username and password

bull long term token [ server may disallow ]

bull proxy responsible for getting and renewing short term tokens from

credentials over https

bull All subsequent requests can also be over https as needed

bull Proxy should be secured to the App

bull by Referer

bull by a server side App Session ID maintained by the App

Feature Service - Support for Versions

ESRI Developer Summit 2010 35

bull ldquogdbVersionrdquo request parameter for query and editing

operations

Feature Service - Sync support

ESRI Developer Summit 2010 36

bull Create Replica

bull Synchronize Replica

bull Unregister Replica

Service by Service Walkthrough -- GeometryServer

GeometryService Operations

editing topologic operators and geodesic measurements

Service by Service Walkthrough ndash Image Service

ImageServer ndash Raster functions

Aspect Slope NDVI Hillshade custom colormaps

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 5: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

ArcGIS Server REST API

bull Simple view of ArcGIS Server

bull ArcGIS Server hosts a Services Directory

- Used by developer while building application

bull Powers Web APIs

bull Discoverable accessible and useable

ArcGIS Server Services

bull Map

- Based on map document authored using ArcMap

- Can be used to identify features on the map

- Can be used to query individual layers in the map

bull Geocode

- Published locator file that can be used to perform find address and find location

bull Geometry

- A computational service not bound to any data on the server

- Provides basic geometric operations for use by web service clients

ArcGIS Server Services

bull Geoprocessing

- Allows organizations to centralize both data and processing

on the server

- Exposes spatial analysis functionality as easy to use tasks

- Allows GIS Analysts to easily author and publish

geoprocessing models

bull ImageServer

- Imagery management and analysis

bull Network Analysis

- Routing Service Area Closest Facility

ArcGIS Server REST API

bull All GIS Services are exposed as resources

- Service level metadata

bull Some resources have operations

- Map Service (export find identify)

- Map Service Layers (query)

- Image Services (export)

- Geocode Service (findAddressCandidates Reverse

Geocode)

- Geoprocessing (execute submit job)

- Network Analyst (solve route)

- Geometry Service (project buffer and others)

ESRI Developer Summit 2010 9

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

ESRI Developer Summit 2010 10

REST ndash The Elevator Pitch

4 Key Principles

Identification Of

Resources

Everything is a URL

Manipulation Of

Resources Through

Representations

Exchange standard formats using

standard verbs

Self-Descriptive

Messages

Every request asks the full

question every response includes

the full answer

Hypermedia As The

Engine Of Application

State

Hyperlinks

lta href=ldquourlrdquogtYeahltagt

Thank you httpwwwintertwinglynetblog2198html

Everything is a URL

bull Hierarchy of resources

- Catalog Services (Map Geocode etc) Layers Tasks

etc

bull JavaScript Flex Silverlight Java NEThellip Ruby

Pythonhellip iPhone Androidhellip wget curl

- interoperable

bull Searchable

bull Bookmark-able

bull Browser is the new command line

HTTP Goodness

bull HTTP as an application protocol

- Cache-Control headers

- ETags (Conditional GETs)

- Compression (gzip)

- Status codes

Supported Formats

bull All REST URLs support an f (format) parameter

- Default is html

bull List of supported formats

- html (Services Directory)

- json

- amf

- kmz

- image

- help

f=html

bull Services Directory ndash simple and instant access to

Service Level Metadata

bull Designed to be a developer tool

bull Developers who work with the Web APIs might not work with the json responses directly but will

work with the Services Directory

f=json

bull Used by the Web APIs

- Can be used by any programming language

bull JSON with callbacks

- f=jsonampcallback=myMethod

bull Pretty JSON

- f=pjson

- More readable

- For debugging purposes only

bull 101 JSON generation (and REST) is significantly faster than at 100

bull wwwjsonorg and wwwjsonlintorg

f=amf

bull Supported by certain operations

- query queryRelatedRecords

bull Native Flex format

- Significantly better performance for Flex clients

REST API Admin

bull At 101 there is no separate REST Admin

bull All Admin is through the server admin

bull httplthostgtltportgtarcgisadmin

bull At 101 the REST API Cache is automatically cleared when services are created updated or deleted

bull Other admin operations

- Disable Services Directory

- Generate Token

ldquoUnsaferdquo operations

bull ldquosaferdquo REST operations

- do not change the state of the system

bull ldquounsaferdquo REST operations

- Operations that change the state of the system

- eg Add update delete features and attachments

bull GETs not allowed for such operations

bull PUT and DELETE have inconsistent support across

various clients

bull ldquounnsaferdquo operations only supported through

POST

ESRI Developer Summit 2010 18

ESRI Developer Summit 2010 19

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull REST-enabled SOEs

bull Conclusion

Service by Service Walkthrough ndash Map Service

MapServer Resource Tile Access Export Operation

MapServer Layer Resource Query Operation

Drawing Info Etag optimization

Enhanced Generalization for Query

Generalization Good

Spurious precision Bad

Etag optimization -- idempotent requests for static data

are computed at rest tier

101 Server

GOODNESS

101 Dynamic Mapping

bull Dynamic Layers allow the client to

bull Change Renderers

bull Reorder Layers

bull Add Layers from registered workspaces on the server

101 Map Service - Statistical Queries

bull Statistical queries allow the client to

bull Get aggregate statistics (min max mean )

bull Use group by

101 Map Service - Support for Versions

bull Map Services have a ldquogdbVersionrdquo request parameter for

Query and Export

bull Allows apps to focus on different versions of the geodatabase

MapServer Support for Time

Advertise Time properties Export and Query by Time

Service by Service Walkthrough -- FeatureServer

FeatureServer ndash FS Layer resource similar to

MapServer Layer resource

Advertise Templates for editing apply edits operation

FeatureServer Feature Access and Attachments

New at 10 Feature access AddDelete Attachments

REST API - Security Flows

bull Different kinds of client side Apps

bull Apps that allow Users to access secure content that

belongs to the Users

bull Apps that access secure content that belongs to the App

bull hybrid

Apps that work with secured User Content

bull Users need to login to their accounts by presenting

credentials to the Server

bull Users trust the App it has access to their secure content

bull Credentials should flow through the App

bull Apps can use the Identity Managers in the client SDKs

bull Identity Mgr takes care of communicating with the serverrsquos

security Token Service over https and getting and renewing

tokens

bull All subsequent use and transmission of tokens parameters

and resulting content can also be over https as needed

bull Set up server to be ldquoall-SSLrdquo not just the token service

bull Protects all information during transmission

Apps that work with secured app content

bull App has its own credentials that it needs to communicate with the

server

bull App credentials should not be exposed to app users

bull Implies a server side flow for otherwise client side web apps

bull App can include a server side proxy configured with app credentials

bull username and password

bull long term token [ server may disallow ]

bull proxy responsible for getting and renewing short term tokens from

credentials over https

bull All subsequent requests can also be over https as needed

bull Proxy should be secured to the App

bull by Referer

bull by a server side App Session ID maintained by the App

Feature Service - Support for Versions

ESRI Developer Summit 2010 35

bull ldquogdbVersionrdquo request parameter for query and editing

operations

Feature Service - Sync support

ESRI Developer Summit 2010 36

bull Create Replica

bull Synchronize Replica

bull Unregister Replica

Service by Service Walkthrough -- GeometryServer

GeometryService Operations

editing topologic operators and geodesic measurements

Service by Service Walkthrough ndash Image Service

ImageServer ndash Raster functions

Aspect Slope NDVI Hillshade custom colormaps

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 6: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

ArcGIS Server Services

bull Map

- Based on map document authored using ArcMap

- Can be used to identify features on the map

- Can be used to query individual layers in the map

bull Geocode

- Published locator file that can be used to perform find address and find location

bull Geometry

- A computational service not bound to any data on the server

- Provides basic geometric operations for use by web service clients

ArcGIS Server Services

bull Geoprocessing

- Allows organizations to centralize both data and processing

on the server

- Exposes spatial analysis functionality as easy to use tasks

- Allows GIS Analysts to easily author and publish

geoprocessing models

bull ImageServer

- Imagery management and analysis

bull Network Analysis

- Routing Service Area Closest Facility

ArcGIS Server REST API

bull All GIS Services are exposed as resources

- Service level metadata

bull Some resources have operations

- Map Service (export find identify)

- Map Service Layers (query)

- Image Services (export)

- Geocode Service (findAddressCandidates Reverse

Geocode)

- Geoprocessing (execute submit job)

- Network Analyst (solve route)

- Geometry Service (project buffer and others)

ESRI Developer Summit 2010 9

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

ESRI Developer Summit 2010 10

REST ndash The Elevator Pitch

4 Key Principles

Identification Of

Resources

Everything is a URL

Manipulation Of

Resources Through

Representations

Exchange standard formats using

standard verbs

Self-Descriptive

Messages

Every request asks the full

question every response includes

the full answer

Hypermedia As The

Engine Of Application

State

Hyperlinks

lta href=ldquourlrdquogtYeahltagt

Thank you httpwwwintertwinglynetblog2198html

Everything is a URL

bull Hierarchy of resources

- Catalog Services (Map Geocode etc) Layers Tasks

etc

bull JavaScript Flex Silverlight Java NEThellip Ruby

Pythonhellip iPhone Androidhellip wget curl

- interoperable

bull Searchable

bull Bookmark-able

bull Browser is the new command line

HTTP Goodness

bull HTTP as an application protocol

- Cache-Control headers

- ETags (Conditional GETs)

- Compression (gzip)

- Status codes

Supported Formats

bull All REST URLs support an f (format) parameter

- Default is html

bull List of supported formats

- html (Services Directory)

- json

- amf

- kmz

- image

- help

f=html

bull Services Directory ndash simple and instant access to

Service Level Metadata

bull Designed to be a developer tool

bull Developers who work with the Web APIs might not work with the json responses directly but will

work with the Services Directory

f=json

bull Used by the Web APIs

- Can be used by any programming language

bull JSON with callbacks

- f=jsonampcallback=myMethod

bull Pretty JSON

- f=pjson

- More readable

- For debugging purposes only

bull 101 JSON generation (and REST) is significantly faster than at 100

bull wwwjsonorg and wwwjsonlintorg

f=amf

bull Supported by certain operations

- query queryRelatedRecords

bull Native Flex format

- Significantly better performance for Flex clients

REST API Admin

bull At 101 there is no separate REST Admin

bull All Admin is through the server admin

bull httplthostgtltportgtarcgisadmin

bull At 101 the REST API Cache is automatically cleared when services are created updated or deleted

bull Other admin operations

- Disable Services Directory

- Generate Token

ldquoUnsaferdquo operations

bull ldquosaferdquo REST operations

- do not change the state of the system

bull ldquounsaferdquo REST operations

- Operations that change the state of the system

- eg Add update delete features and attachments

bull GETs not allowed for such operations

bull PUT and DELETE have inconsistent support across

various clients

bull ldquounnsaferdquo operations only supported through

POST

ESRI Developer Summit 2010 18

ESRI Developer Summit 2010 19

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull REST-enabled SOEs

bull Conclusion

Service by Service Walkthrough ndash Map Service

MapServer Resource Tile Access Export Operation

MapServer Layer Resource Query Operation

Drawing Info Etag optimization

Enhanced Generalization for Query

Generalization Good

Spurious precision Bad

Etag optimization -- idempotent requests for static data

are computed at rest tier

101 Server

GOODNESS

101 Dynamic Mapping

bull Dynamic Layers allow the client to

bull Change Renderers

bull Reorder Layers

bull Add Layers from registered workspaces on the server

101 Map Service - Statistical Queries

bull Statistical queries allow the client to

bull Get aggregate statistics (min max mean )

bull Use group by

101 Map Service - Support for Versions

bull Map Services have a ldquogdbVersionrdquo request parameter for

Query and Export

bull Allows apps to focus on different versions of the geodatabase

MapServer Support for Time

Advertise Time properties Export and Query by Time

Service by Service Walkthrough -- FeatureServer

FeatureServer ndash FS Layer resource similar to

MapServer Layer resource

Advertise Templates for editing apply edits operation

FeatureServer Feature Access and Attachments

New at 10 Feature access AddDelete Attachments

REST API - Security Flows

bull Different kinds of client side Apps

bull Apps that allow Users to access secure content that

belongs to the Users

bull Apps that access secure content that belongs to the App

bull hybrid

Apps that work with secured User Content

bull Users need to login to their accounts by presenting

credentials to the Server

bull Users trust the App it has access to their secure content

bull Credentials should flow through the App

bull Apps can use the Identity Managers in the client SDKs

bull Identity Mgr takes care of communicating with the serverrsquos

security Token Service over https and getting and renewing

tokens

bull All subsequent use and transmission of tokens parameters

and resulting content can also be over https as needed

bull Set up server to be ldquoall-SSLrdquo not just the token service

bull Protects all information during transmission

Apps that work with secured app content

bull App has its own credentials that it needs to communicate with the

server

bull App credentials should not be exposed to app users

bull Implies a server side flow for otherwise client side web apps

bull App can include a server side proxy configured with app credentials

bull username and password

bull long term token [ server may disallow ]

bull proxy responsible for getting and renewing short term tokens from

credentials over https

bull All subsequent requests can also be over https as needed

bull Proxy should be secured to the App

bull by Referer

bull by a server side App Session ID maintained by the App

Feature Service - Support for Versions

ESRI Developer Summit 2010 35

bull ldquogdbVersionrdquo request parameter for query and editing

operations

Feature Service - Sync support

ESRI Developer Summit 2010 36

bull Create Replica

bull Synchronize Replica

bull Unregister Replica

Service by Service Walkthrough -- GeometryServer

GeometryService Operations

editing topologic operators and geodesic measurements

Service by Service Walkthrough ndash Image Service

ImageServer ndash Raster functions

Aspect Slope NDVI Hillshade custom colormaps

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 7: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

ArcGIS Server Services

bull Geoprocessing

- Allows organizations to centralize both data and processing

on the server

- Exposes spatial analysis functionality as easy to use tasks

- Allows GIS Analysts to easily author and publish

geoprocessing models

bull ImageServer

- Imagery management and analysis

bull Network Analysis

- Routing Service Area Closest Facility

ArcGIS Server REST API

bull All GIS Services are exposed as resources

- Service level metadata

bull Some resources have operations

- Map Service (export find identify)

- Map Service Layers (query)

- Image Services (export)

- Geocode Service (findAddressCandidates Reverse

Geocode)

- Geoprocessing (execute submit job)

- Network Analyst (solve route)

- Geometry Service (project buffer and others)

ESRI Developer Summit 2010 9

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

ESRI Developer Summit 2010 10

REST ndash The Elevator Pitch

4 Key Principles

Identification Of

Resources

Everything is a URL

Manipulation Of

Resources Through

Representations

Exchange standard formats using

standard verbs

Self-Descriptive

Messages

Every request asks the full

question every response includes

the full answer

Hypermedia As The

Engine Of Application

State

Hyperlinks

lta href=ldquourlrdquogtYeahltagt

Thank you httpwwwintertwinglynetblog2198html

Everything is a URL

bull Hierarchy of resources

- Catalog Services (Map Geocode etc) Layers Tasks

etc

bull JavaScript Flex Silverlight Java NEThellip Ruby

Pythonhellip iPhone Androidhellip wget curl

- interoperable

bull Searchable

bull Bookmark-able

bull Browser is the new command line

HTTP Goodness

bull HTTP as an application protocol

- Cache-Control headers

- ETags (Conditional GETs)

- Compression (gzip)

- Status codes

Supported Formats

bull All REST URLs support an f (format) parameter

- Default is html

bull List of supported formats

- html (Services Directory)

- json

- amf

- kmz

- image

- help

f=html

bull Services Directory ndash simple and instant access to

Service Level Metadata

bull Designed to be a developer tool

bull Developers who work with the Web APIs might not work with the json responses directly but will

work with the Services Directory

f=json

bull Used by the Web APIs

- Can be used by any programming language

bull JSON with callbacks

- f=jsonampcallback=myMethod

bull Pretty JSON

- f=pjson

- More readable

- For debugging purposes only

bull 101 JSON generation (and REST) is significantly faster than at 100

bull wwwjsonorg and wwwjsonlintorg

f=amf

bull Supported by certain operations

- query queryRelatedRecords

bull Native Flex format

- Significantly better performance for Flex clients

REST API Admin

bull At 101 there is no separate REST Admin

bull All Admin is through the server admin

bull httplthostgtltportgtarcgisadmin

bull At 101 the REST API Cache is automatically cleared when services are created updated or deleted

bull Other admin operations

- Disable Services Directory

- Generate Token

ldquoUnsaferdquo operations

bull ldquosaferdquo REST operations

- do not change the state of the system

bull ldquounsaferdquo REST operations

- Operations that change the state of the system

- eg Add update delete features and attachments

bull GETs not allowed for such operations

bull PUT and DELETE have inconsistent support across

various clients

bull ldquounnsaferdquo operations only supported through

POST

ESRI Developer Summit 2010 18

ESRI Developer Summit 2010 19

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull REST-enabled SOEs

bull Conclusion

Service by Service Walkthrough ndash Map Service

MapServer Resource Tile Access Export Operation

MapServer Layer Resource Query Operation

Drawing Info Etag optimization

Enhanced Generalization for Query

Generalization Good

Spurious precision Bad

Etag optimization -- idempotent requests for static data

are computed at rest tier

101 Server

GOODNESS

101 Dynamic Mapping

bull Dynamic Layers allow the client to

bull Change Renderers

bull Reorder Layers

bull Add Layers from registered workspaces on the server

101 Map Service - Statistical Queries

bull Statistical queries allow the client to

bull Get aggregate statistics (min max mean )

bull Use group by

101 Map Service - Support for Versions

bull Map Services have a ldquogdbVersionrdquo request parameter for

Query and Export

bull Allows apps to focus on different versions of the geodatabase

MapServer Support for Time

Advertise Time properties Export and Query by Time

Service by Service Walkthrough -- FeatureServer

FeatureServer ndash FS Layer resource similar to

MapServer Layer resource

Advertise Templates for editing apply edits operation

FeatureServer Feature Access and Attachments

New at 10 Feature access AddDelete Attachments

REST API - Security Flows

bull Different kinds of client side Apps

bull Apps that allow Users to access secure content that

belongs to the Users

bull Apps that access secure content that belongs to the App

bull hybrid

Apps that work with secured User Content

bull Users need to login to their accounts by presenting

credentials to the Server

bull Users trust the App it has access to their secure content

bull Credentials should flow through the App

bull Apps can use the Identity Managers in the client SDKs

bull Identity Mgr takes care of communicating with the serverrsquos

security Token Service over https and getting and renewing

tokens

bull All subsequent use and transmission of tokens parameters

and resulting content can also be over https as needed

bull Set up server to be ldquoall-SSLrdquo not just the token service

bull Protects all information during transmission

Apps that work with secured app content

bull App has its own credentials that it needs to communicate with the

server

bull App credentials should not be exposed to app users

bull Implies a server side flow for otherwise client side web apps

bull App can include a server side proxy configured with app credentials

bull username and password

bull long term token [ server may disallow ]

bull proxy responsible for getting and renewing short term tokens from

credentials over https

bull All subsequent requests can also be over https as needed

bull Proxy should be secured to the App

bull by Referer

bull by a server side App Session ID maintained by the App

Feature Service - Support for Versions

ESRI Developer Summit 2010 35

bull ldquogdbVersionrdquo request parameter for query and editing

operations

Feature Service - Sync support

ESRI Developer Summit 2010 36

bull Create Replica

bull Synchronize Replica

bull Unregister Replica

Service by Service Walkthrough -- GeometryServer

GeometryService Operations

editing topologic operators and geodesic measurements

Service by Service Walkthrough ndash Image Service

ImageServer ndash Raster functions

Aspect Slope NDVI Hillshade custom colormaps

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 8: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

ArcGIS Server REST API

bull All GIS Services are exposed as resources

- Service level metadata

bull Some resources have operations

- Map Service (export find identify)

- Map Service Layers (query)

- Image Services (export)

- Geocode Service (findAddressCandidates Reverse

Geocode)

- Geoprocessing (execute submit job)

- Network Analyst (solve route)

- Geometry Service (project buffer and others)

ESRI Developer Summit 2010 9

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

ESRI Developer Summit 2010 10

REST ndash The Elevator Pitch

4 Key Principles

Identification Of

Resources

Everything is a URL

Manipulation Of

Resources Through

Representations

Exchange standard formats using

standard verbs

Self-Descriptive

Messages

Every request asks the full

question every response includes

the full answer

Hypermedia As The

Engine Of Application

State

Hyperlinks

lta href=ldquourlrdquogtYeahltagt

Thank you httpwwwintertwinglynetblog2198html

Everything is a URL

bull Hierarchy of resources

- Catalog Services (Map Geocode etc) Layers Tasks

etc

bull JavaScript Flex Silverlight Java NEThellip Ruby

Pythonhellip iPhone Androidhellip wget curl

- interoperable

bull Searchable

bull Bookmark-able

bull Browser is the new command line

HTTP Goodness

bull HTTP as an application protocol

- Cache-Control headers

- ETags (Conditional GETs)

- Compression (gzip)

- Status codes

Supported Formats

bull All REST URLs support an f (format) parameter

- Default is html

bull List of supported formats

- html (Services Directory)

- json

- amf

- kmz

- image

- help

f=html

bull Services Directory ndash simple and instant access to

Service Level Metadata

bull Designed to be a developer tool

bull Developers who work with the Web APIs might not work with the json responses directly but will

work with the Services Directory

f=json

bull Used by the Web APIs

- Can be used by any programming language

bull JSON with callbacks

- f=jsonampcallback=myMethod

bull Pretty JSON

- f=pjson

- More readable

- For debugging purposes only

bull 101 JSON generation (and REST) is significantly faster than at 100

bull wwwjsonorg and wwwjsonlintorg

f=amf

bull Supported by certain operations

- query queryRelatedRecords

bull Native Flex format

- Significantly better performance for Flex clients

REST API Admin

bull At 101 there is no separate REST Admin

bull All Admin is through the server admin

bull httplthostgtltportgtarcgisadmin

bull At 101 the REST API Cache is automatically cleared when services are created updated or deleted

bull Other admin operations

- Disable Services Directory

- Generate Token

ldquoUnsaferdquo operations

bull ldquosaferdquo REST operations

- do not change the state of the system

bull ldquounsaferdquo REST operations

- Operations that change the state of the system

- eg Add update delete features and attachments

bull GETs not allowed for such operations

bull PUT and DELETE have inconsistent support across

various clients

bull ldquounnsaferdquo operations only supported through

POST

ESRI Developer Summit 2010 18

ESRI Developer Summit 2010 19

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull REST-enabled SOEs

bull Conclusion

Service by Service Walkthrough ndash Map Service

MapServer Resource Tile Access Export Operation

MapServer Layer Resource Query Operation

Drawing Info Etag optimization

Enhanced Generalization for Query

Generalization Good

Spurious precision Bad

Etag optimization -- idempotent requests for static data

are computed at rest tier

101 Server

GOODNESS

101 Dynamic Mapping

bull Dynamic Layers allow the client to

bull Change Renderers

bull Reorder Layers

bull Add Layers from registered workspaces on the server

101 Map Service - Statistical Queries

bull Statistical queries allow the client to

bull Get aggregate statistics (min max mean )

bull Use group by

101 Map Service - Support for Versions

bull Map Services have a ldquogdbVersionrdquo request parameter for

Query and Export

bull Allows apps to focus on different versions of the geodatabase

MapServer Support for Time

Advertise Time properties Export and Query by Time

Service by Service Walkthrough -- FeatureServer

FeatureServer ndash FS Layer resource similar to

MapServer Layer resource

Advertise Templates for editing apply edits operation

FeatureServer Feature Access and Attachments

New at 10 Feature access AddDelete Attachments

REST API - Security Flows

bull Different kinds of client side Apps

bull Apps that allow Users to access secure content that

belongs to the Users

bull Apps that access secure content that belongs to the App

bull hybrid

Apps that work with secured User Content

bull Users need to login to their accounts by presenting

credentials to the Server

bull Users trust the App it has access to their secure content

bull Credentials should flow through the App

bull Apps can use the Identity Managers in the client SDKs

bull Identity Mgr takes care of communicating with the serverrsquos

security Token Service over https and getting and renewing

tokens

bull All subsequent use and transmission of tokens parameters

and resulting content can also be over https as needed

bull Set up server to be ldquoall-SSLrdquo not just the token service

bull Protects all information during transmission

Apps that work with secured app content

bull App has its own credentials that it needs to communicate with the

server

bull App credentials should not be exposed to app users

bull Implies a server side flow for otherwise client side web apps

bull App can include a server side proxy configured with app credentials

bull username and password

bull long term token [ server may disallow ]

bull proxy responsible for getting and renewing short term tokens from

credentials over https

bull All subsequent requests can also be over https as needed

bull Proxy should be secured to the App

bull by Referer

bull by a server side App Session ID maintained by the App

Feature Service - Support for Versions

ESRI Developer Summit 2010 35

bull ldquogdbVersionrdquo request parameter for query and editing

operations

Feature Service - Sync support

ESRI Developer Summit 2010 36

bull Create Replica

bull Synchronize Replica

bull Unregister Replica

Service by Service Walkthrough -- GeometryServer

GeometryService Operations

editing topologic operators and geodesic measurements

Service by Service Walkthrough ndash Image Service

ImageServer ndash Raster functions

Aspect Slope NDVI Hillshade custom colormaps

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 9: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

ESRI Developer Summit 2010 9

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

ESRI Developer Summit 2010 10

REST ndash The Elevator Pitch

4 Key Principles

Identification Of

Resources

Everything is a URL

Manipulation Of

Resources Through

Representations

Exchange standard formats using

standard verbs

Self-Descriptive

Messages

Every request asks the full

question every response includes

the full answer

Hypermedia As The

Engine Of Application

State

Hyperlinks

lta href=ldquourlrdquogtYeahltagt

Thank you httpwwwintertwinglynetblog2198html

Everything is a URL

bull Hierarchy of resources

- Catalog Services (Map Geocode etc) Layers Tasks

etc

bull JavaScript Flex Silverlight Java NEThellip Ruby

Pythonhellip iPhone Androidhellip wget curl

- interoperable

bull Searchable

bull Bookmark-able

bull Browser is the new command line

HTTP Goodness

bull HTTP as an application protocol

- Cache-Control headers

- ETags (Conditional GETs)

- Compression (gzip)

- Status codes

Supported Formats

bull All REST URLs support an f (format) parameter

- Default is html

bull List of supported formats

- html (Services Directory)

- json

- amf

- kmz

- image

- help

f=html

bull Services Directory ndash simple and instant access to

Service Level Metadata

bull Designed to be a developer tool

bull Developers who work with the Web APIs might not work with the json responses directly but will

work with the Services Directory

f=json

bull Used by the Web APIs

- Can be used by any programming language

bull JSON with callbacks

- f=jsonampcallback=myMethod

bull Pretty JSON

- f=pjson

- More readable

- For debugging purposes only

bull 101 JSON generation (and REST) is significantly faster than at 100

bull wwwjsonorg and wwwjsonlintorg

f=amf

bull Supported by certain operations

- query queryRelatedRecords

bull Native Flex format

- Significantly better performance for Flex clients

REST API Admin

bull At 101 there is no separate REST Admin

bull All Admin is through the server admin

bull httplthostgtltportgtarcgisadmin

bull At 101 the REST API Cache is automatically cleared when services are created updated or deleted

bull Other admin operations

- Disable Services Directory

- Generate Token

ldquoUnsaferdquo operations

bull ldquosaferdquo REST operations

- do not change the state of the system

bull ldquounsaferdquo REST operations

- Operations that change the state of the system

- eg Add update delete features and attachments

bull GETs not allowed for such operations

bull PUT and DELETE have inconsistent support across

various clients

bull ldquounnsaferdquo operations only supported through

POST

ESRI Developer Summit 2010 18

ESRI Developer Summit 2010 19

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull REST-enabled SOEs

bull Conclusion

Service by Service Walkthrough ndash Map Service

MapServer Resource Tile Access Export Operation

MapServer Layer Resource Query Operation

Drawing Info Etag optimization

Enhanced Generalization for Query

Generalization Good

Spurious precision Bad

Etag optimization -- idempotent requests for static data

are computed at rest tier

101 Server

GOODNESS

101 Dynamic Mapping

bull Dynamic Layers allow the client to

bull Change Renderers

bull Reorder Layers

bull Add Layers from registered workspaces on the server

101 Map Service - Statistical Queries

bull Statistical queries allow the client to

bull Get aggregate statistics (min max mean )

bull Use group by

101 Map Service - Support for Versions

bull Map Services have a ldquogdbVersionrdquo request parameter for

Query and Export

bull Allows apps to focus on different versions of the geodatabase

MapServer Support for Time

Advertise Time properties Export and Query by Time

Service by Service Walkthrough -- FeatureServer

FeatureServer ndash FS Layer resource similar to

MapServer Layer resource

Advertise Templates for editing apply edits operation

FeatureServer Feature Access and Attachments

New at 10 Feature access AddDelete Attachments

REST API - Security Flows

bull Different kinds of client side Apps

bull Apps that allow Users to access secure content that

belongs to the Users

bull Apps that access secure content that belongs to the App

bull hybrid

Apps that work with secured User Content

bull Users need to login to their accounts by presenting

credentials to the Server

bull Users trust the App it has access to their secure content

bull Credentials should flow through the App

bull Apps can use the Identity Managers in the client SDKs

bull Identity Mgr takes care of communicating with the serverrsquos

security Token Service over https and getting and renewing

tokens

bull All subsequent use and transmission of tokens parameters

and resulting content can also be over https as needed

bull Set up server to be ldquoall-SSLrdquo not just the token service

bull Protects all information during transmission

Apps that work with secured app content

bull App has its own credentials that it needs to communicate with the

server

bull App credentials should not be exposed to app users

bull Implies a server side flow for otherwise client side web apps

bull App can include a server side proxy configured with app credentials

bull username and password

bull long term token [ server may disallow ]

bull proxy responsible for getting and renewing short term tokens from

credentials over https

bull All subsequent requests can also be over https as needed

bull Proxy should be secured to the App

bull by Referer

bull by a server side App Session ID maintained by the App

Feature Service - Support for Versions

ESRI Developer Summit 2010 35

bull ldquogdbVersionrdquo request parameter for query and editing

operations

Feature Service - Sync support

ESRI Developer Summit 2010 36

bull Create Replica

bull Synchronize Replica

bull Unregister Replica

Service by Service Walkthrough -- GeometryServer

GeometryService Operations

editing topologic operators and geodesic measurements

Service by Service Walkthrough ndash Image Service

ImageServer ndash Raster functions

Aspect Slope NDVI Hillshade custom colormaps

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 10: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

ESRI Developer Summit 2010 10

REST ndash The Elevator Pitch

4 Key Principles

Identification Of

Resources

Everything is a URL

Manipulation Of

Resources Through

Representations

Exchange standard formats using

standard verbs

Self-Descriptive

Messages

Every request asks the full

question every response includes

the full answer

Hypermedia As The

Engine Of Application

State

Hyperlinks

lta href=ldquourlrdquogtYeahltagt

Thank you httpwwwintertwinglynetblog2198html

Everything is a URL

bull Hierarchy of resources

- Catalog Services (Map Geocode etc) Layers Tasks

etc

bull JavaScript Flex Silverlight Java NEThellip Ruby

Pythonhellip iPhone Androidhellip wget curl

- interoperable

bull Searchable

bull Bookmark-able

bull Browser is the new command line

HTTP Goodness

bull HTTP as an application protocol

- Cache-Control headers

- ETags (Conditional GETs)

- Compression (gzip)

- Status codes

Supported Formats

bull All REST URLs support an f (format) parameter

- Default is html

bull List of supported formats

- html (Services Directory)

- json

- amf

- kmz

- image

- help

f=html

bull Services Directory ndash simple and instant access to

Service Level Metadata

bull Designed to be a developer tool

bull Developers who work with the Web APIs might not work with the json responses directly but will

work with the Services Directory

f=json

bull Used by the Web APIs

- Can be used by any programming language

bull JSON with callbacks

- f=jsonampcallback=myMethod

bull Pretty JSON

- f=pjson

- More readable

- For debugging purposes only

bull 101 JSON generation (and REST) is significantly faster than at 100

bull wwwjsonorg and wwwjsonlintorg

f=amf

bull Supported by certain operations

- query queryRelatedRecords

bull Native Flex format

- Significantly better performance for Flex clients

REST API Admin

bull At 101 there is no separate REST Admin

bull All Admin is through the server admin

bull httplthostgtltportgtarcgisadmin

bull At 101 the REST API Cache is automatically cleared when services are created updated or deleted

bull Other admin operations

- Disable Services Directory

- Generate Token

ldquoUnsaferdquo operations

bull ldquosaferdquo REST operations

- do not change the state of the system

bull ldquounsaferdquo REST operations

- Operations that change the state of the system

- eg Add update delete features and attachments

bull GETs not allowed for such operations

bull PUT and DELETE have inconsistent support across

various clients

bull ldquounnsaferdquo operations only supported through

POST

ESRI Developer Summit 2010 18

ESRI Developer Summit 2010 19

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull REST-enabled SOEs

bull Conclusion

Service by Service Walkthrough ndash Map Service

MapServer Resource Tile Access Export Operation

MapServer Layer Resource Query Operation

Drawing Info Etag optimization

Enhanced Generalization for Query

Generalization Good

Spurious precision Bad

Etag optimization -- idempotent requests for static data

are computed at rest tier

101 Server

GOODNESS

101 Dynamic Mapping

bull Dynamic Layers allow the client to

bull Change Renderers

bull Reorder Layers

bull Add Layers from registered workspaces on the server

101 Map Service - Statistical Queries

bull Statistical queries allow the client to

bull Get aggregate statistics (min max mean )

bull Use group by

101 Map Service - Support for Versions

bull Map Services have a ldquogdbVersionrdquo request parameter for

Query and Export

bull Allows apps to focus on different versions of the geodatabase

MapServer Support for Time

Advertise Time properties Export and Query by Time

Service by Service Walkthrough -- FeatureServer

FeatureServer ndash FS Layer resource similar to

MapServer Layer resource

Advertise Templates for editing apply edits operation

FeatureServer Feature Access and Attachments

New at 10 Feature access AddDelete Attachments

REST API - Security Flows

bull Different kinds of client side Apps

bull Apps that allow Users to access secure content that

belongs to the Users

bull Apps that access secure content that belongs to the App

bull hybrid

Apps that work with secured User Content

bull Users need to login to their accounts by presenting

credentials to the Server

bull Users trust the App it has access to their secure content

bull Credentials should flow through the App

bull Apps can use the Identity Managers in the client SDKs

bull Identity Mgr takes care of communicating with the serverrsquos

security Token Service over https and getting and renewing

tokens

bull All subsequent use and transmission of tokens parameters

and resulting content can also be over https as needed

bull Set up server to be ldquoall-SSLrdquo not just the token service

bull Protects all information during transmission

Apps that work with secured app content

bull App has its own credentials that it needs to communicate with the

server

bull App credentials should not be exposed to app users

bull Implies a server side flow for otherwise client side web apps

bull App can include a server side proxy configured with app credentials

bull username and password

bull long term token [ server may disallow ]

bull proxy responsible for getting and renewing short term tokens from

credentials over https

bull All subsequent requests can also be over https as needed

bull Proxy should be secured to the App

bull by Referer

bull by a server side App Session ID maintained by the App

Feature Service - Support for Versions

ESRI Developer Summit 2010 35

bull ldquogdbVersionrdquo request parameter for query and editing

operations

Feature Service - Sync support

ESRI Developer Summit 2010 36

bull Create Replica

bull Synchronize Replica

bull Unregister Replica

Service by Service Walkthrough -- GeometryServer

GeometryService Operations

editing topologic operators and geodesic measurements

Service by Service Walkthrough ndash Image Service

ImageServer ndash Raster functions

Aspect Slope NDVI Hillshade custom colormaps

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 11: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

Everything is a URL

bull Hierarchy of resources

- Catalog Services (Map Geocode etc) Layers Tasks

etc

bull JavaScript Flex Silverlight Java NEThellip Ruby

Pythonhellip iPhone Androidhellip wget curl

- interoperable

bull Searchable

bull Bookmark-able

bull Browser is the new command line

HTTP Goodness

bull HTTP as an application protocol

- Cache-Control headers

- ETags (Conditional GETs)

- Compression (gzip)

- Status codes

Supported Formats

bull All REST URLs support an f (format) parameter

- Default is html

bull List of supported formats

- html (Services Directory)

- json

- amf

- kmz

- image

- help

f=html

bull Services Directory ndash simple and instant access to

Service Level Metadata

bull Designed to be a developer tool

bull Developers who work with the Web APIs might not work with the json responses directly but will

work with the Services Directory

f=json

bull Used by the Web APIs

- Can be used by any programming language

bull JSON with callbacks

- f=jsonampcallback=myMethod

bull Pretty JSON

- f=pjson

- More readable

- For debugging purposes only

bull 101 JSON generation (and REST) is significantly faster than at 100

bull wwwjsonorg and wwwjsonlintorg

f=amf

bull Supported by certain operations

- query queryRelatedRecords

bull Native Flex format

- Significantly better performance for Flex clients

REST API Admin

bull At 101 there is no separate REST Admin

bull All Admin is through the server admin

bull httplthostgtltportgtarcgisadmin

bull At 101 the REST API Cache is automatically cleared when services are created updated or deleted

bull Other admin operations

- Disable Services Directory

- Generate Token

ldquoUnsaferdquo operations

bull ldquosaferdquo REST operations

- do not change the state of the system

bull ldquounsaferdquo REST operations

- Operations that change the state of the system

- eg Add update delete features and attachments

bull GETs not allowed for such operations

bull PUT and DELETE have inconsistent support across

various clients

bull ldquounnsaferdquo operations only supported through

POST

ESRI Developer Summit 2010 18

ESRI Developer Summit 2010 19

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull REST-enabled SOEs

bull Conclusion

Service by Service Walkthrough ndash Map Service

MapServer Resource Tile Access Export Operation

MapServer Layer Resource Query Operation

Drawing Info Etag optimization

Enhanced Generalization for Query

Generalization Good

Spurious precision Bad

Etag optimization -- idempotent requests for static data

are computed at rest tier

101 Server

GOODNESS

101 Dynamic Mapping

bull Dynamic Layers allow the client to

bull Change Renderers

bull Reorder Layers

bull Add Layers from registered workspaces on the server

101 Map Service - Statistical Queries

bull Statistical queries allow the client to

bull Get aggregate statistics (min max mean )

bull Use group by

101 Map Service - Support for Versions

bull Map Services have a ldquogdbVersionrdquo request parameter for

Query and Export

bull Allows apps to focus on different versions of the geodatabase

MapServer Support for Time

Advertise Time properties Export and Query by Time

Service by Service Walkthrough -- FeatureServer

FeatureServer ndash FS Layer resource similar to

MapServer Layer resource

Advertise Templates for editing apply edits operation

FeatureServer Feature Access and Attachments

New at 10 Feature access AddDelete Attachments

REST API - Security Flows

bull Different kinds of client side Apps

bull Apps that allow Users to access secure content that

belongs to the Users

bull Apps that access secure content that belongs to the App

bull hybrid

Apps that work with secured User Content

bull Users need to login to their accounts by presenting

credentials to the Server

bull Users trust the App it has access to their secure content

bull Credentials should flow through the App

bull Apps can use the Identity Managers in the client SDKs

bull Identity Mgr takes care of communicating with the serverrsquos

security Token Service over https and getting and renewing

tokens

bull All subsequent use and transmission of tokens parameters

and resulting content can also be over https as needed

bull Set up server to be ldquoall-SSLrdquo not just the token service

bull Protects all information during transmission

Apps that work with secured app content

bull App has its own credentials that it needs to communicate with the

server

bull App credentials should not be exposed to app users

bull Implies a server side flow for otherwise client side web apps

bull App can include a server side proxy configured with app credentials

bull username and password

bull long term token [ server may disallow ]

bull proxy responsible for getting and renewing short term tokens from

credentials over https

bull All subsequent requests can also be over https as needed

bull Proxy should be secured to the App

bull by Referer

bull by a server side App Session ID maintained by the App

Feature Service - Support for Versions

ESRI Developer Summit 2010 35

bull ldquogdbVersionrdquo request parameter for query and editing

operations

Feature Service - Sync support

ESRI Developer Summit 2010 36

bull Create Replica

bull Synchronize Replica

bull Unregister Replica

Service by Service Walkthrough -- GeometryServer

GeometryService Operations

editing topologic operators and geodesic measurements

Service by Service Walkthrough ndash Image Service

ImageServer ndash Raster functions

Aspect Slope NDVI Hillshade custom colormaps

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 12: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

HTTP Goodness

bull HTTP as an application protocol

- Cache-Control headers

- ETags (Conditional GETs)

- Compression (gzip)

- Status codes

Supported Formats

bull All REST URLs support an f (format) parameter

- Default is html

bull List of supported formats

- html (Services Directory)

- json

- amf

- kmz

- image

- help

f=html

bull Services Directory ndash simple and instant access to

Service Level Metadata

bull Designed to be a developer tool

bull Developers who work with the Web APIs might not work with the json responses directly but will

work with the Services Directory

f=json

bull Used by the Web APIs

- Can be used by any programming language

bull JSON with callbacks

- f=jsonampcallback=myMethod

bull Pretty JSON

- f=pjson

- More readable

- For debugging purposes only

bull 101 JSON generation (and REST) is significantly faster than at 100

bull wwwjsonorg and wwwjsonlintorg

f=amf

bull Supported by certain operations

- query queryRelatedRecords

bull Native Flex format

- Significantly better performance for Flex clients

REST API Admin

bull At 101 there is no separate REST Admin

bull All Admin is through the server admin

bull httplthostgtltportgtarcgisadmin

bull At 101 the REST API Cache is automatically cleared when services are created updated or deleted

bull Other admin operations

- Disable Services Directory

- Generate Token

ldquoUnsaferdquo operations

bull ldquosaferdquo REST operations

- do not change the state of the system

bull ldquounsaferdquo REST operations

- Operations that change the state of the system

- eg Add update delete features and attachments

bull GETs not allowed for such operations

bull PUT and DELETE have inconsistent support across

various clients

bull ldquounnsaferdquo operations only supported through

POST

ESRI Developer Summit 2010 18

ESRI Developer Summit 2010 19

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull REST-enabled SOEs

bull Conclusion

Service by Service Walkthrough ndash Map Service

MapServer Resource Tile Access Export Operation

MapServer Layer Resource Query Operation

Drawing Info Etag optimization

Enhanced Generalization for Query

Generalization Good

Spurious precision Bad

Etag optimization -- idempotent requests for static data

are computed at rest tier

101 Server

GOODNESS

101 Dynamic Mapping

bull Dynamic Layers allow the client to

bull Change Renderers

bull Reorder Layers

bull Add Layers from registered workspaces on the server

101 Map Service - Statistical Queries

bull Statistical queries allow the client to

bull Get aggregate statistics (min max mean )

bull Use group by

101 Map Service - Support for Versions

bull Map Services have a ldquogdbVersionrdquo request parameter for

Query and Export

bull Allows apps to focus on different versions of the geodatabase

MapServer Support for Time

Advertise Time properties Export and Query by Time

Service by Service Walkthrough -- FeatureServer

FeatureServer ndash FS Layer resource similar to

MapServer Layer resource

Advertise Templates for editing apply edits operation

FeatureServer Feature Access and Attachments

New at 10 Feature access AddDelete Attachments

REST API - Security Flows

bull Different kinds of client side Apps

bull Apps that allow Users to access secure content that

belongs to the Users

bull Apps that access secure content that belongs to the App

bull hybrid

Apps that work with secured User Content

bull Users need to login to their accounts by presenting

credentials to the Server

bull Users trust the App it has access to their secure content

bull Credentials should flow through the App

bull Apps can use the Identity Managers in the client SDKs

bull Identity Mgr takes care of communicating with the serverrsquos

security Token Service over https and getting and renewing

tokens

bull All subsequent use and transmission of tokens parameters

and resulting content can also be over https as needed

bull Set up server to be ldquoall-SSLrdquo not just the token service

bull Protects all information during transmission

Apps that work with secured app content

bull App has its own credentials that it needs to communicate with the

server

bull App credentials should not be exposed to app users

bull Implies a server side flow for otherwise client side web apps

bull App can include a server side proxy configured with app credentials

bull username and password

bull long term token [ server may disallow ]

bull proxy responsible for getting and renewing short term tokens from

credentials over https

bull All subsequent requests can also be over https as needed

bull Proxy should be secured to the App

bull by Referer

bull by a server side App Session ID maintained by the App

Feature Service - Support for Versions

ESRI Developer Summit 2010 35

bull ldquogdbVersionrdquo request parameter for query and editing

operations

Feature Service - Sync support

ESRI Developer Summit 2010 36

bull Create Replica

bull Synchronize Replica

bull Unregister Replica

Service by Service Walkthrough -- GeometryServer

GeometryService Operations

editing topologic operators and geodesic measurements

Service by Service Walkthrough ndash Image Service

ImageServer ndash Raster functions

Aspect Slope NDVI Hillshade custom colormaps

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 13: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

Supported Formats

bull All REST URLs support an f (format) parameter

- Default is html

bull List of supported formats

- html (Services Directory)

- json

- amf

- kmz

- image

- help

f=html

bull Services Directory ndash simple and instant access to

Service Level Metadata

bull Designed to be a developer tool

bull Developers who work with the Web APIs might not work with the json responses directly but will

work with the Services Directory

f=json

bull Used by the Web APIs

- Can be used by any programming language

bull JSON with callbacks

- f=jsonampcallback=myMethod

bull Pretty JSON

- f=pjson

- More readable

- For debugging purposes only

bull 101 JSON generation (and REST) is significantly faster than at 100

bull wwwjsonorg and wwwjsonlintorg

f=amf

bull Supported by certain operations

- query queryRelatedRecords

bull Native Flex format

- Significantly better performance for Flex clients

REST API Admin

bull At 101 there is no separate REST Admin

bull All Admin is through the server admin

bull httplthostgtltportgtarcgisadmin

bull At 101 the REST API Cache is automatically cleared when services are created updated or deleted

bull Other admin operations

- Disable Services Directory

- Generate Token

ldquoUnsaferdquo operations

bull ldquosaferdquo REST operations

- do not change the state of the system

bull ldquounsaferdquo REST operations

- Operations that change the state of the system

- eg Add update delete features and attachments

bull GETs not allowed for such operations

bull PUT and DELETE have inconsistent support across

various clients

bull ldquounnsaferdquo operations only supported through

POST

ESRI Developer Summit 2010 18

ESRI Developer Summit 2010 19

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull REST-enabled SOEs

bull Conclusion

Service by Service Walkthrough ndash Map Service

MapServer Resource Tile Access Export Operation

MapServer Layer Resource Query Operation

Drawing Info Etag optimization

Enhanced Generalization for Query

Generalization Good

Spurious precision Bad

Etag optimization -- idempotent requests for static data

are computed at rest tier

101 Server

GOODNESS

101 Dynamic Mapping

bull Dynamic Layers allow the client to

bull Change Renderers

bull Reorder Layers

bull Add Layers from registered workspaces on the server

101 Map Service - Statistical Queries

bull Statistical queries allow the client to

bull Get aggregate statistics (min max mean )

bull Use group by

101 Map Service - Support for Versions

bull Map Services have a ldquogdbVersionrdquo request parameter for

Query and Export

bull Allows apps to focus on different versions of the geodatabase

MapServer Support for Time

Advertise Time properties Export and Query by Time

Service by Service Walkthrough -- FeatureServer

FeatureServer ndash FS Layer resource similar to

MapServer Layer resource

Advertise Templates for editing apply edits operation

FeatureServer Feature Access and Attachments

New at 10 Feature access AddDelete Attachments

REST API - Security Flows

bull Different kinds of client side Apps

bull Apps that allow Users to access secure content that

belongs to the Users

bull Apps that access secure content that belongs to the App

bull hybrid

Apps that work with secured User Content

bull Users need to login to their accounts by presenting

credentials to the Server

bull Users trust the App it has access to their secure content

bull Credentials should flow through the App

bull Apps can use the Identity Managers in the client SDKs

bull Identity Mgr takes care of communicating with the serverrsquos

security Token Service over https and getting and renewing

tokens

bull All subsequent use and transmission of tokens parameters

and resulting content can also be over https as needed

bull Set up server to be ldquoall-SSLrdquo not just the token service

bull Protects all information during transmission

Apps that work with secured app content

bull App has its own credentials that it needs to communicate with the

server

bull App credentials should not be exposed to app users

bull Implies a server side flow for otherwise client side web apps

bull App can include a server side proxy configured with app credentials

bull username and password

bull long term token [ server may disallow ]

bull proxy responsible for getting and renewing short term tokens from

credentials over https

bull All subsequent requests can also be over https as needed

bull Proxy should be secured to the App

bull by Referer

bull by a server side App Session ID maintained by the App

Feature Service - Support for Versions

ESRI Developer Summit 2010 35

bull ldquogdbVersionrdquo request parameter for query and editing

operations

Feature Service - Sync support

ESRI Developer Summit 2010 36

bull Create Replica

bull Synchronize Replica

bull Unregister Replica

Service by Service Walkthrough -- GeometryServer

GeometryService Operations

editing topologic operators and geodesic measurements

Service by Service Walkthrough ndash Image Service

ImageServer ndash Raster functions

Aspect Slope NDVI Hillshade custom colormaps

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 14: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

f=html

bull Services Directory ndash simple and instant access to

Service Level Metadata

bull Designed to be a developer tool

bull Developers who work with the Web APIs might not work with the json responses directly but will

work with the Services Directory

f=json

bull Used by the Web APIs

- Can be used by any programming language

bull JSON with callbacks

- f=jsonampcallback=myMethod

bull Pretty JSON

- f=pjson

- More readable

- For debugging purposes only

bull 101 JSON generation (and REST) is significantly faster than at 100

bull wwwjsonorg and wwwjsonlintorg

f=amf

bull Supported by certain operations

- query queryRelatedRecords

bull Native Flex format

- Significantly better performance for Flex clients

REST API Admin

bull At 101 there is no separate REST Admin

bull All Admin is through the server admin

bull httplthostgtltportgtarcgisadmin

bull At 101 the REST API Cache is automatically cleared when services are created updated or deleted

bull Other admin operations

- Disable Services Directory

- Generate Token

ldquoUnsaferdquo operations

bull ldquosaferdquo REST operations

- do not change the state of the system

bull ldquounsaferdquo REST operations

- Operations that change the state of the system

- eg Add update delete features and attachments

bull GETs not allowed for such operations

bull PUT and DELETE have inconsistent support across

various clients

bull ldquounnsaferdquo operations only supported through

POST

ESRI Developer Summit 2010 18

ESRI Developer Summit 2010 19

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull REST-enabled SOEs

bull Conclusion

Service by Service Walkthrough ndash Map Service

MapServer Resource Tile Access Export Operation

MapServer Layer Resource Query Operation

Drawing Info Etag optimization

Enhanced Generalization for Query

Generalization Good

Spurious precision Bad

Etag optimization -- idempotent requests for static data

are computed at rest tier

101 Server

GOODNESS

101 Dynamic Mapping

bull Dynamic Layers allow the client to

bull Change Renderers

bull Reorder Layers

bull Add Layers from registered workspaces on the server

101 Map Service - Statistical Queries

bull Statistical queries allow the client to

bull Get aggregate statistics (min max mean )

bull Use group by

101 Map Service - Support for Versions

bull Map Services have a ldquogdbVersionrdquo request parameter for

Query and Export

bull Allows apps to focus on different versions of the geodatabase

MapServer Support for Time

Advertise Time properties Export and Query by Time

Service by Service Walkthrough -- FeatureServer

FeatureServer ndash FS Layer resource similar to

MapServer Layer resource

Advertise Templates for editing apply edits operation

FeatureServer Feature Access and Attachments

New at 10 Feature access AddDelete Attachments

REST API - Security Flows

bull Different kinds of client side Apps

bull Apps that allow Users to access secure content that

belongs to the Users

bull Apps that access secure content that belongs to the App

bull hybrid

Apps that work with secured User Content

bull Users need to login to their accounts by presenting

credentials to the Server

bull Users trust the App it has access to their secure content

bull Credentials should flow through the App

bull Apps can use the Identity Managers in the client SDKs

bull Identity Mgr takes care of communicating with the serverrsquos

security Token Service over https and getting and renewing

tokens

bull All subsequent use and transmission of tokens parameters

and resulting content can also be over https as needed

bull Set up server to be ldquoall-SSLrdquo not just the token service

bull Protects all information during transmission

Apps that work with secured app content

bull App has its own credentials that it needs to communicate with the

server

bull App credentials should not be exposed to app users

bull Implies a server side flow for otherwise client side web apps

bull App can include a server side proxy configured with app credentials

bull username and password

bull long term token [ server may disallow ]

bull proxy responsible for getting and renewing short term tokens from

credentials over https

bull All subsequent requests can also be over https as needed

bull Proxy should be secured to the App

bull by Referer

bull by a server side App Session ID maintained by the App

Feature Service - Support for Versions

ESRI Developer Summit 2010 35

bull ldquogdbVersionrdquo request parameter for query and editing

operations

Feature Service - Sync support

ESRI Developer Summit 2010 36

bull Create Replica

bull Synchronize Replica

bull Unregister Replica

Service by Service Walkthrough -- GeometryServer

GeometryService Operations

editing topologic operators and geodesic measurements

Service by Service Walkthrough ndash Image Service

ImageServer ndash Raster functions

Aspect Slope NDVI Hillshade custom colormaps

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 15: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

f=json

bull Used by the Web APIs

- Can be used by any programming language

bull JSON with callbacks

- f=jsonampcallback=myMethod

bull Pretty JSON

- f=pjson

- More readable

- For debugging purposes only

bull 101 JSON generation (and REST) is significantly faster than at 100

bull wwwjsonorg and wwwjsonlintorg

f=amf

bull Supported by certain operations

- query queryRelatedRecords

bull Native Flex format

- Significantly better performance for Flex clients

REST API Admin

bull At 101 there is no separate REST Admin

bull All Admin is through the server admin

bull httplthostgtltportgtarcgisadmin

bull At 101 the REST API Cache is automatically cleared when services are created updated or deleted

bull Other admin operations

- Disable Services Directory

- Generate Token

ldquoUnsaferdquo operations

bull ldquosaferdquo REST operations

- do not change the state of the system

bull ldquounsaferdquo REST operations

- Operations that change the state of the system

- eg Add update delete features and attachments

bull GETs not allowed for such operations

bull PUT and DELETE have inconsistent support across

various clients

bull ldquounnsaferdquo operations only supported through

POST

ESRI Developer Summit 2010 18

ESRI Developer Summit 2010 19

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull REST-enabled SOEs

bull Conclusion

Service by Service Walkthrough ndash Map Service

MapServer Resource Tile Access Export Operation

MapServer Layer Resource Query Operation

Drawing Info Etag optimization

Enhanced Generalization for Query

Generalization Good

Spurious precision Bad

Etag optimization -- idempotent requests for static data

are computed at rest tier

101 Server

GOODNESS

101 Dynamic Mapping

bull Dynamic Layers allow the client to

bull Change Renderers

bull Reorder Layers

bull Add Layers from registered workspaces on the server

101 Map Service - Statistical Queries

bull Statistical queries allow the client to

bull Get aggregate statistics (min max mean )

bull Use group by

101 Map Service - Support for Versions

bull Map Services have a ldquogdbVersionrdquo request parameter for

Query and Export

bull Allows apps to focus on different versions of the geodatabase

MapServer Support for Time

Advertise Time properties Export and Query by Time

Service by Service Walkthrough -- FeatureServer

FeatureServer ndash FS Layer resource similar to

MapServer Layer resource

Advertise Templates for editing apply edits operation

FeatureServer Feature Access and Attachments

New at 10 Feature access AddDelete Attachments

REST API - Security Flows

bull Different kinds of client side Apps

bull Apps that allow Users to access secure content that

belongs to the Users

bull Apps that access secure content that belongs to the App

bull hybrid

Apps that work with secured User Content

bull Users need to login to their accounts by presenting

credentials to the Server

bull Users trust the App it has access to their secure content

bull Credentials should flow through the App

bull Apps can use the Identity Managers in the client SDKs

bull Identity Mgr takes care of communicating with the serverrsquos

security Token Service over https and getting and renewing

tokens

bull All subsequent use and transmission of tokens parameters

and resulting content can also be over https as needed

bull Set up server to be ldquoall-SSLrdquo not just the token service

bull Protects all information during transmission

Apps that work with secured app content

bull App has its own credentials that it needs to communicate with the

server

bull App credentials should not be exposed to app users

bull Implies a server side flow for otherwise client side web apps

bull App can include a server side proxy configured with app credentials

bull username and password

bull long term token [ server may disallow ]

bull proxy responsible for getting and renewing short term tokens from

credentials over https

bull All subsequent requests can also be over https as needed

bull Proxy should be secured to the App

bull by Referer

bull by a server side App Session ID maintained by the App

Feature Service - Support for Versions

ESRI Developer Summit 2010 35

bull ldquogdbVersionrdquo request parameter for query and editing

operations

Feature Service - Sync support

ESRI Developer Summit 2010 36

bull Create Replica

bull Synchronize Replica

bull Unregister Replica

Service by Service Walkthrough -- GeometryServer

GeometryService Operations

editing topologic operators and geodesic measurements

Service by Service Walkthrough ndash Image Service

ImageServer ndash Raster functions

Aspect Slope NDVI Hillshade custom colormaps

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 16: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

f=amf

bull Supported by certain operations

- query queryRelatedRecords

bull Native Flex format

- Significantly better performance for Flex clients

REST API Admin

bull At 101 there is no separate REST Admin

bull All Admin is through the server admin

bull httplthostgtltportgtarcgisadmin

bull At 101 the REST API Cache is automatically cleared when services are created updated or deleted

bull Other admin operations

- Disable Services Directory

- Generate Token

ldquoUnsaferdquo operations

bull ldquosaferdquo REST operations

- do not change the state of the system

bull ldquounsaferdquo REST operations

- Operations that change the state of the system

- eg Add update delete features and attachments

bull GETs not allowed for such operations

bull PUT and DELETE have inconsistent support across

various clients

bull ldquounnsaferdquo operations only supported through

POST

ESRI Developer Summit 2010 18

ESRI Developer Summit 2010 19

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull REST-enabled SOEs

bull Conclusion

Service by Service Walkthrough ndash Map Service

MapServer Resource Tile Access Export Operation

MapServer Layer Resource Query Operation

Drawing Info Etag optimization

Enhanced Generalization for Query

Generalization Good

Spurious precision Bad

Etag optimization -- idempotent requests for static data

are computed at rest tier

101 Server

GOODNESS

101 Dynamic Mapping

bull Dynamic Layers allow the client to

bull Change Renderers

bull Reorder Layers

bull Add Layers from registered workspaces on the server

101 Map Service - Statistical Queries

bull Statistical queries allow the client to

bull Get aggregate statistics (min max mean )

bull Use group by

101 Map Service - Support for Versions

bull Map Services have a ldquogdbVersionrdquo request parameter for

Query and Export

bull Allows apps to focus on different versions of the geodatabase

MapServer Support for Time

Advertise Time properties Export and Query by Time

Service by Service Walkthrough -- FeatureServer

FeatureServer ndash FS Layer resource similar to

MapServer Layer resource

Advertise Templates for editing apply edits operation

FeatureServer Feature Access and Attachments

New at 10 Feature access AddDelete Attachments

REST API - Security Flows

bull Different kinds of client side Apps

bull Apps that allow Users to access secure content that

belongs to the Users

bull Apps that access secure content that belongs to the App

bull hybrid

Apps that work with secured User Content

bull Users need to login to their accounts by presenting

credentials to the Server

bull Users trust the App it has access to their secure content

bull Credentials should flow through the App

bull Apps can use the Identity Managers in the client SDKs

bull Identity Mgr takes care of communicating with the serverrsquos

security Token Service over https and getting and renewing

tokens

bull All subsequent use and transmission of tokens parameters

and resulting content can also be over https as needed

bull Set up server to be ldquoall-SSLrdquo not just the token service

bull Protects all information during transmission

Apps that work with secured app content

bull App has its own credentials that it needs to communicate with the

server

bull App credentials should not be exposed to app users

bull Implies a server side flow for otherwise client side web apps

bull App can include a server side proxy configured with app credentials

bull username and password

bull long term token [ server may disallow ]

bull proxy responsible for getting and renewing short term tokens from

credentials over https

bull All subsequent requests can also be over https as needed

bull Proxy should be secured to the App

bull by Referer

bull by a server side App Session ID maintained by the App

Feature Service - Support for Versions

ESRI Developer Summit 2010 35

bull ldquogdbVersionrdquo request parameter for query and editing

operations

Feature Service - Sync support

ESRI Developer Summit 2010 36

bull Create Replica

bull Synchronize Replica

bull Unregister Replica

Service by Service Walkthrough -- GeometryServer

GeometryService Operations

editing topologic operators and geodesic measurements

Service by Service Walkthrough ndash Image Service

ImageServer ndash Raster functions

Aspect Slope NDVI Hillshade custom colormaps

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 17: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

REST API Admin

bull At 101 there is no separate REST Admin

bull All Admin is through the server admin

bull httplthostgtltportgtarcgisadmin

bull At 101 the REST API Cache is automatically cleared when services are created updated or deleted

bull Other admin operations

- Disable Services Directory

- Generate Token

ldquoUnsaferdquo operations

bull ldquosaferdquo REST operations

- do not change the state of the system

bull ldquounsaferdquo REST operations

- Operations that change the state of the system

- eg Add update delete features and attachments

bull GETs not allowed for such operations

bull PUT and DELETE have inconsistent support across

various clients

bull ldquounnsaferdquo operations only supported through

POST

ESRI Developer Summit 2010 18

ESRI Developer Summit 2010 19

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull REST-enabled SOEs

bull Conclusion

Service by Service Walkthrough ndash Map Service

MapServer Resource Tile Access Export Operation

MapServer Layer Resource Query Operation

Drawing Info Etag optimization

Enhanced Generalization for Query

Generalization Good

Spurious precision Bad

Etag optimization -- idempotent requests for static data

are computed at rest tier

101 Server

GOODNESS

101 Dynamic Mapping

bull Dynamic Layers allow the client to

bull Change Renderers

bull Reorder Layers

bull Add Layers from registered workspaces on the server

101 Map Service - Statistical Queries

bull Statistical queries allow the client to

bull Get aggregate statistics (min max mean )

bull Use group by

101 Map Service - Support for Versions

bull Map Services have a ldquogdbVersionrdquo request parameter for

Query and Export

bull Allows apps to focus on different versions of the geodatabase

MapServer Support for Time

Advertise Time properties Export and Query by Time

Service by Service Walkthrough -- FeatureServer

FeatureServer ndash FS Layer resource similar to

MapServer Layer resource

Advertise Templates for editing apply edits operation

FeatureServer Feature Access and Attachments

New at 10 Feature access AddDelete Attachments

REST API - Security Flows

bull Different kinds of client side Apps

bull Apps that allow Users to access secure content that

belongs to the Users

bull Apps that access secure content that belongs to the App

bull hybrid

Apps that work with secured User Content

bull Users need to login to their accounts by presenting

credentials to the Server

bull Users trust the App it has access to their secure content

bull Credentials should flow through the App

bull Apps can use the Identity Managers in the client SDKs

bull Identity Mgr takes care of communicating with the serverrsquos

security Token Service over https and getting and renewing

tokens

bull All subsequent use and transmission of tokens parameters

and resulting content can also be over https as needed

bull Set up server to be ldquoall-SSLrdquo not just the token service

bull Protects all information during transmission

Apps that work with secured app content

bull App has its own credentials that it needs to communicate with the

server

bull App credentials should not be exposed to app users

bull Implies a server side flow for otherwise client side web apps

bull App can include a server side proxy configured with app credentials

bull username and password

bull long term token [ server may disallow ]

bull proxy responsible for getting and renewing short term tokens from

credentials over https

bull All subsequent requests can also be over https as needed

bull Proxy should be secured to the App

bull by Referer

bull by a server side App Session ID maintained by the App

Feature Service - Support for Versions

ESRI Developer Summit 2010 35

bull ldquogdbVersionrdquo request parameter for query and editing

operations

Feature Service - Sync support

ESRI Developer Summit 2010 36

bull Create Replica

bull Synchronize Replica

bull Unregister Replica

Service by Service Walkthrough -- GeometryServer

GeometryService Operations

editing topologic operators and geodesic measurements

Service by Service Walkthrough ndash Image Service

ImageServer ndash Raster functions

Aspect Slope NDVI Hillshade custom colormaps

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 18: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

ldquoUnsaferdquo operations

bull ldquosaferdquo REST operations

- do not change the state of the system

bull ldquounsaferdquo REST operations

- Operations that change the state of the system

- eg Add update delete features and attachments

bull GETs not allowed for such operations

bull PUT and DELETE have inconsistent support across

various clients

bull ldquounnsaferdquo operations only supported through

POST

ESRI Developer Summit 2010 18

ESRI Developer Summit 2010 19

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull REST-enabled SOEs

bull Conclusion

Service by Service Walkthrough ndash Map Service

MapServer Resource Tile Access Export Operation

MapServer Layer Resource Query Operation

Drawing Info Etag optimization

Enhanced Generalization for Query

Generalization Good

Spurious precision Bad

Etag optimization -- idempotent requests for static data

are computed at rest tier

101 Server

GOODNESS

101 Dynamic Mapping

bull Dynamic Layers allow the client to

bull Change Renderers

bull Reorder Layers

bull Add Layers from registered workspaces on the server

101 Map Service - Statistical Queries

bull Statistical queries allow the client to

bull Get aggregate statistics (min max mean )

bull Use group by

101 Map Service - Support for Versions

bull Map Services have a ldquogdbVersionrdquo request parameter for

Query and Export

bull Allows apps to focus on different versions of the geodatabase

MapServer Support for Time

Advertise Time properties Export and Query by Time

Service by Service Walkthrough -- FeatureServer

FeatureServer ndash FS Layer resource similar to

MapServer Layer resource

Advertise Templates for editing apply edits operation

FeatureServer Feature Access and Attachments

New at 10 Feature access AddDelete Attachments

REST API - Security Flows

bull Different kinds of client side Apps

bull Apps that allow Users to access secure content that

belongs to the Users

bull Apps that access secure content that belongs to the App

bull hybrid

Apps that work with secured User Content

bull Users need to login to their accounts by presenting

credentials to the Server

bull Users trust the App it has access to their secure content

bull Credentials should flow through the App

bull Apps can use the Identity Managers in the client SDKs

bull Identity Mgr takes care of communicating with the serverrsquos

security Token Service over https and getting and renewing

tokens

bull All subsequent use and transmission of tokens parameters

and resulting content can also be over https as needed

bull Set up server to be ldquoall-SSLrdquo not just the token service

bull Protects all information during transmission

Apps that work with secured app content

bull App has its own credentials that it needs to communicate with the

server

bull App credentials should not be exposed to app users

bull Implies a server side flow for otherwise client side web apps

bull App can include a server side proxy configured with app credentials

bull username and password

bull long term token [ server may disallow ]

bull proxy responsible for getting and renewing short term tokens from

credentials over https

bull All subsequent requests can also be over https as needed

bull Proxy should be secured to the App

bull by Referer

bull by a server side App Session ID maintained by the App

Feature Service - Support for Versions

ESRI Developer Summit 2010 35

bull ldquogdbVersionrdquo request parameter for query and editing

operations

Feature Service - Sync support

ESRI Developer Summit 2010 36

bull Create Replica

bull Synchronize Replica

bull Unregister Replica

Service by Service Walkthrough -- GeometryServer

GeometryService Operations

editing topologic operators and geodesic measurements

Service by Service Walkthrough ndash Image Service

ImageServer ndash Raster functions

Aspect Slope NDVI Hillshade custom colormaps

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 19: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

ESRI Developer Summit 2010 19

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull REST-enabled SOEs

bull Conclusion

Service by Service Walkthrough ndash Map Service

MapServer Resource Tile Access Export Operation

MapServer Layer Resource Query Operation

Drawing Info Etag optimization

Enhanced Generalization for Query

Generalization Good

Spurious precision Bad

Etag optimization -- idempotent requests for static data

are computed at rest tier

101 Server

GOODNESS

101 Dynamic Mapping

bull Dynamic Layers allow the client to

bull Change Renderers

bull Reorder Layers

bull Add Layers from registered workspaces on the server

101 Map Service - Statistical Queries

bull Statistical queries allow the client to

bull Get aggregate statistics (min max mean )

bull Use group by

101 Map Service - Support for Versions

bull Map Services have a ldquogdbVersionrdquo request parameter for

Query and Export

bull Allows apps to focus on different versions of the geodatabase

MapServer Support for Time

Advertise Time properties Export and Query by Time

Service by Service Walkthrough -- FeatureServer

FeatureServer ndash FS Layer resource similar to

MapServer Layer resource

Advertise Templates for editing apply edits operation

FeatureServer Feature Access and Attachments

New at 10 Feature access AddDelete Attachments

REST API - Security Flows

bull Different kinds of client side Apps

bull Apps that allow Users to access secure content that

belongs to the Users

bull Apps that access secure content that belongs to the App

bull hybrid

Apps that work with secured User Content

bull Users need to login to their accounts by presenting

credentials to the Server

bull Users trust the App it has access to their secure content

bull Credentials should flow through the App

bull Apps can use the Identity Managers in the client SDKs

bull Identity Mgr takes care of communicating with the serverrsquos

security Token Service over https and getting and renewing

tokens

bull All subsequent use and transmission of tokens parameters

and resulting content can also be over https as needed

bull Set up server to be ldquoall-SSLrdquo not just the token service

bull Protects all information during transmission

Apps that work with secured app content

bull App has its own credentials that it needs to communicate with the

server

bull App credentials should not be exposed to app users

bull Implies a server side flow for otherwise client side web apps

bull App can include a server side proxy configured with app credentials

bull username and password

bull long term token [ server may disallow ]

bull proxy responsible for getting and renewing short term tokens from

credentials over https

bull All subsequent requests can also be over https as needed

bull Proxy should be secured to the App

bull by Referer

bull by a server side App Session ID maintained by the App

Feature Service - Support for Versions

ESRI Developer Summit 2010 35

bull ldquogdbVersionrdquo request parameter for query and editing

operations

Feature Service - Sync support

ESRI Developer Summit 2010 36

bull Create Replica

bull Synchronize Replica

bull Unregister Replica

Service by Service Walkthrough -- GeometryServer

GeometryService Operations

editing topologic operators and geodesic measurements

Service by Service Walkthrough ndash Image Service

ImageServer ndash Raster functions

Aspect Slope NDVI Hillshade custom colormaps

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 20: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

Service by Service Walkthrough ndash Map Service

MapServer Resource Tile Access Export Operation

MapServer Layer Resource Query Operation

Drawing Info Etag optimization

Enhanced Generalization for Query

Generalization Good

Spurious precision Bad

Etag optimization -- idempotent requests for static data

are computed at rest tier

101 Server

GOODNESS

101 Dynamic Mapping

bull Dynamic Layers allow the client to

bull Change Renderers

bull Reorder Layers

bull Add Layers from registered workspaces on the server

101 Map Service - Statistical Queries

bull Statistical queries allow the client to

bull Get aggregate statistics (min max mean )

bull Use group by

101 Map Service - Support for Versions

bull Map Services have a ldquogdbVersionrdquo request parameter for

Query and Export

bull Allows apps to focus on different versions of the geodatabase

MapServer Support for Time

Advertise Time properties Export and Query by Time

Service by Service Walkthrough -- FeatureServer

FeatureServer ndash FS Layer resource similar to

MapServer Layer resource

Advertise Templates for editing apply edits operation

FeatureServer Feature Access and Attachments

New at 10 Feature access AddDelete Attachments

REST API - Security Flows

bull Different kinds of client side Apps

bull Apps that allow Users to access secure content that

belongs to the Users

bull Apps that access secure content that belongs to the App

bull hybrid

Apps that work with secured User Content

bull Users need to login to their accounts by presenting

credentials to the Server

bull Users trust the App it has access to their secure content

bull Credentials should flow through the App

bull Apps can use the Identity Managers in the client SDKs

bull Identity Mgr takes care of communicating with the serverrsquos

security Token Service over https and getting and renewing

tokens

bull All subsequent use and transmission of tokens parameters

and resulting content can also be over https as needed

bull Set up server to be ldquoall-SSLrdquo not just the token service

bull Protects all information during transmission

Apps that work with secured app content

bull App has its own credentials that it needs to communicate with the

server

bull App credentials should not be exposed to app users

bull Implies a server side flow for otherwise client side web apps

bull App can include a server side proxy configured with app credentials

bull username and password

bull long term token [ server may disallow ]

bull proxy responsible for getting and renewing short term tokens from

credentials over https

bull All subsequent requests can also be over https as needed

bull Proxy should be secured to the App

bull by Referer

bull by a server side App Session ID maintained by the App

Feature Service - Support for Versions

ESRI Developer Summit 2010 35

bull ldquogdbVersionrdquo request parameter for query and editing

operations

Feature Service - Sync support

ESRI Developer Summit 2010 36

bull Create Replica

bull Synchronize Replica

bull Unregister Replica

Service by Service Walkthrough -- GeometryServer

GeometryService Operations

editing topologic operators and geodesic measurements

Service by Service Walkthrough ndash Image Service

ImageServer ndash Raster functions

Aspect Slope NDVI Hillshade custom colormaps

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 21: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

MapServer Resource Tile Access Export Operation

MapServer Layer Resource Query Operation

Drawing Info Etag optimization

Enhanced Generalization for Query

Generalization Good

Spurious precision Bad

Etag optimization -- idempotent requests for static data

are computed at rest tier

101 Server

GOODNESS

101 Dynamic Mapping

bull Dynamic Layers allow the client to

bull Change Renderers

bull Reorder Layers

bull Add Layers from registered workspaces on the server

101 Map Service - Statistical Queries

bull Statistical queries allow the client to

bull Get aggregate statistics (min max mean )

bull Use group by

101 Map Service - Support for Versions

bull Map Services have a ldquogdbVersionrdquo request parameter for

Query and Export

bull Allows apps to focus on different versions of the geodatabase

MapServer Support for Time

Advertise Time properties Export and Query by Time

Service by Service Walkthrough -- FeatureServer

FeatureServer ndash FS Layer resource similar to

MapServer Layer resource

Advertise Templates for editing apply edits operation

FeatureServer Feature Access and Attachments

New at 10 Feature access AddDelete Attachments

REST API - Security Flows

bull Different kinds of client side Apps

bull Apps that allow Users to access secure content that

belongs to the Users

bull Apps that access secure content that belongs to the App

bull hybrid

Apps that work with secured User Content

bull Users need to login to their accounts by presenting

credentials to the Server

bull Users trust the App it has access to their secure content

bull Credentials should flow through the App

bull Apps can use the Identity Managers in the client SDKs

bull Identity Mgr takes care of communicating with the serverrsquos

security Token Service over https and getting and renewing

tokens

bull All subsequent use and transmission of tokens parameters

and resulting content can also be over https as needed

bull Set up server to be ldquoall-SSLrdquo not just the token service

bull Protects all information during transmission

Apps that work with secured app content

bull App has its own credentials that it needs to communicate with the

server

bull App credentials should not be exposed to app users

bull Implies a server side flow for otherwise client side web apps

bull App can include a server side proxy configured with app credentials

bull username and password

bull long term token [ server may disallow ]

bull proxy responsible for getting and renewing short term tokens from

credentials over https

bull All subsequent requests can also be over https as needed

bull Proxy should be secured to the App

bull by Referer

bull by a server side App Session ID maintained by the App

Feature Service - Support for Versions

ESRI Developer Summit 2010 35

bull ldquogdbVersionrdquo request parameter for query and editing

operations

Feature Service - Sync support

ESRI Developer Summit 2010 36

bull Create Replica

bull Synchronize Replica

bull Unregister Replica

Service by Service Walkthrough -- GeometryServer

GeometryService Operations

editing topologic operators and geodesic measurements

Service by Service Walkthrough ndash Image Service

ImageServer ndash Raster functions

Aspect Slope NDVI Hillshade custom colormaps

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 22: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

MapServer Layer Resource Query Operation

Drawing Info Etag optimization

Enhanced Generalization for Query

Generalization Good

Spurious precision Bad

Etag optimization -- idempotent requests for static data

are computed at rest tier

101 Server

GOODNESS

101 Dynamic Mapping

bull Dynamic Layers allow the client to

bull Change Renderers

bull Reorder Layers

bull Add Layers from registered workspaces on the server

101 Map Service - Statistical Queries

bull Statistical queries allow the client to

bull Get aggregate statistics (min max mean )

bull Use group by

101 Map Service - Support for Versions

bull Map Services have a ldquogdbVersionrdquo request parameter for

Query and Export

bull Allows apps to focus on different versions of the geodatabase

MapServer Support for Time

Advertise Time properties Export and Query by Time

Service by Service Walkthrough -- FeatureServer

FeatureServer ndash FS Layer resource similar to

MapServer Layer resource

Advertise Templates for editing apply edits operation

FeatureServer Feature Access and Attachments

New at 10 Feature access AddDelete Attachments

REST API - Security Flows

bull Different kinds of client side Apps

bull Apps that allow Users to access secure content that

belongs to the Users

bull Apps that access secure content that belongs to the App

bull hybrid

Apps that work with secured User Content

bull Users need to login to their accounts by presenting

credentials to the Server

bull Users trust the App it has access to their secure content

bull Credentials should flow through the App

bull Apps can use the Identity Managers in the client SDKs

bull Identity Mgr takes care of communicating with the serverrsquos

security Token Service over https and getting and renewing

tokens

bull All subsequent use and transmission of tokens parameters

and resulting content can also be over https as needed

bull Set up server to be ldquoall-SSLrdquo not just the token service

bull Protects all information during transmission

Apps that work with secured app content

bull App has its own credentials that it needs to communicate with the

server

bull App credentials should not be exposed to app users

bull Implies a server side flow for otherwise client side web apps

bull App can include a server side proxy configured with app credentials

bull username and password

bull long term token [ server may disallow ]

bull proxy responsible for getting and renewing short term tokens from

credentials over https

bull All subsequent requests can also be over https as needed

bull Proxy should be secured to the App

bull by Referer

bull by a server side App Session ID maintained by the App

Feature Service - Support for Versions

ESRI Developer Summit 2010 35

bull ldquogdbVersionrdquo request parameter for query and editing

operations

Feature Service - Sync support

ESRI Developer Summit 2010 36

bull Create Replica

bull Synchronize Replica

bull Unregister Replica

Service by Service Walkthrough -- GeometryServer

GeometryService Operations

editing topologic operators and geodesic measurements

Service by Service Walkthrough ndash Image Service

ImageServer ndash Raster functions

Aspect Slope NDVI Hillshade custom colormaps

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 23: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

Enhanced Generalization for Query

Generalization Good

Spurious precision Bad

Etag optimization -- idempotent requests for static data

are computed at rest tier

101 Server

GOODNESS

101 Dynamic Mapping

bull Dynamic Layers allow the client to

bull Change Renderers

bull Reorder Layers

bull Add Layers from registered workspaces on the server

101 Map Service - Statistical Queries

bull Statistical queries allow the client to

bull Get aggregate statistics (min max mean )

bull Use group by

101 Map Service - Support for Versions

bull Map Services have a ldquogdbVersionrdquo request parameter for

Query and Export

bull Allows apps to focus on different versions of the geodatabase

MapServer Support for Time

Advertise Time properties Export and Query by Time

Service by Service Walkthrough -- FeatureServer

FeatureServer ndash FS Layer resource similar to

MapServer Layer resource

Advertise Templates for editing apply edits operation

FeatureServer Feature Access and Attachments

New at 10 Feature access AddDelete Attachments

REST API - Security Flows

bull Different kinds of client side Apps

bull Apps that allow Users to access secure content that

belongs to the Users

bull Apps that access secure content that belongs to the App

bull hybrid

Apps that work with secured User Content

bull Users need to login to their accounts by presenting

credentials to the Server

bull Users trust the App it has access to their secure content

bull Credentials should flow through the App

bull Apps can use the Identity Managers in the client SDKs

bull Identity Mgr takes care of communicating with the serverrsquos

security Token Service over https and getting and renewing

tokens

bull All subsequent use and transmission of tokens parameters

and resulting content can also be over https as needed

bull Set up server to be ldquoall-SSLrdquo not just the token service

bull Protects all information during transmission

Apps that work with secured app content

bull App has its own credentials that it needs to communicate with the

server

bull App credentials should not be exposed to app users

bull Implies a server side flow for otherwise client side web apps

bull App can include a server side proxy configured with app credentials

bull username and password

bull long term token [ server may disallow ]

bull proxy responsible for getting and renewing short term tokens from

credentials over https

bull All subsequent requests can also be over https as needed

bull Proxy should be secured to the App

bull by Referer

bull by a server side App Session ID maintained by the App

Feature Service - Support for Versions

ESRI Developer Summit 2010 35

bull ldquogdbVersionrdquo request parameter for query and editing

operations

Feature Service - Sync support

ESRI Developer Summit 2010 36

bull Create Replica

bull Synchronize Replica

bull Unregister Replica

Service by Service Walkthrough -- GeometryServer

GeometryService Operations

editing topologic operators and geodesic measurements

Service by Service Walkthrough ndash Image Service

ImageServer ndash Raster functions

Aspect Slope NDVI Hillshade custom colormaps

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 24: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

Etag optimization -- idempotent requests for static data

are computed at rest tier

101 Server

GOODNESS

101 Dynamic Mapping

bull Dynamic Layers allow the client to

bull Change Renderers

bull Reorder Layers

bull Add Layers from registered workspaces on the server

101 Map Service - Statistical Queries

bull Statistical queries allow the client to

bull Get aggregate statistics (min max mean )

bull Use group by

101 Map Service - Support for Versions

bull Map Services have a ldquogdbVersionrdquo request parameter for

Query and Export

bull Allows apps to focus on different versions of the geodatabase

MapServer Support for Time

Advertise Time properties Export and Query by Time

Service by Service Walkthrough -- FeatureServer

FeatureServer ndash FS Layer resource similar to

MapServer Layer resource

Advertise Templates for editing apply edits operation

FeatureServer Feature Access and Attachments

New at 10 Feature access AddDelete Attachments

REST API - Security Flows

bull Different kinds of client side Apps

bull Apps that allow Users to access secure content that

belongs to the Users

bull Apps that access secure content that belongs to the App

bull hybrid

Apps that work with secured User Content

bull Users need to login to their accounts by presenting

credentials to the Server

bull Users trust the App it has access to their secure content

bull Credentials should flow through the App

bull Apps can use the Identity Managers in the client SDKs

bull Identity Mgr takes care of communicating with the serverrsquos

security Token Service over https and getting and renewing

tokens

bull All subsequent use and transmission of tokens parameters

and resulting content can also be over https as needed

bull Set up server to be ldquoall-SSLrdquo not just the token service

bull Protects all information during transmission

Apps that work with secured app content

bull App has its own credentials that it needs to communicate with the

server

bull App credentials should not be exposed to app users

bull Implies a server side flow for otherwise client side web apps

bull App can include a server side proxy configured with app credentials

bull username and password

bull long term token [ server may disallow ]

bull proxy responsible for getting and renewing short term tokens from

credentials over https

bull All subsequent requests can also be over https as needed

bull Proxy should be secured to the App

bull by Referer

bull by a server side App Session ID maintained by the App

Feature Service - Support for Versions

ESRI Developer Summit 2010 35

bull ldquogdbVersionrdquo request parameter for query and editing

operations

Feature Service - Sync support

ESRI Developer Summit 2010 36

bull Create Replica

bull Synchronize Replica

bull Unregister Replica

Service by Service Walkthrough -- GeometryServer

GeometryService Operations

editing topologic operators and geodesic measurements

Service by Service Walkthrough ndash Image Service

ImageServer ndash Raster functions

Aspect Slope NDVI Hillshade custom colormaps

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 25: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

101 Dynamic Mapping

bull Dynamic Layers allow the client to

bull Change Renderers

bull Reorder Layers

bull Add Layers from registered workspaces on the server

101 Map Service - Statistical Queries

bull Statistical queries allow the client to

bull Get aggregate statistics (min max mean )

bull Use group by

101 Map Service - Support for Versions

bull Map Services have a ldquogdbVersionrdquo request parameter for

Query and Export

bull Allows apps to focus on different versions of the geodatabase

MapServer Support for Time

Advertise Time properties Export and Query by Time

Service by Service Walkthrough -- FeatureServer

FeatureServer ndash FS Layer resource similar to

MapServer Layer resource

Advertise Templates for editing apply edits operation

FeatureServer Feature Access and Attachments

New at 10 Feature access AddDelete Attachments

REST API - Security Flows

bull Different kinds of client side Apps

bull Apps that allow Users to access secure content that

belongs to the Users

bull Apps that access secure content that belongs to the App

bull hybrid

Apps that work with secured User Content

bull Users need to login to their accounts by presenting

credentials to the Server

bull Users trust the App it has access to their secure content

bull Credentials should flow through the App

bull Apps can use the Identity Managers in the client SDKs

bull Identity Mgr takes care of communicating with the serverrsquos

security Token Service over https and getting and renewing

tokens

bull All subsequent use and transmission of tokens parameters

and resulting content can also be over https as needed

bull Set up server to be ldquoall-SSLrdquo not just the token service

bull Protects all information during transmission

Apps that work with secured app content

bull App has its own credentials that it needs to communicate with the

server

bull App credentials should not be exposed to app users

bull Implies a server side flow for otherwise client side web apps

bull App can include a server side proxy configured with app credentials

bull username and password

bull long term token [ server may disallow ]

bull proxy responsible for getting and renewing short term tokens from

credentials over https

bull All subsequent requests can also be over https as needed

bull Proxy should be secured to the App

bull by Referer

bull by a server side App Session ID maintained by the App

Feature Service - Support for Versions

ESRI Developer Summit 2010 35

bull ldquogdbVersionrdquo request parameter for query and editing

operations

Feature Service - Sync support

ESRI Developer Summit 2010 36

bull Create Replica

bull Synchronize Replica

bull Unregister Replica

Service by Service Walkthrough -- GeometryServer

GeometryService Operations

editing topologic operators and geodesic measurements

Service by Service Walkthrough ndash Image Service

ImageServer ndash Raster functions

Aspect Slope NDVI Hillshade custom colormaps

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 26: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

101 Map Service - Statistical Queries

bull Statistical queries allow the client to

bull Get aggregate statistics (min max mean )

bull Use group by

101 Map Service - Support for Versions

bull Map Services have a ldquogdbVersionrdquo request parameter for

Query and Export

bull Allows apps to focus on different versions of the geodatabase

MapServer Support for Time

Advertise Time properties Export and Query by Time

Service by Service Walkthrough -- FeatureServer

FeatureServer ndash FS Layer resource similar to

MapServer Layer resource

Advertise Templates for editing apply edits operation

FeatureServer Feature Access and Attachments

New at 10 Feature access AddDelete Attachments

REST API - Security Flows

bull Different kinds of client side Apps

bull Apps that allow Users to access secure content that

belongs to the Users

bull Apps that access secure content that belongs to the App

bull hybrid

Apps that work with secured User Content

bull Users need to login to their accounts by presenting

credentials to the Server

bull Users trust the App it has access to their secure content

bull Credentials should flow through the App

bull Apps can use the Identity Managers in the client SDKs

bull Identity Mgr takes care of communicating with the serverrsquos

security Token Service over https and getting and renewing

tokens

bull All subsequent use and transmission of tokens parameters

and resulting content can also be over https as needed

bull Set up server to be ldquoall-SSLrdquo not just the token service

bull Protects all information during transmission

Apps that work with secured app content

bull App has its own credentials that it needs to communicate with the

server

bull App credentials should not be exposed to app users

bull Implies a server side flow for otherwise client side web apps

bull App can include a server side proxy configured with app credentials

bull username and password

bull long term token [ server may disallow ]

bull proxy responsible for getting and renewing short term tokens from

credentials over https

bull All subsequent requests can also be over https as needed

bull Proxy should be secured to the App

bull by Referer

bull by a server side App Session ID maintained by the App

Feature Service - Support for Versions

ESRI Developer Summit 2010 35

bull ldquogdbVersionrdquo request parameter for query and editing

operations

Feature Service - Sync support

ESRI Developer Summit 2010 36

bull Create Replica

bull Synchronize Replica

bull Unregister Replica

Service by Service Walkthrough -- GeometryServer

GeometryService Operations

editing topologic operators and geodesic measurements

Service by Service Walkthrough ndash Image Service

ImageServer ndash Raster functions

Aspect Slope NDVI Hillshade custom colormaps

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 27: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

101 Map Service - Support for Versions

bull Map Services have a ldquogdbVersionrdquo request parameter for

Query and Export

bull Allows apps to focus on different versions of the geodatabase

MapServer Support for Time

Advertise Time properties Export and Query by Time

Service by Service Walkthrough -- FeatureServer

FeatureServer ndash FS Layer resource similar to

MapServer Layer resource

Advertise Templates for editing apply edits operation

FeatureServer Feature Access and Attachments

New at 10 Feature access AddDelete Attachments

REST API - Security Flows

bull Different kinds of client side Apps

bull Apps that allow Users to access secure content that

belongs to the Users

bull Apps that access secure content that belongs to the App

bull hybrid

Apps that work with secured User Content

bull Users need to login to their accounts by presenting

credentials to the Server

bull Users trust the App it has access to their secure content

bull Credentials should flow through the App

bull Apps can use the Identity Managers in the client SDKs

bull Identity Mgr takes care of communicating with the serverrsquos

security Token Service over https and getting and renewing

tokens

bull All subsequent use and transmission of tokens parameters

and resulting content can also be over https as needed

bull Set up server to be ldquoall-SSLrdquo not just the token service

bull Protects all information during transmission

Apps that work with secured app content

bull App has its own credentials that it needs to communicate with the

server

bull App credentials should not be exposed to app users

bull Implies a server side flow for otherwise client side web apps

bull App can include a server side proxy configured with app credentials

bull username and password

bull long term token [ server may disallow ]

bull proxy responsible for getting and renewing short term tokens from

credentials over https

bull All subsequent requests can also be over https as needed

bull Proxy should be secured to the App

bull by Referer

bull by a server side App Session ID maintained by the App

Feature Service - Support for Versions

ESRI Developer Summit 2010 35

bull ldquogdbVersionrdquo request parameter for query and editing

operations

Feature Service - Sync support

ESRI Developer Summit 2010 36

bull Create Replica

bull Synchronize Replica

bull Unregister Replica

Service by Service Walkthrough -- GeometryServer

GeometryService Operations

editing topologic operators and geodesic measurements

Service by Service Walkthrough ndash Image Service

ImageServer ndash Raster functions

Aspect Slope NDVI Hillshade custom colormaps

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 28: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

MapServer Support for Time

Advertise Time properties Export and Query by Time

Service by Service Walkthrough -- FeatureServer

FeatureServer ndash FS Layer resource similar to

MapServer Layer resource

Advertise Templates for editing apply edits operation

FeatureServer Feature Access and Attachments

New at 10 Feature access AddDelete Attachments

REST API - Security Flows

bull Different kinds of client side Apps

bull Apps that allow Users to access secure content that

belongs to the Users

bull Apps that access secure content that belongs to the App

bull hybrid

Apps that work with secured User Content

bull Users need to login to their accounts by presenting

credentials to the Server

bull Users trust the App it has access to their secure content

bull Credentials should flow through the App

bull Apps can use the Identity Managers in the client SDKs

bull Identity Mgr takes care of communicating with the serverrsquos

security Token Service over https and getting and renewing

tokens

bull All subsequent use and transmission of tokens parameters

and resulting content can also be over https as needed

bull Set up server to be ldquoall-SSLrdquo not just the token service

bull Protects all information during transmission

Apps that work with secured app content

bull App has its own credentials that it needs to communicate with the

server

bull App credentials should not be exposed to app users

bull Implies a server side flow for otherwise client side web apps

bull App can include a server side proxy configured with app credentials

bull username and password

bull long term token [ server may disallow ]

bull proxy responsible for getting and renewing short term tokens from

credentials over https

bull All subsequent requests can also be over https as needed

bull Proxy should be secured to the App

bull by Referer

bull by a server side App Session ID maintained by the App

Feature Service - Support for Versions

ESRI Developer Summit 2010 35

bull ldquogdbVersionrdquo request parameter for query and editing

operations

Feature Service - Sync support

ESRI Developer Summit 2010 36

bull Create Replica

bull Synchronize Replica

bull Unregister Replica

Service by Service Walkthrough -- GeometryServer

GeometryService Operations

editing topologic operators and geodesic measurements

Service by Service Walkthrough ndash Image Service

ImageServer ndash Raster functions

Aspect Slope NDVI Hillshade custom colormaps

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 29: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

Service by Service Walkthrough -- FeatureServer

FeatureServer ndash FS Layer resource similar to

MapServer Layer resource

Advertise Templates for editing apply edits operation

FeatureServer Feature Access and Attachments

New at 10 Feature access AddDelete Attachments

REST API - Security Flows

bull Different kinds of client side Apps

bull Apps that allow Users to access secure content that

belongs to the Users

bull Apps that access secure content that belongs to the App

bull hybrid

Apps that work with secured User Content

bull Users need to login to their accounts by presenting

credentials to the Server

bull Users trust the App it has access to their secure content

bull Credentials should flow through the App

bull Apps can use the Identity Managers in the client SDKs

bull Identity Mgr takes care of communicating with the serverrsquos

security Token Service over https and getting and renewing

tokens

bull All subsequent use and transmission of tokens parameters

and resulting content can also be over https as needed

bull Set up server to be ldquoall-SSLrdquo not just the token service

bull Protects all information during transmission

Apps that work with secured app content

bull App has its own credentials that it needs to communicate with the

server

bull App credentials should not be exposed to app users

bull Implies a server side flow for otherwise client side web apps

bull App can include a server side proxy configured with app credentials

bull username and password

bull long term token [ server may disallow ]

bull proxy responsible for getting and renewing short term tokens from

credentials over https

bull All subsequent requests can also be over https as needed

bull Proxy should be secured to the App

bull by Referer

bull by a server side App Session ID maintained by the App

Feature Service - Support for Versions

ESRI Developer Summit 2010 35

bull ldquogdbVersionrdquo request parameter for query and editing

operations

Feature Service - Sync support

ESRI Developer Summit 2010 36

bull Create Replica

bull Synchronize Replica

bull Unregister Replica

Service by Service Walkthrough -- GeometryServer

GeometryService Operations

editing topologic operators and geodesic measurements

Service by Service Walkthrough ndash Image Service

ImageServer ndash Raster functions

Aspect Slope NDVI Hillshade custom colormaps

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 30: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

FeatureServer ndash FS Layer resource similar to

MapServer Layer resource

Advertise Templates for editing apply edits operation

FeatureServer Feature Access and Attachments

New at 10 Feature access AddDelete Attachments

REST API - Security Flows

bull Different kinds of client side Apps

bull Apps that allow Users to access secure content that

belongs to the Users

bull Apps that access secure content that belongs to the App

bull hybrid

Apps that work with secured User Content

bull Users need to login to their accounts by presenting

credentials to the Server

bull Users trust the App it has access to their secure content

bull Credentials should flow through the App

bull Apps can use the Identity Managers in the client SDKs

bull Identity Mgr takes care of communicating with the serverrsquos

security Token Service over https and getting and renewing

tokens

bull All subsequent use and transmission of tokens parameters

and resulting content can also be over https as needed

bull Set up server to be ldquoall-SSLrdquo not just the token service

bull Protects all information during transmission

Apps that work with secured app content

bull App has its own credentials that it needs to communicate with the

server

bull App credentials should not be exposed to app users

bull Implies a server side flow for otherwise client side web apps

bull App can include a server side proxy configured with app credentials

bull username and password

bull long term token [ server may disallow ]

bull proxy responsible for getting and renewing short term tokens from

credentials over https

bull All subsequent requests can also be over https as needed

bull Proxy should be secured to the App

bull by Referer

bull by a server side App Session ID maintained by the App

Feature Service - Support for Versions

ESRI Developer Summit 2010 35

bull ldquogdbVersionrdquo request parameter for query and editing

operations

Feature Service - Sync support

ESRI Developer Summit 2010 36

bull Create Replica

bull Synchronize Replica

bull Unregister Replica

Service by Service Walkthrough -- GeometryServer

GeometryService Operations

editing topologic operators and geodesic measurements

Service by Service Walkthrough ndash Image Service

ImageServer ndash Raster functions

Aspect Slope NDVI Hillshade custom colormaps

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 31: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

FeatureServer Feature Access and Attachments

New at 10 Feature access AddDelete Attachments

REST API - Security Flows

bull Different kinds of client side Apps

bull Apps that allow Users to access secure content that

belongs to the Users

bull Apps that access secure content that belongs to the App

bull hybrid

Apps that work with secured User Content

bull Users need to login to their accounts by presenting

credentials to the Server

bull Users trust the App it has access to their secure content

bull Credentials should flow through the App

bull Apps can use the Identity Managers in the client SDKs

bull Identity Mgr takes care of communicating with the serverrsquos

security Token Service over https and getting and renewing

tokens

bull All subsequent use and transmission of tokens parameters

and resulting content can also be over https as needed

bull Set up server to be ldquoall-SSLrdquo not just the token service

bull Protects all information during transmission

Apps that work with secured app content

bull App has its own credentials that it needs to communicate with the

server

bull App credentials should not be exposed to app users

bull Implies a server side flow for otherwise client side web apps

bull App can include a server side proxy configured with app credentials

bull username and password

bull long term token [ server may disallow ]

bull proxy responsible for getting and renewing short term tokens from

credentials over https

bull All subsequent requests can also be over https as needed

bull Proxy should be secured to the App

bull by Referer

bull by a server side App Session ID maintained by the App

Feature Service - Support for Versions

ESRI Developer Summit 2010 35

bull ldquogdbVersionrdquo request parameter for query and editing

operations

Feature Service - Sync support

ESRI Developer Summit 2010 36

bull Create Replica

bull Synchronize Replica

bull Unregister Replica

Service by Service Walkthrough -- GeometryServer

GeometryService Operations

editing topologic operators and geodesic measurements

Service by Service Walkthrough ndash Image Service

ImageServer ndash Raster functions

Aspect Slope NDVI Hillshade custom colormaps

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 32: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

REST API - Security Flows

bull Different kinds of client side Apps

bull Apps that allow Users to access secure content that

belongs to the Users

bull Apps that access secure content that belongs to the App

bull hybrid

Apps that work with secured User Content

bull Users need to login to their accounts by presenting

credentials to the Server

bull Users trust the App it has access to their secure content

bull Credentials should flow through the App

bull Apps can use the Identity Managers in the client SDKs

bull Identity Mgr takes care of communicating with the serverrsquos

security Token Service over https and getting and renewing

tokens

bull All subsequent use and transmission of tokens parameters

and resulting content can also be over https as needed

bull Set up server to be ldquoall-SSLrdquo not just the token service

bull Protects all information during transmission

Apps that work with secured app content

bull App has its own credentials that it needs to communicate with the

server

bull App credentials should not be exposed to app users

bull Implies a server side flow for otherwise client side web apps

bull App can include a server side proxy configured with app credentials

bull username and password

bull long term token [ server may disallow ]

bull proxy responsible for getting and renewing short term tokens from

credentials over https

bull All subsequent requests can also be over https as needed

bull Proxy should be secured to the App

bull by Referer

bull by a server side App Session ID maintained by the App

Feature Service - Support for Versions

ESRI Developer Summit 2010 35

bull ldquogdbVersionrdquo request parameter for query and editing

operations

Feature Service - Sync support

ESRI Developer Summit 2010 36

bull Create Replica

bull Synchronize Replica

bull Unregister Replica

Service by Service Walkthrough -- GeometryServer

GeometryService Operations

editing topologic operators and geodesic measurements

Service by Service Walkthrough ndash Image Service

ImageServer ndash Raster functions

Aspect Slope NDVI Hillshade custom colormaps

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 33: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

Apps that work with secured User Content

bull Users need to login to their accounts by presenting

credentials to the Server

bull Users trust the App it has access to their secure content

bull Credentials should flow through the App

bull Apps can use the Identity Managers in the client SDKs

bull Identity Mgr takes care of communicating with the serverrsquos

security Token Service over https and getting and renewing

tokens

bull All subsequent use and transmission of tokens parameters

and resulting content can also be over https as needed

bull Set up server to be ldquoall-SSLrdquo not just the token service

bull Protects all information during transmission

Apps that work with secured app content

bull App has its own credentials that it needs to communicate with the

server

bull App credentials should not be exposed to app users

bull Implies a server side flow for otherwise client side web apps

bull App can include a server side proxy configured with app credentials

bull username and password

bull long term token [ server may disallow ]

bull proxy responsible for getting and renewing short term tokens from

credentials over https

bull All subsequent requests can also be over https as needed

bull Proxy should be secured to the App

bull by Referer

bull by a server side App Session ID maintained by the App

Feature Service - Support for Versions

ESRI Developer Summit 2010 35

bull ldquogdbVersionrdquo request parameter for query and editing

operations

Feature Service - Sync support

ESRI Developer Summit 2010 36

bull Create Replica

bull Synchronize Replica

bull Unregister Replica

Service by Service Walkthrough -- GeometryServer

GeometryService Operations

editing topologic operators and geodesic measurements

Service by Service Walkthrough ndash Image Service

ImageServer ndash Raster functions

Aspect Slope NDVI Hillshade custom colormaps

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 34: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

Apps that work with secured app content

bull App has its own credentials that it needs to communicate with the

server

bull App credentials should not be exposed to app users

bull Implies a server side flow for otherwise client side web apps

bull App can include a server side proxy configured with app credentials

bull username and password

bull long term token [ server may disallow ]

bull proxy responsible for getting and renewing short term tokens from

credentials over https

bull All subsequent requests can also be over https as needed

bull Proxy should be secured to the App

bull by Referer

bull by a server side App Session ID maintained by the App

Feature Service - Support for Versions

ESRI Developer Summit 2010 35

bull ldquogdbVersionrdquo request parameter for query and editing

operations

Feature Service - Sync support

ESRI Developer Summit 2010 36

bull Create Replica

bull Synchronize Replica

bull Unregister Replica

Service by Service Walkthrough -- GeometryServer

GeometryService Operations

editing topologic operators and geodesic measurements

Service by Service Walkthrough ndash Image Service

ImageServer ndash Raster functions

Aspect Slope NDVI Hillshade custom colormaps

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 35: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

Feature Service - Support for Versions

ESRI Developer Summit 2010 35

bull ldquogdbVersionrdquo request parameter for query and editing

operations

Feature Service - Sync support

ESRI Developer Summit 2010 36

bull Create Replica

bull Synchronize Replica

bull Unregister Replica

Service by Service Walkthrough -- GeometryServer

GeometryService Operations

editing topologic operators and geodesic measurements

Service by Service Walkthrough ndash Image Service

ImageServer ndash Raster functions

Aspect Slope NDVI Hillshade custom colormaps

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 36: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

Feature Service - Sync support

ESRI Developer Summit 2010 36

bull Create Replica

bull Synchronize Replica

bull Unregister Replica

Service by Service Walkthrough -- GeometryServer

GeometryService Operations

editing topologic operators and geodesic measurements

Service by Service Walkthrough ndash Image Service

ImageServer ndash Raster functions

Aspect Slope NDVI Hillshade custom colormaps

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 37: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

Service by Service Walkthrough -- GeometryServer

GeometryService Operations

editing topologic operators and geodesic measurements

Service by Service Walkthrough ndash Image Service

ImageServer ndash Raster functions

Aspect Slope NDVI Hillshade custom colormaps

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 38: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

GeometryService Operations

editing topologic operators and geodesic measurements

Service by Service Walkthrough ndash Image Service

ImageServer ndash Raster functions

Aspect Slope NDVI Hillshade custom colormaps

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 39: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

Service by Service Walkthrough ndash Image Service

ImageServer ndash Raster functions

Aspect Slope NDVI Hillshade custom colormaps

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 40: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

ImageServer ndash Raster functions

Aspect Slope NDVI Hillshade custom colormaps

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 41: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

Image Service

New at 101

bull Add Update and Delete Rasters tofrom an Image

Service

- Includes ownership based security

bull Take Measurements from Imagery

- Distance and Angle

- Height

- Area and Centroid

bull Image Services can be Cached

- The ImageServer resource exposes Tiles

- Client API view is unchanged - a Tiled Layer

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 42: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

Service by Service Walkthrough ndash Network Analyst

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 43: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

Service Area

Closest Facility

Network Analyst ndash More operations

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 44: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 45: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

Agenda

bull Introduction

bull Design and Concepts

bull Service by Service Walkthrough

bull Conclusion

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 46: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

Conclusion

bull Open API accessible from a gamut of clients

- Continues to evolve

- New features quality and performance improvements

bull Adheres to HTTP standards

bull Services Directory = Instant access to service level

metadata

bull Custom Functionality = REST-enabled SOEs

bull Add delete update services = Clear REST API

Cache

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 47: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map

Post-Conclusion

3 points to rememberhellip

- Everything is a URL

- Everything is a URL

- Everything is a URL

Page 48: using the arcgis server rest api - Recent Proceedings€¦ · ArcGIS Server Services •Map -Based on map document authored using ArcMap -Can be used to identify features on the map