This document was published with ArcGIS 9.3.1.
A 9.3 version also exists.
A 9.3 version also exists.
This topic applies to 9.3.1 and later versions.
| Development licensing | Deployment licensing |
|---|---|
| Server | Server |
The Java Web Application Developer Framework (ADF) is designed to operate independent from any server products, such as ArcGIS Server or ArcIMS. Since it can be installed by itself, it also has the necessary components to work with remote services. In addition, developer IDE plug-ins are included to enhance the developer experience. The following items are included in the Web ADF installation:
- Components
- Web ADF Java Web Controls
- Web ADF Java Connector
- ArcObjects Library
- Enterprise Web ADF Libraries
- Eclipse plug-in
- Developer IDE integration
- Eclipse and NetBeans plug-in are provided to extend a developer's IDE environment. The plug-in includes the Web ADF Controls Snippets, Web application templates, an integrated help system, and server connection preferences.
- Documentation
- Help for Java developers is accessible from a developer's Eclipse environment and as a stand-alone Eclipse developer help system accessed from the install directory. The developer help includes the following:
- Discussions and guidelines on the use of Web ADF components
- Samples
- Library references
Web ADF Components
The Web ADF components are located on disk under '<ARCGISHOME>/java/web/webcontrols' and include all of the native and interop libraries as well as all the core javascript and jsf functionalities.
Web ADF libraries are located under $ARCGISHOME/java/web/webcontrols/WEB-INF/lib and include the following:
- Web ADF native libraries
- arcgis_webcontrols.jar
- arcgis_webcontrols_ags.jar
- arcgis_webcontrols_arcims.jar
- arcgis_webcontrols_arcweb.jar
- arcgis_webcontrols_ejb.jar
- arcgis_webcontrols_wms.jar
- ArcObjects Java interop libraries
- arcobjects.jar
- Web ADF JSF libraries
- arcgis_webcontrols.jar
- Enterprise ADF libraries
- arcgis_ejb.jar
- arcgis_ejb_stubs.jar
- arcgis_jca.jar
- ArcGIS Web Services
- arcgis_agsws_stubs.jar
- arcgis_ws_runtime.jar
- ArcGIS Security
- arcgis_securityapi.jar
- arcgis_securityutil.jar
- ArcGIS Web Map Service (WMS) Client
- arcgis_wmsclient.jar
- arcgis_wmsclient_impl.jar
Map Application Structure
The Web ADF provides developers with a pre-made project skeleton located under $ARCGIS/java/web/web_map_application with the following structure:
|
folder for file
|
explanation
|
|
web_map_application
|
Root map application project folder
|
|
/JavaSource
|
Provided template source code directory. This folder is where you place you own Java Source classes and properties files.
|
|
/WebContent
|
This folder holds the actual Web ADF application files used by the application server.
|
|
/css
|
This folder inside the WebContent folder holds the template stylesheet files you can reference for a consistent look and feel for your application.
|
|
/help
|
This folder inside the WebContent folder holds help system files your application can reference.
|
|
/images
|
This folder inside the WebContent folder holds template image files used in your web map application.
|
|
/js
|
This folder inside the WebContent folder holds client side javascript files referenced by your web application.
|
|
/themes
|
This folder inside the WebContent folder holds all the required stylesheet and image files for the different out-of-the-box web application templates provided by the Web ADF.
|
|
/WEB-INF
|
This folder inside the WebContent folder holds files that are used as part of the runtime Web application but are hidden from your browser.
|
|
/classes
|
This folder inside the WEB-INF folder holds compiled Java classes along with properties files required by the Web ADF. These files are typically copied from JavaSource.
|
|
/functionalities
|
This folder inside of the WEB-INF folder holds extended JSF configuration details.
|
|
faces-config.xml
|
This file inside the WEB-INF folder is the JSF configuration file. This file lists bean resources and map entry configuration information required by your web map application.
|
|
web.xml
|
This file inside the WEB-INF folder is the Web Application Deployment Descriptor for your application. This is an XML file describing servlets and other components that make up your application.
|
|
ajax-renderers.xml
|
This file inside the WEB-INF folder is an extended JSF configuration file which lists AJAX managed bean resources for your web application.
|
Dependant Libraries
The Web ADF follows the Model-View-Controller (MVC) pattern of which we can break into three tiers with respect to the dependent libraries required for your application. Making efficient use of the Web ADF dependent libraries will help ensure your application is optimized with the required library references.
Library reference tiers:
- Core
- Resource
- Business Logic
The core library reference for the Web ADF is arcgis_webcontrols.jar. This will be used by all your Web ADF applications regardless of which resource or required server references are required.
The Resource library reference refers to the type of resource your application will connect to. Below is a list of resources and their required library references:
- ArcGIS Server: arcgis_webcontrols_ags.jar
- ArcIMS: arcgis_webcontrols_arcims.jar
- ArcWeb: arcgis_webcontrols_arcweb.jar
- OGC/WMS: arcgis_webcontrols_wms.jar
The Business logic library reference refers to the controlling logic provided by the resource you are connecting to. Below is a list of resources and their respective business logic libraries:
- ArcGIS Server: arcobjects.jar (local connection) & arcgis_agsws_stubs.jar (remote connection)
- ArcIMS: arcims_jconnect.jar
- ArcWeb: arcgis_arcweb_stubs.jar
- OGC/WMS: arcgis_wmsclient.jar & arcgis_wmsclient_impl.jar
If your application makes exclusive use of an ArcGIS Server local connection resource, then you would need the following Web ADF libraries:
- Core: arcgis_webcontrols.jar
- Resource: arcgis_webcontrols_ags.jar
- Business logic: arcobjects.jar
You do not need to include the libraries for other resources or their respective business logic libraries in this particular application scenario.
Developer IDE integration
Plug-ins are provided for Eclipse and NetBeans which include the WebADF controls, a Web Mapping Application template, integrated help system, and a set of context wizards. More information is provided under the IDE Integration topic.