Web services are the medium by which ArcGIS for Server communicates. They are the cogs that drive Server and feed your end users. ArcGIS for Server supports many types of web services. Each of these types implement an international standard, which is supported by various clients. Before we go through these standards or protocols, we will first define what a web service is. Then, you will create your first web service using the classic Active Server Pages (ASP). This exercise will cement the idea of web services and will let you further understand how they work. It will also prepare you for the second part of this chapter where you will learn how to author web services specifically for Server. The services that you will be publishing on Server are a little different from the classical web services. They have a geographic flavor to it. This is why throughout this chapter, we will refer to web services published on Server as GIS services.
You're reading from Administering ArcGIS for Server
In a nutshell, a web service is a method that can be called by a client to perform a particular task and return some results. Such results can be in plain text, as links, or media that can be interpreted by browsers. What makes it different from any regular method is that this method is a cross platform, which means you can call it from practically anywhere and get the output in a convenient and native format. For example, you spend countless hours to develop an algorithm on C# that performs a certain task. Your boss is happy, and she/he asks you to deploy it on your Unix database server. However, there is a slight problem here. C# code uses the Microsoft .NET Framework that happens to run only on the Microsoft Windows operating system; therefore, it is a challenging task to port this algorithm to Unix. One solution will be to rewrite the algorithm to run on Unix, which will lead to two versions of the code scattered on multiple locations. However, this will introduce...
You may have noticed from the service you authored that it is up to you how you want to format the result. Imagine if each developer used his own format, it would be really difficult for other parties to consume your service without knowing its parameters. Therefore, a set of protocols were compiled and widely provided. We will talk about the importance of using a standard format and how much time it can save during integration.
With the magnitude of flexibility in this age of information, we started to create so many diverse works. Isaac Newton started an excellent standard by which he could aggregate his work and present it properly to the world. He created Calculus, which is a unified language for the entire world; mathematicians adopted his approach of doing math because it was simple and effective. They came up with interesting theories based on that adaptation. Calculus was a standard, a protocol that has succeeded. Einstein...
A web service is hosted on a Web server, which is a solution that serves clients over the Web. There is a lot of Web server software available in the market that is free, open source, and commercial. These range from lightweight home use that supports a few requests to those designed to support millions of requests.
Now that we know how web services work, it is time to get back to the Server. A GIS service is a web service, which has a geographic element. Many standards for GIS service were developed and are widely implemented; in this chapter, we will discuss and author Esri map services and some of the Open Geospatial Consortium (OGC) services.
In GIS, we usually deal with maps. Esri map services are GIS services that handle operations on a geographical map. You can publish a map as a map service and consume this service from any client that supports this type of service. Map services are widely used and are famous for their simplicity and portability. The map services authoring tool for Server is ArcGIS for Desktop; hereafter, it is called Desktop. You cannot create a map service without this product, Desktop doesn't have to be installed on the same machine as your Server—as long as they are on the same network, you are good.
In this chapter, you learned the concept behind a Web service. You managed to author your own service from scratch. That was necessary to understand the Web services protocols. Once you got the idea of Web services, we dived into the GIS services, which were basically Web services with a geographic dimension. You learned how to author and publish GIS services while enabling the widely available standards so that they can be consumed by various GIS clients. In the next chapter, we will discuss how to consume the GIS services for visualization, analysis, and editing.