A
Jemboss server is available at the HGMP for registered users. The user
can download the client from a web-page using Java Web Start. In this way
any updates to the client can be automatically detected and downloaded.
Jemboss uses Java Native Interface (JNI) to enable it to utilise the EMBOSS ajax library. This is used to calculate sequence attributes from any of the numerous formats that EMBOSS can use.
Jemboss currently uses Embreo which is still being developed at the HGMP, to make SOAP calls to the server.
Note, this software has been developed and tested,
so far, using Java1.3.
Directory | Contents |
api | Jemboss API |
lib | related java jar files (soap etc) |
resources | Jemboss property file |
org/emboss/jemboss | Jemboss package |
embreo | Embreo package |
2. Set the classpath
setenv CLASSPATH :lib/soap.jar:lib/xerces.jar:lib/mail.jar:lib/activation.jar:lib/jakarta-regexp-1.2.jar:embreo/embreo-full.jar:.:
3. Compile with java 1.3
javac org/emboss/jemboss/Jemboss.java
4. If you are running in the stand-alone mode (i.e. not using
the server code),
set the environment variable LD_LIBRARY_PATH:
setenv LD_LIBRARY_PATH $emboss/ajax/.libs (where $emboss is the directory of your local EMBOSS installation).
Note: To configure EMBOSS to use the Java Native Interface in Jemboss a "--with-java" and "--with-javaos" need to be used, and pointed at the java (1.3) installation. For example:
./configure --enable-warnings --with-pngdriver=/packages/emboss/png --with-java=/packages/java/jdk1.3/include --with-javaos=/packages/java/jdk1.3/include/solaris
and must not be configured using the --disable-shared configure option.
5. Also, if you are running the standalone version the jemboss.properties file needs to be setup. This file needs to be in the users home directory or the Jemboss resources directory. This file contains the environment variables that are used to run the EMBOSS applications.
For the standalone mode it therefore contains the path information. For example:
plplot=/home/emboss/STABLE/share/EMBOSS/
embossData=/home/emboss/STABLE/share/EMBOSS/data/
embossBin=/home/emboss/STABLE/share/EMBOSS/
embossPath=/bin:/home/clustal/:
acdDirToParse=/packages/emboss/STABLE/share/EMBOSS/acd/
For the client version it will contain the server information. For example:
user.auth=true
server.public=http://pubsoap1.hgmp.mrc.ac.uk/soap/servlet/rpcrouter
server.private=http://privsoap2.hgmp.mrc.ac.uk/cgi-bin/soap.cgi
service.public=JembossServer
service.private=EmbossSoap
The first line in this example (user.auth) means that the server is expecting a username and password, to be able to run the EMBOSS applications. The next two lines are the location of the public and private servers, that the Jemboss client is expecting to access. The last lines in this file are the names of the two servers.
6. To run Jemboss client (client-server mode):
java org/emboss/Jemboss/Jemboss &
or, in the standalone:
java org/emboss/Jemboss/Jemboss local &
The Jemboss server at the HGMP uses two servers. The first is a public server (no authentication necessary), which serves to launch Jemboss and display the program forms and help. To run any of the applications a second, private server is used which requires the username and password to be provided by the user.
The Java server code is in org.emboss.jemboss.server.JembossServer class (and the classes uses org.emboss.jemboss.Ajax org.emboss.jemboss.RunEmbossApplication). This is used for the public Jemboss server at the HGMP. The public methods are then deployed using an Apache TomCat server.
At present most of the private and public server
methods (except those used by the job manager) are provided by this Java
server. However, the private server used at the HGMP runs as a perl script
and this is also provided in the distribution.