Recently I was teaching a 2 day course ‘Creating effective Web applications using ArcGIS Server’. The course is focused on using ESRI Web mapping APIs which provides developers with mapping, analysis, and data processing tools so they can embed GIS functionality in their Web applications.
The course went very well and the students thought that the work carried out was fruitful. Naturally, it is really hard to dive really deep into the Web GIS development for those who do not have any experience with developing for ArcGIS Server within such a short amount of time. Even though most of the students have been at another relevant ESRI course – Introduction to ArcGIS Server – and are familiar with such concepts as client-server architecture, web browser work principles, I was forced to roll back to provide the necessary background knowledge about such things as ArcGIS Server Web ADF, Microsoft Visual Studio, and IIS web server workflows on the regular basis.
Being an instructor for the course was extremely productive for me too. Since the course content was designed for use specifically with ArcGIS 10 and was released just a couple of months ago, there were a few things many users have not worked with that much. I think that new feature service type introduced in ArcGIS Server seems to be very interesting. Among other useful things at the 10 release, introducing a compact cache, Sharepoint support, advanced feature data editing logic use, and client-side feature layers can be mentioned. To get the idea what we have in ArcGIS Server 10, please refer to the ArcGIS Server 10 functionality matrix.
To extend the lecture that involved consuming map services in the web application, I have added some info on REST API interface and commands which can be very useful to have at hand when developing an interface for interrogating map service content by using any ArcGIS Web mapping API. Consuming published services via accessing their REST endpoints at ArcGIS Services Directory was necessary throughout two days, so getting to know REST API syntax would be an advantage. Full information on REST API is available at ArcGIS Help system at the ArcGIS REST API Help system.
Some useful REST API URLs are listed below:
To get the general information about the server:
To come to the server catalog to see the services available:
To access REST admin interface:
Here are some of the raised questions I needed to cover during the course:
1. How to add a default document for an application or site in IIS 7?
As a standard behaviour, when a web browser sends a request to the root directory, IIS 7 retrieves the document based on the default document configuration. The list of default file names for the IIS can be configured, for instance, at the IIS management console (Start > Run > inetmgr) or by using the
<defaultDocument> element in the ApplicationHost.config file and at the Web site Web.config file.
3. What is required to create a Silverlight application in the MS Visual Studio?
Silverlight Tools for Visual Studio and Silverlight developer runtime
4. Are C# and MXML case-sensitive language?
Yes, C# and MXML (Flex platform) are highly case-sensitive as well as XAML (Silverlight platform).
5. Why crossdomain.xml is important and should be copied to the IIS root folder?
This file is required to allow accessing data from a server other than the one hosting one’s Flex application.
6. What is the REST end-point of the map service and how do I get it?
REST endpoint represents the entry point for an ArcGIS Server service, i.e. the unique URL by using which the service can be reached by different applications and other web services.
REST endpoint for a map service <Basemap> on the machine <gisdev> would be:
7. How can I get an URL for a map of a map service that will be zoomed in to a certain area?
You will need to use a special format of a REST API response. You might use f=image operation which will result in a streamed image. Bbox will define the extent of the sent image.