How To: Create an ODE Java applet


Although Open Development Environment (ODE) for Java can be used in an applet, there are several issues to consider and overcome.


The obstacles to overcome and the solutions to use to overcome them are as follows:

  1. ODE requires the use of Java 2 (Java version 1.2 or later), but most Web browsers only support some flavor of Java version 1.1.

    Solution: Use the Java plug-in. The plug-in is documented at the Java Web site on the Related tab. The only real drawback to this is that end users must install the plug-in on their machines.
  2. ODE must be able to load native libraries and write to the local hard drive. Applets, for security reasons, do not allow these actions.

    Solution: Sign the applets and force the end users to allow the various permissions of these applets on their machines. Explore the Java tutorial, especially the lesson on security.

    The basic idea is to create a certificate to use to encode a Java Archive (JAR) file to put on your Web site. Send the public-key part of the certificate to all clients. They must go through a process that lets their Java Security Manager know that your signed JAR file has full permissions to run.
  3. The end user must install ArcInfo, including the ODE libraries. There is no solution to this. On Windows NT, it is possible to have a working ArcInfo without ODE. Whoever runs workstationsetup.exe needs to make sure that the developer components are installed, preferably on the local hard drive.

    Note that your applet will use up a license.

    The good news is that the server doesn't need to know anything about ArcInfo, nor will it use any licenses.
  4. The applet must be able to find the ODE libraries on the end user machine.

    Solution: Your user will have to set up a copy of ode.jar as an installed extension.

    This means putting it in the lib/ext directory of the Java 2 Runtime Environment. Learn the details in the Java tutorial at the Java Web site.

    Note that the ode.jar file will have to be replaced each time the user gets an updated version of ArcInfo; otherwise, an AiVersionMismatchException will be thrown.
  5. Some of this requires a specialized setup on the client machines. The general recommendation is that if you are simply serving up maps, you should probably just use ArcIMS.

    The only time an ODE solution warrants the effort is when you need to provide capabilities that only ArcInfo has. In that case, the first suggestion is to write a Java application rather than an applet. The trouble of setting up a machine to run an ODE applet usually outweighs the benefit gained because the main point of an applet is that the end user doesn't have to install anything.

Related Information