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.
ftp://emboss.open-bio.org/pub/EMBOSS/ (see EMBOSS
tar xvf EMBOSS-3.x.x.tar
For EMBOSS-2.9.0 get the patch file, and look at the README.
download something like jakarta-tomcat-*.tar.gz and unpack:
gunzip jakarta-tomcat-*.tar.gz; gtar xvf jakarta-tomcat-*.tar
|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
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:
(using unix authentication)
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);
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
(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.
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):
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.