Server Setup

Background

    The Jemboss server has been installed under linux, AIX, MacOSX, irix, Solaris, HP-UX and preliminary testing on OSF. It has mainly been tested on linux and solaris operating systems but some testing has been carried out on the other operating systems.

    The server setup is very much dependent on the local environment and the level of security necessary for a site. So there are a number of ways that the server can be set up. The install script leads the administrator through the server setup offering all available options. It is possible to set up a basic non-authenticated and non-encrypted server. This may be suitable for sites in which the server is only available internally. A more secure server can be set up which uses SSL for data encrytion.

    Axis (SOAP) is used to communicate between the client and the server, Apache Tomcat is used to deploy the Jemboss Axis services.

    Some EMBOSS applications that are thought to be CPU intensive are automatically run in a batch mode. This is implemented in the distribution by backgrounding the process. Alternatively, it is possible to change the Jemboss server to create a script and send it to a batch queueing system (see "Site Specific Modifications" below).

    SSL (Secure Socket Layer) can be chosen to provide data transfer encryption. This will make the initial connection time of the client to the server a few seconds longer whilst the client certificate is verified. If SSL is used then the certificate for the client (in client.keystore) needs to be in the resources directory; if Jemboss is distributed as a jar file (e.g. when using java web start) then this needs to wrapped in a client.jar file in the same directory. The certificates expire after about 3 months. Replacement SSL certificates can be created after running the install scripts by using the keys.sh script (which can be found in the utils directory of the Jemboss distribution) to generate new client and server keystores. This will then need to be included in the client jar file.

    Unix authentication can be set up for the server. This means that before a user can run the Jemboss server they will be prompted for their unix username and password.

    Note for Linux NFS installations: It is recommended that the Jemboss installation is done to a local hard disc. If you install over NFS and Jemboss appears to run the EMBOSS executable very slowly then reconfigure your kernel and include NFS3 support. This need has been noted on some RedHat installations.

SGI port notes.
 


Instructions for Using the Install Script

1. Downloads

  • Get the latest version of EMBOSS (which contains Jemboss and JSSE)
  • ftp://emboss.open-bio.org/pub/EMBOSS/   (see EMBOSS download)
    gunzip EMBOSS-3.x.x.tar.gz
    tar xvf EMBOSS-3.x.x.tar
     
    For EMBOSS-2.9.0 get the patch file, and look at the README.

  • Get the binary version of Tomcat from Apache, (use gnu tar to untar). Use the latest Tomcat 5.x.
  • download something like jakarta-tomcat-*.tar.gz and unpack:
    gunzip jakarta-tomcat-*.tar.gz; gtar xvf jakarta-tomcat-*.tar
     

  • Download and unpack Axis (SOAP) (Simple Object Access Protocol)! Axis 1.0 has been used and tested. SOAP is the protocol used to transfer the data between the Jemboss server and the client.
     
    2. Site Specific Modifications

    (a) The default directory for the users directories and results on the server is set to /tmp/SOAP/emboss. It is recommended that this is changed as on some operating systems the /tmp directory is cleared on rebooting. This will also be the directory where logs are stored. Protections for these directories must typically be rwxrwxrwt. The install script will prompt you for the directory you want to use.
     

    (b) Access is made available to the users' home directory structures on the server machine, through the "Remote File Manager". The remote file manager has a combo box selection of the available root directories and by default includes the "HOME" in the selection. It also has the "EMBOSS RESULTS" directory and the path to this may need to be changed to what it has been defined as in 2(a). The selection of root directories can be changed and added to in:

    EMBOSS-2.x.x/jemboss/org/emboss/jemboss/server/JembossFileAuthServer.java    (using unix authentication)
    or
    EMBOSS-2.x.x/jemboss/org/emboss/jemboss/server/JembossFileServer.java        (without unix athentication)

    additional root directories can be made available to the user by adding to the Vector in the embreo_roots() method. For example, if you want to make available a scratch directory to the user:

       File fscratch = new File("/data/scratch/"+userName);
       if(fscratch.exists())
       {
          vans.add("SCRATCH");
          vans.add("/data/scratch/"+userName);
       }

    this adds the name of the root directory ("SCRATCH") to the popup combo selection if the user scratch directory exists and the next line adds the path to the users' directories.
     

    (c) Directing batch processes to a network queueing software.


     
    3. Install Script

    This install script automates most of the Jemboss server installation and the associated EMBOSS configuration and installation.

    The script asks for the locations of the EMBOSS download, EMBOSS installation, Tomcat, Axis and Java directories. Axis is added to the Tomcat (copying soap.war to $TOMCAT/webapps/ ). The Jemboss server classes are added to the Tomcat CLASSPATH ($TOMCAT/webapps/axis/WEB-INF/classes/). A jemboss.properties file is created for the server and client to use. A deployment XML descriptor is created and is used to deploy the SOAP services.

    SSL data encryption and/or unix authentication can be selected.

    The install script is preferably run by the user that will run the Tomcat server (not root). That user should own the EMBOSS and Tomcat/SOAP directories. If unix user authentication has been selected then you will need to set up a tomcat user account to run the server. The UID of the tomcat user needs to specified (this is prompted for by the script).

    The script prompts for a port number for Tomcat to use. You will be given the option for the script to automatically deploy the methods (in Tomcat) used by Jemboss. If data encryption is selected then you will need to follow the instructions printed to the screen to edit the Tomcat server.xml file.

    Notes on authentication methods.
    Notes for MacOSX installation.

    Running the Install Script (all platforms):

    go to the utils directory in the Jemboss distribution in EMBOSS.
    cd EMBOSS-2.x.x/jemboss/utils

    The script to run is install-jemboss-server.sh.

    Two new scripts are created to start ('tomstart') and to stop ('tomstop') the Tomcat server.


    4. After Installing the Jemboss Server

    Goto the jemboss directory in the EMBOSS install directory and try running the client by running the script (in $EMBOSS_INSTALL/share/EMBOSS/jemboss):

    ./runJemboss.csh

    Launching Jemboss from a website using your server.

    Installing EMBASSY packages.

    It may be necessary to add programs to embossPath in 'jemboss.properties'. For example, the path for clustalw needs to added for 'emma' to run. More on jemboss.properties.