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 for 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 the beginning or to develop your specialized application in a style that conforms to your existing Web site.
The following are the main sections of the Web ADF:
  • Web ADF 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 might 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 the gray block on the following illustration. 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 illustration 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 illustration shows the standard nomenclature for Web ADF assemblies discussed in this topic:

Web ADF 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. For more information, see Web controls.
Web ADF controls support the following AJAX patterns:
  • ASP.NET 2.0 callback pattern
  • 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 processed by Web ADF JavaScript to update browser content dynamically.
Web ADF controls 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 enhances 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 cannot be used outside the Web ADF. For more information, see Web ADF JavaScript Library.

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. For more information, see Working with the Task Framework.

Common Data Source API

The Web ADF supports data from multiple sources, including ArcGIS for 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). For more information, see Working with the Common Data Source 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 for 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 for Server uses components in the ArcGIS Server library, ESRI.ArcGIS.ADF.ArcGISServer.dll. This library leverages the ArcGIS for Server Simple Object Access Protocol (SOAP) API to work with ArcGIS for 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 for Server and Transmission Control Protocol (TCP) or Hypertext Transfer Protocol (HTTP) connections to ArcIMS.

Web ADF 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 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. For more information, see Working with graphics and core classes.


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