The source distribution can be used to install both the server and the command-line client sides on Unix and Windows platforms. The prerequisites for the installation are as follows.
Java 1.5.x or higher: Download and install J2SE from http://java.sun.com/j2se/downloads, if you don't have it installed already. Add the Java bin directory to the environment variable PATH. Also set the environment variable JAVA_HOME to point to the top level directory of the JDK installation.
Ant 1.6.1 or higher: Ant is a make-like utility for compiling Java programs. Install Ant from http://ant.apache.org. Set the environment variable ANT_HOME to point to your Ant installation.
Apart from the above packages, the server also requires the following packages:
Tomcat: Tomcat is a servlet container than can be used to host Opal Web services. Opal can be installed inside Tomcat versions 5.0.30 and 5.5.X. A cached version of 5.0.30 may be used, or you may install the binary version of Tomcat 5.5.X from http://jakarta.apache.org/tomcat/. Henceforth, for the purposes of this reference guide, we will refer to the location of the Tomcat installation as CATALINA_HOME.
The following packages are optional:
MPI: If you plan to run your application in parallel, you will need a version of MPI. You will also need to make sure that your SSH keys are set up to be able to run MPI jobs without prompting for a password.
RDBMS: By default, we use a Java-based in-memory and disk-based database (HSQLDB) to persist the state of the services. For production use, we recommend using a real database such as Postgres (version 8.2.4 or higher 8.2 flavors), MySQL (tested with version 5.1.38). or DB2 (tested with version 8.2).
Scheduler Tools: One way to enable access to schedulers is via the Globus Toolkit. The primary requirement is the Opal user must be able to launch jobs on your resources using GRAM via the Globus gatekeeper. In addition, Globus jobmanagers must be available for the particular scheduler that you have installed. We are using Globus version 4.0.X for our development and testing, but you may use any other version as long as the above requirements are met. We have tested Condor for serial jobs only, and SGE for serial as well as parallel jobs. Globus jobmanager plugins are available for both of the above, and must be installed if you plan to use either of them.
Another alternative to access schedulers is via the DRMAA API. The Opal services can submit jobs to schedulers as long as they support the DRMAA API. We have only tested job submits to SGE via DRMAA.
If neither Globus or DRMAA are installed, Opal can be set up to submit jobs directly to schedulers such as Condor or TORQUE.
Finally, from the version 2.1 release of the Opal toolkit, we are supporting the Community Scheduler Framework (CSF4) for scheduling jobs across multiple clusters.