Installation notes on ArcGIS Enterprise ADF

 

The ArcGIS Server for the Java Platform ADF includes a set of Enterprise JavaBeans. ArcGIS Enterprise JavaBeans (EJB) provides the framework to build and deploy GIS-enabled Java Enterprise Edition (Java EE) applications and services to meet a variety of needs using a variety of clients by exposing ArcGIS Server Object functionality. ArcGIS EJB includes a suite of GIS EJB services including Map, Geocode, Layout, Query, and Network Analysis. ArcGIS EJBs can be deployed across a wide variety of Java EE certified application servers, such as BEA, Oracle, IBM, JBoss, and Sun. Customers can thus leverage the benefits of EJB programming model, against their existing investment in ArcObjects and take advantage of both worlds.

 

The following directory structure explains the relative locations of the CORE EJB COMPONENTS, relative to $ARCGISHOME:

$ARCGISHOME/arcgis/java/ejb

|   arcgis_ejbconfigtool.bat (Config Tool Launcher for Windows)

|   arcgis_ejbconfigtool.properties

|   arcgis_ejbconfigtool.sh ( Config Tool Launcher for Unix)

|   build.properties

|   build.xml

|   quickstart.pdf (Quickstart guide)

|   welcome.html (Welcome to ArcGIS Enterprise ADF product page)

|

|------lib

|      arcgis_ejb.jar (ArcGIS EJBs)

|      arcgis_ejbtools.jar (Dependancy jar for running the config tool)

|      arcgis_jca.jar (JCA jars)

|      arcgis_jca.rar (ArcGIS JCA Connector Archive for deployment)

|

|------templates (templates for generating ejb modules against various application servers)

 

 

The following directory structure explains the relative locations of the EJB SAMPLES, relative to $ARCGISHOME:

$ARCGISHOME/arcgis/java/samples/server/

|

|----mapviewer

|----testarcgisejb (end-to-end connectivity test for ArcGIS EJBs)

|----routefinder

|----webadf_integration

 

For more information on using the EJBs for application development, see the section entitled Building and Deploying Enterprise Applications in the Java Help System.

 

How to set your machine up to use the Enterprise ADF

The following steps are required to use the ArcGIS Server for the Java Platform ADF Web controls and Web Mapping Application:

1. Verify Java 2 Platform Standard Edition (J2SE) SDK is installed. See the system requirements on the ESRI Support Site for supported J2SE SDK versions.

2. Set the environment variables.

3. Verify that you have a supported application server installed. See the system requirements on the ESRI Support Site for supported application servers.  For Sun Java system (formerly Sun ONE) Application Server users see the Additional steps for Sun Java system (formerly Sun ONE) Application Server users below. For WebLogic Server uses see the Additional steps for BEA WebLogic Server users below.

4. To test your EJB deployment, run the sample 'testarcgisejb' Web application from the EJB samples as described above. Instructions for running this application can be found in the same folder.

 

Instructions for performing steps 2 and 3 above are provided below. Step 1 should have already been completed.

 

Once these steps have been completed, ANT (Another Neat Tool) is used to build and deploy applications using the Web Mapping Application. See the ArcGIS Server help for information.

 

How to set the environment variables

Add the following to your system Path environment variable:

PATH=$ARCGISHOME/java/tools/ant/bin

 

 

Tip

  • The environment variable $ARCGISHOME was created during the ArcGIS Server for the Java Platform setup. $ARCGISHOME is the ArcGIS Server for the Java Platform installation location.

 

Set the JAVA_HOME environment variable to the installation location of J2SE SDK. For example:

JAVA_HOME=/opt/jdk1.5

 

For WebSphere Application Server, set the JAVA_HOME environment variable to the J2SE SDK installed with WebSphere Application Server.

For example:

JAVA_HOME=/opt/WebSphere/AppServer/java

 

If you will be using the Apache Web server, append

:$JAVA_HOME/bin

to the system path variable.

 

Arcgisant (the tool you will use for building Web applications) uses the J2SE SDK to encrypt the GIS server password in the web application. Once the Web application is deployed on a Web server, the Web server will decrypt the password at runtime.

 

Additional steps for BEA WebLogic Server users:

If you are using BEA WebLogic Server you will need to edit your commEnv.cmd file. The commEnv.cmd file is located in a similar installation location to: <WebLogic installation directory>/bea/weblogic81/common/bin/commEnv.cmd. Open the commEnv.cmd file in a text editor and add the following line after the comments at the beginning of the file:

set AGS_HOME=<ArcGIS Server for the Java Platform Installation Directory>/arcgis

For example:

set AGS_HOME=/disk1/arcgis

Also, locate the WEBLOGIC_CLASSPATH variable setting and change it to:

set WEBLOGIC_CLASSPATH=$AGS_HOME/java/lib/arcobjects.jar;

$JAVA_HOME/lib/tools.jar;$WL_HOME/server/lib/weblogic_sp.jar;

$WL_HOME/server/lib/weblogic.jar;$WL_HOME/server/lib/ojdbc14.jar

The arcobjects.jar must be the first entry in the WebLogic classpath.  Restart the WebLogic Server.

 

Additional steps for Sun Java system (formerly Sun ONE) Application Server users:

If you are using Sun Java system (formerly Sun ONE) Application Server you will need to edit your server.policy file. The server.policy file is located in a similar installation location to: <Sun Java System Application Server installation directory>/Appserver7/domains/domain1/server1/config/server.policy for version 7.0, and <Sun Java System Application Server installation directory>/Appserver/domains/domain1/config/server.policy for version 8. Open the server.policy in a text editor and add the following lines to the end of the file:

grant {

permission java.util.logging.LoggingPermission "control", "";

permission java.lang.RuntimePermission "shutdownHooks";

permission java.lang.RuntimePermission "modifyThread";

permission java.lang.RuntimePermission "stopThread";

permission java.util.PropertyPermission "JINTEGRA_RELEASEALL_SHUTDOWN_HOOK", "write";

permission java.util.PropertyPermission "JINTEGRA_IUNKNOWN_VARIANT_OBJECTS", "write";

};