Developing with ArcGIS Server: An overview
As you learn and use ArcGIS Server, you'll probably reach the point where you want to build or customize an application outside Manager. ArcGIS Server offers several programming frameworks, or APIs, that you can use to create applications and services. The API that you choose depends on your experience and skill level, as well as the requirements of the application.
This section of the help describes the different ways you can develop with ArcGIS Server. It lists the various APIs you can work with and directs you to their respective sections in the Developer Help.
Web mapping APIs
Since the release of ArcGIS Server, ESRI has offered Web application developer frameworks (ADFs) for .NET and Java. In 2008, ESRI also released Web mapping APIs for JavaScript, Flex, and Silverlight, further expanding the choices for Web application developers. The links below contain summaries of the APIs, which in turn link to Resource Center Web sites where you can read the full documentation.
Choosing an API
The APIs are functionally very similar, and when choosing an API, the most important question is not "What do you want to do?", but rather "Which platform are your developers most comfortable with?" If you've been working with the Microsoft stack and your developers are inclined in that direction, .NET and Silverlight look like good choices for you. Using similar logic, if you have a lot of past experience writing custom scripts for your ArcIMS applications, you'll probably find the JavaScript API to be a nice fit.
Many beginning developers find the JavaScript, Flex, and Silverlight APIs to be easier to learn than the Web ADFs because they have a more basic architecture. In the online Resource Centers for these APIs, you can watch videos, read tutorials, and examine working samples that are designed for beginners. ESRI has made sample ArcGIS Server deployments available so that you can practice with the APIs. In fact, you can get a JavaScript mapping application running on your machine with just Notepad and an Internet connection.
In contrast, some developers like the deep functionality and familiar coding patterns of the .NET and Java ADFs, especially developers who have already worked with a lot of .NET, Java, or ArcObjects in the past.
Working with the GIS server directly
The ArcGIS family of products is built on a set of software objects called ArcObjects. The JavaScript APIs and the Web ADF provide higher-level frameworks that allow you to leverage the GIS server without having to worry about what is happening at the ArcObjects level. However, if you require the full power of ArcObjects, you can use the Connection Library included with the Web ADF and ArcGIS Engine to connect directly to the GIS server and work with the fine-grained ArcObjects API. This is how you might build a desktop client application or an application Web service that works with the GIS server.
An alternative to working with ArcObjects is to use the SOAP API. This is an appropriate choice when working with services that have Web access enabled (all ArcGIS Server services have Web access enabled by default). The SOAP API exposes much of the functionality of ArcObjects. You can work with the SOAP API through the Web ADF or through a non-ESRI solution such as the .NET SOAP Toolkit.
The REST API is another way to develop against services that have Web access enabled. All ArcGIS Server instances expose a Services Directory, which allows you to browse the services and functions on your server using representational state transfer (REST) technology. You can use REST, with the Services Directory as a guide, to draw maps, perform queries, execute geoprocessing tasks, find addresses, and perform many other common operations on GIS services.
You can access the Services Directory in a Web browser using http://<server name>/<instance name>/rest/services. In the corner of the Services Directory, you'll see a link to the API Reference that details what you can do with the REST API. The ArcGIS APIs for JavaScript, Flex, and Silverlight all use the REST API behind the scenes, so you'll often use the Services Directory when working with those APIs as well.
Extending the GIS server
You can add to the functionality of the core services (map, geocode, geoprocessing, and so on) by building server object extensions, or custom, coarse-grained ArcObjects classes. These are potentially powerful but require extensive use of ArcObjects. Examples of server object extensions that you might already be familiar with include the Network Analyst capability and the WMS capability available with ArcGIS Server map services.
The Developer Help contains information about how to build a server object extension in the topic Server object extensions.
Building mobile applications
ArcGIS Mobile and ArcGIS for iPhone are options for building mobile applications that use ArcGIS Server. You can start with a premade application or develop your own. Learn more by visiting the Mobile GIS page on the ArcGIS Resource Center.
Where to get help
The ArcGIS Server Developer Help contains conceptual information, sample applications, and step-by-step scenarios. The library reference contains more detailed help for each class and member, as well as object model diagrams. Updated versions of the latest help can be found on the ESRI Developer Network (EDN) Web site.
ArcGIS Server Developer Help
When you install the Web ADF, Developer Help is automatically installed. You can open Developer Help from the desktop or within Visual Studio.
To access Developer Help from the desktop, follow these steps:
- Navigate to Start > All Programs > ArcGIS > Developer Help > Server Help for .NET.
- Click Creating ArcGIS Server solutions.
To open Developer Help within Visual Studio:
- Click Contents on the Help menu.
- When the Help table of contents appears, click ESRI Developer Resources.
- Click Creating ArcGIS Server solutions.
Library reference (component help)
The library reference includes brief descriptions of each class and member in the Web ADF. Some classes and members have extra remarks and code examples. Additionally, if an assembly has an object model diagram, you can find it in the library reference.
You can get to the library reference by following the steps above to open Developer Help. Once you click Creating ArcGIS Server solutions, you will see the Library reference node in the table of contents.
ArcGIS Server Resource Center
The ArcGIS Server page on the ArcGIS Resource Center contains the most up-to-date versions of the Developer Help and library reference.
ArcGIS Server Blog
The ArcGIS Server team maintains a blog where you can find tips and samples beyond what's included in this help system. Topics include Web ADF development, performance and caching, service packs, and upcoming conferences and seminars.
Code galleries and ArcScripts
The ArcGIS Server code galleries and ArcScripts are online resources for you to learn from other developers' code and share your own projects.
The code galleries are available through the ArcGIS Server Resource Center. Below are quick links to the code galleries for each Web ADF and Web API:
ArcScripts is a similar site where developers can exchange tools, samples, and utilities related to ESRI products.
Becoming familiar with the code galleries and ArcScripts can save you much time and effort if someone has already created the tool that you need. And if you've developed something useful, you can contribute it for others to download.