ArcGIS Server Proxy
Server side code that runs on application server. It intercepts traffic between ArcGIS web application client and ArcGIS server.
Why ArcGIS Server Proxy ?
- To use token based authentication
- Put Business Logic in Proxy, logging etc.
- Hide ArcGIS server details from client ( IP Address, rest interface)
How to use ArcGIS Server Proxy in web application?
- Define the location of proxy in client application. ( object of esri/config module)
esriConfig.defaults.io.proxyUrl = "<url_to_proxy>"
esriConfig.defaults.io.alwaysUseProxy = false;
- Can also set proxy-rule – If the request URL matches a rule, then the request will be routed through the proxy (object of esri/urlUtils module)
What ArcGIS Server Proxy ideally should not to use for?
- De-serialize requests of images (MapCache, dynamic layers)
- The geometry, since it will impact performance. Get & pass a String directly.
The ArcPy Mapping module is a Python scripting library that provides access to the contents of map documents (.mxd) and layer files (.lyr). With arcpy.mapping, you can create scripts that can reference map documents and layers; query and alter their properties; and print, export, or save the modified document.
ArcGIS REST API
It is an interface that simplifies interactions between GIS applications (clients) and ArcGIS for Server services.
What is REST?
REpresentational State Transfer, or REST, is a way for software to work when distributed across a network. When software is being run across a network, a client sends a request to a server, the server processes the request, and then the server sends a response back to the client.
A RESTful application programming interface (API) is one that’s based on HTTP and the REST guidelines. By using the REST architecture, distributed applications gain the following benefits.
- Consistency: Clients and servers know what to expect when working in a RESTful architecture because resource names and request/response syntax follow a consistent structure.
- Readability: REST uses formats that are easy for both people and search engines to read.
- Efficiency: RESTful communications are compact and take advantage of cached content to reduce bandwidth requirements and wait times.
ArcGIS Rest Service example: http://services.arcgisonline.com/arcgis/rest/services
Anatomy of a RESTful URL
Free Training Sessions