ESRI provides a collection of software products designed to deliver enterprise
GIS solutions that are centrally managed and support multiple
users. Software developers can access these solutions in
both server and client-side application
environments. The purpose of an application and
its ease of distribution will often dictate
which environments are most suitable. For ESRI
server based applications, the following general development paths are
available, increasing in complexity and functionality from path I to
IV. The paths available to a developer depend on the type
of application being created. For example, all paths can be utilized
in a Web application, but only path IV is available for
Desktop client applications. In general, the best practice is to
start with the simplest path available and select a more complex
path only when necessary. Selecting a more complex path depends on
the functionality you need in your application.
Developing Web Applications
A Web application provides content from a server to a client as a visual
interface for a user, often within a Web browser. Much of
the business logic, data, and other processes are managed on the
server-side using a rich programming environment, such as C# or Visual
Basic.NET. Since the user interacts with a Web application
via a Web browser, the client-side application is
built using Web standards to create a user interface, such as HTML,
CSS, and scripting languages such as JavaScript.
A number of resources are provided to get you started. To create feature
rich Web applications without writing code, use the Manager Web
application. For addition information, see the section titled
Developing Web Applications with Manager (if available) or access
the help system within the Manager application. Manager creates a
predefined Web application based on the Web Mapping Application template,
ready for deployment. Although Manager provides a number of
options to customize your Web application, you may choose to
extend it further. For additional information on customizing the Web
application generated by Manager, see the section titled
Extending Manager Web applications.
If you have access to Visual Studio 2005, use the
Web
Mapping Application template included with the Web Application
Developer Framework (Web ADF) to get started. The Web ADF also
provides custom Web controls to display and interact with map data from
multiple data sources as well as a Common API for interacting with
different data sources in the same way. Developer paths I, II, and III
are specific to the Web ADF. If you can accomplish the task you need
using the out-of-the-box Web controls, use path I. If you would like to
customize the Web ADF to work with all data source types by using generic
functionalities in the Common API, use path II. If you want to custom the
Web ADF to work with a specific data source implementation of Common API
functionality, use path III. See the section titled
Developing Web Applications using the Web ADF for more
information.
To utilize functionality associated with a specific data source (such as
an ArcGIS Server server object or an ArcIMS service), a data source specific
API may be provided. This option is associated with developer path
IV and offers the most functionality since you are working directly with the
data source's API. Note that each API can be used independent of the
Web ADF controls and Common Data Source API.
To work with ArcGIS Server Local data sources, see the section titled
Working with the ArcGIS Server ArcObjects API. ArcGIS Server
also provides the ability to customize and extend functionality on the
server. In the ArcGIS Server ArcObjects API discussion, see the section
titled
Extending ArcGIS Server
for additional details.
To work with ArcGIS Server Internet data sources, see the section titled
Working with the ArcGIS Server SOAP API.
To work with ArcIMS data sources, see the section titled
Working with the ArcIMS API.
To access data source specific APIs from the Web ADF Common Data
Source API, see the section titled
Access
a data source specific API.
Developing Web Services
A Web service provides content from a server to a client as information,
usually via simple text. Access to business logic, data, and other
processes are managed on the server-side using a rich programming
environment, such as C# or Visual Basic.NET. Since the user interacts
with a Web service programmatically, the Web service developer
is responsible for providing access to information on the server using Web
standards for Web service description and distribution, such as SOAP, WSDL, and
UDDI.
From the ArcGIS perspective, two types of Web services can be created: a GIS
Web Service and an application Web service. A GIS Web Service
provides an ESRI standard for publishing ArcGIS server objects (an ArcGIS
Local data source) as an ArcGIS Server Web service (an ArcGIS Internet
data source). For more information on publishing GIS Web
services, see the section in ArcGIS Server help on the types of services
you can
publish. GIS Web Services are not developed, instead they
are published and consumed. Some existing ESRI products, such
as ArcMap, are designed to consume a GIS Web service without requiring any
custom components or developer experience. In addition, the Web ADF
controls and Common API are designed to consume a GIS
Web Service, see the section titled
Developing
Web Applications using the Web ADF for more information.
Since a GIS Web Service is based on Web service standards, it can
also be consumed as a traditional Web service. The section
titled
Working with the ArcGIS Server
SOAP API discusses the API which can be used by developers to
interact programmatically with a GIS Web Service.
An application Web service is a custom application built using Web service
standards which can programmatically leverage interaction
with an ESRI data source. Since Web services do not have a user
interface, developer path I is not an option. Paths II and III may
offer a generic solution if working with common functionalities across
data sources. Developer path IV is the most viable option since Web
services can utilize the full functionality any of the data source
specific APIs provided by ESRI. See the
Developer APIs section for additional details.
A scenario illustrating the development of a custom application Web
service with an ArcGIS Server Local data source is provided here:
Developing an application Web service.
Developing Desktop Client Applications
Desktop client applications are standalone applications with a visual
interface, and have the business logic to consume and process local solutions
or server solutions via the Web or a LAN. In
general, desktop client applications are created
by developers utilizing one or more APIs to
access different functionalities. Those functionalities may include
adding a control for a visual application, or writing code to
access and iterate through a data set. ESRI provides two options
for accessing GIS functionality and services in a custom desktop
client application: ArcGIS Engine and data source specific developer
APIs. Only developer path IV is available for desktop client
applications.
ArcGIS Engine includes a rich set of controls and APIs to interact with
GIS resources locally and consume ESRI data sources remotely.
However, different components must be licensed before being used or
distributed. If the ArcGIS Engine help system is installed, see the
section titled "Building solutions with ArcGIS Engine using .NET" for
additional details.
Any of the data source specific developer APIs provided by ESRI can
be utilized programmatically within a desktop
client application. See the
Developer
APIs section for additional details. A scenario
illustrating the development of a custom desktop client application
with an ArcGIS Server Internet data source is provided here:
Developing
an ArcGIS Server Web service client.
Developing Mobile Applications
Mobile applications are similar to both Web applications and Web
services, but they are usually designed for a specific client
environment, such as PocketPC. The Mobile ADF provides a set
of controls for mobile applications to work with ArcGIS
Server Web services that have enabled the Mobile Data Access
extension. Although a set of controls are provided, most Mobile ADF
developers will follow path IV since it will enable them to take full advantage
of the rich functionality exposed via ArcGIS Server Web services and the
SOAP API. For more information on creating mobile applications, see
the section titled
Developing Mobile Applications using the Mobile ADF .