Post on 23-Sep-2020
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Post-Conclusion
3 points to rememberhellip
- Everything is a URL
- Everything is a URL
- Everything is a URL