Developing Web applications using the Web ADF


In this topic


About the ArcGIS Web Application Developer Framework

The ArcGIS Web Application Developer Framework (ADF) for the Microsoft .NET Framework enables you to integrate geographic information system (GIS) data and capabilities into your Web applications. The Web ADF includes Web controls, classes, frameworks, and application programming interfaces (APIs) that you can use to build Web applications.
To get started, you can use Manager, an administrative Web application included with ArcGIS Server and ArcIMS, to step through a comprehensive Web application designer to generate a predesigned Web site. Alternatively, you can build your Web application in Visual Studio with the Web Mapping Application template, which offers basic map display, navigation, and interactive capabilities. You can also use the Web controls directly to create a Web site from scratch or develop your own specialized application in a style that conforms to your existing Web site.
The main sections of the Web ADF are as follows:
  • Web controls
  • Web ADF JavaScript library
  • Task framework
  • Common Data Source API
  • Web ADF graphics and core classes
All sections work in conjunction with one another. Most of the Web ADF components reside solely on the Web server.  At runtime some client-side support content, such as Web ADF JavaScript libraries, will be loaded by the browser 
Out-of-the-box data sources supported by the Web ADF are included for reference but are not required for the Web ADF to be utilized. Depending on the data source, Web ADF JavaScript may be able to take advantage of browser technologies to interact directly with data source content, such as accessing a map image available via a public virtual directory. External data sources supported by the Web ADF are shown in gray block in the diagram below. These data sources are not installed by the Web ADF and are only included to show the relationships with Web ADF components. In general, the Web ADF does not require the use of a specific data source. It can be installed and utilized on its own.
The following diagram shows the primary components and their basic relationships in the Web ADF:
The assemblies included with the Web ADF contain tangible components associated with each section. The following diagram shows the standard nomenclature for Web ADF assemblies that are discussed in this topic.

Web controls

The Web ADF includes Asynchronous JavaScript and XML (AJAX)-enabled Web controls built on ASP.NET AJAX technologies. The Web controls utilize a set of JavaScript libraries, called the Web ADF JavaScript Library, to process asynchronous interaction between browser and Web application components as well as remote resources. The Web ADF JavaScript Library provides a public API for Web ADF developers to enhance Web applications by leveraging browser capabilities.
Web ADF controls support two AJAX patterns: the ASP.NET 2.0 callback pattern and the ASP.NET AJAX partial postback pattern. State between the client browser and the Web application on the server is maintained using Web ADF CallbackResults. Callback results can be explicitly created and managed and are designed to be processed by Web ADF JavaScript to update browser content dynamically.
Web ADF controls are also designed to support working with multiple data sources at the same time in the same Web application. The resource managers controls broker interaction between Web controls and data sources via the Common Data Source API. Resources can be consolidated for display (for example, in a Map) and utilized for queries and spatial operations.

Web ADF JavaScript Library

The Web ADF includes a public JavaScript API packaged in a JavaScript library. The Web ADF JavaScript Library is built on the ASP.NET AJAX JavaScript library and provides a comprehensive client-side framework that can be used to interact with Web ADF controls and components in a scriptable environment. Web ADF JavaScript is designed to enhance Web ADF applications by leveraging browser technologies to support client-server synchronization and pure browser interactivity. The library can be used once a Web ADF control resides on the page. It is not designed to be used outside the Web ADF.

Task framework

The Web ADF task framework is an extensible architecture that you can use to integrate and deploy custom functionality as Web tasks in a Web ADF application. In general, a Web task is a Web control that encapsulates related actions to generate results. It is a modular component that can be distributed and plugged into Web ADF applications via Visual Studio or the ArcGIS Manager application. The task framework provides the ability to integrate a custom Web task into the Web ADF and Manager. Task framework interfaces and classes are included in the ESRI.ArcGIS.ADF.Web.UI.WebControls.dll assembly. Implementations of the task framework are included with the Web ADF as task controls in the ESRI.ArcGIS.ADF.Tasks.dll and ESRI.ArcGIS.ADF.ArcGISServer.Editor.dll (EditorTask control only) assemblies.

Common Data Source API

The Web ADF is designed to support data from multiple sources, including ArcGIS Server, ArcIMS, and Microsoft Bing Maps Services. The multisource architecture allows you to integrate and interact with data from different sources at the same time, in the same application. To accomplish this, the Web ADF has a common framework in which data sources can be integrated with Web ADF components. This framework is the Common Data Source API (Common API).
The Common API consists of classes and interfaces in the ESRI.ArcGIS.ADF.Web.DataSources.dll assembly. These classes and interfaces make up the generic framework that Web ADF controls use to interact with different data sources in a common way (thus, Common API). To utilize a data source as a resource in the Web ADF, the data source must provide an implementation of the Common API generic framework. The capabilities of the data source dictate the breadth of implementation. Out-of-the-box supported data sources include ArcGIS Server, ArcIMS, Microsoft Bing Maps, Open Geospatial Consortium Web Map Service (OGC WMS), and Web ADF graphics datasets. Each Common API implementation is contained in a separate assembly included with the Web ADF.
Some data sources are built on an explicit API used in the Common API implementation. These are known as data source specific APIs. For example, the Common API implementation of ArcGIS Server uses components in the ArcGIS Server library ESRI.ArcGIS.ADF.ArcGISServer.dll. This library leverages the ArcGIS Server SOAP API to work with ArcGIS Server services via a local or an Internet connection.
Data source specific APIs can be utilized on their own, without Web ADF controls or Common API implementation classes.
Connection libraries are also included with the Web ADF to support local connections to ArcGIS Server and Transmission Control Protocol (TCP) or Hypertext Transfer Protocol (HTTP)connections to ArcIMS.

Working with graphics and core classes

Different sources of data can be combined and utilized by the Common API in the Web ADF. As a result, the Web ADF includes components that are designed to support and enhance working with multiple resources in the Web-tier. Most of these components reside in the ESRI.ArcGIS.ADF.Web.dll assembly.
In general, the Web ADF supports some of the basic capabilities of a data source or service. For example, it maintains a graphics dataset, which extends an ADO.NET dataset to include spatial properties. The graphics dataset can contain a collection of Web ADF graphics layers that enhance the ADO.NET DataTable and emulate feature class properties. The Web ADF includes geometry types, renderers, and symbols to manage and display graphic elements in Web ADF graphics layers. Since Web ADF graphics capabilities are managed in the Web-tier and a Common API implementation is provided, they can be integrated and utilized as map resources. Web ADF graphics provide a pure Web ADF dataset type to manage selected features, dynamic data, and custom feature data sources.
Components of the Web ADF rely on Web ADF graphics and core classes to work and interact with one another. The Map control needs to maintain a spatial reference and define display settings for a map resource to generate a map image. A task control can use task results to display graphics on a map with Web ADF graphics layers. You can use the generic interfaces of the Common API to execute a query using a spatial filter composed of Web ADF geometry. In addition, converter classes are included in the Web ADF to provide convenient methods for converting between client, Web ADF, and data source specific data types. In a true consolidation environment such as the Web ADF, managing the translation of information between application tiers and source types is essential to maximizing usability.


See Also:

Web controls
Web ADF JavaScript Library
Working with the task framework
Working with the Common Data Source API
Working with graphics and core classes