The ArcGIS Web Application Developer Framework (ADF) for the Microsoft .NET Framework enables you to integrate GIS data and capabilities into your Web applications. The ADF includes a set of Web controls, classes, frameworks and APIs that you’ll use to build your 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 start building 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.
A set of assemblies are included with the Web ADF which contain tangible components associated with each section. The following diagram highlights the standard nomenclature for Web ADF assemblies that will be discussed in this help system.
Web ADF controls are also designed to support working with multiple data sources at the same time in the same Web application. A set of controls termed resource managers broker interaction between Web controls and data sources via the Common Data Source API. Resources can consolidated for display (for example, within a Map) and utilized for queries and spatial operations.
The Web ADF Task Framework is an extensible architecture by which a developer can integrate and deploy custom functionality as "Web tasks" within a Web ADF application. In general, a "Web task" is a Web control that encapsulates a set of 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 effectively 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 out-of-the-box 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 multi-source 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 needs a common framework in which data sources can be integrated with Web ADF components. This framework is the Common Data Source API, or in short, the Common API.
The Common API consists of a set 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 within the Web ADF, the data source must provide an implementation of the Common API generic framework. The capabilities of the data source will dictate the breadth of implementation. A set of data sources are supported out-of-the-box including ArcGIS Server, ArcIMS, Microsoft Bing Maps, ArcWeb, OGC\WMS, and Web ADF graphics datasets. Each Common API implementation is contained within a separate assembly included with the Web ADF.
Some data sources are built on an explicit programming interface 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 Internet connection. Note, data source specific APIs can be utilized on their own, without Web ADF controls or Common API implementation classes.
A set of connection libraries are also included with the Web ADF to support Local connections to ArcGIS Server and TCP or HTTP connections to ArcIMS.
Web ADF Graphics and Core Classes
Different sources of data can be combined and utilized in a common way (Common API) in the Web ADF. As a result, the Web ADF includes a set of components 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 must support 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 which enhance the ADO.NET DataTable and emulate feature class properties. The Web ADF includes a set of 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 an 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 the Web ADF graphics and core classes to do 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 may use task results to display graphics on a map with Web ADF graphics layers. A developer may use the generic interfaces of the Common API to execute a query using a spatial filter composed of Web ADF geometry. In addition, a set of 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.