Launching Jemboss from Your Web Site

The reason Java Web Start is used at the HGMP to launch Jemboss is because it is able to check the web server to see if there are any updates to the client for it to retrieve. It also means that it is easy to download it on a Java enabled machine from a web browser.

A script is provided to help setup a Jemboss launch web-page for sites with their own Jemboss server installed. The script should be run from the EMBOSS installed location (rather than the EMBOSS download area) because it will include in the jar files it makes, any client keystore file necessary if SSL is used for client-server communication. It produces the signed jar files and the Jemboss JNLP (Java Network Launching Protocol) file. The script can be run from:

cd $EMBOSS_INSTALL/share/EMBOSS/jemboss/utils
./makeJNLP.sh.

This script will create the signed jar files that are downloaded (via http) using Java Web Start. The 'index.html' created needs to be edited to point at the 'Jemboss.jnlp' file on your http server. The 'Jemboss.jnlp' files needs to be edited to point the codebase at the directory containing the jar files.

For your http server to recognise the jnlp application, the following line needs to be added to the mime.types file on the server side:
application/x-java-jnlp-file jnlp


  The following shows what the above script will cover and produce, and may be useful if you are not using the script or wish to understand further what is necessary to setup the web launch page. The format of the jnlp is:

<?xml version="1.0" encoding="UTF-8"?>
<jnlp
   spec="1.0+"
   codebase="jnlp_axis"
   href="Jemboss.jnlp">
    <information>
      <offline-allowed />
    </information>
    <information>
      <title>Jemboss</title>
      <vendor>HGMP-RC</vendor>
      <homepage href="/Jemboss/"/>
      <description>Jemboss</description>
      <description kind="short">User interface to EMBOSS.
      </description>
      <icon href="../Jemboss_logo_large.gif"/>
    </information>
    <security>
      <all-permissions/>
    </security>
    <resources>
      <j2se version="1.3+"/>
        <jar href="saxis.jar"/>
        <jar href="scommons-logging.jar"/>
        <jar href="scommons-discovery.jar"/>
        <jar href="sJemboss.jar" main="true"/>
        <jar href="sjakarta-regexp-1.2.jar"/>
        <jar href="sjalview.jar" download="lazy"/>
        <jar href="sJembossPrintAlignment.jar"/>
        <jar href="sjcert.jar"/>
        <jar href="sjnet.jar"/>
        <jar href="sjsse.jar"/>
        <jar href="ssaaj.jar"/>
        <jar href="sxerces.jar"/>
    </resources>
    <application-desc main-class="org.emboss.jemboss.Jemboss"/>
  </jnlp>
 
 

For your http server to recognise the jnlp application, the following line needs to be added to the mime.types file:
application/x-java-jnlp-file jnlp

Create the Jemboss.jar file, using $EMBOSS_ROOT/utils/makeJar.csh. Then create the signed jar files (e.g. sJemboss.jar, ssoap.jar, sjakarta-regexp-1.2.jar, sxerces.jar, sactivation.jar). The Jemboss.jar you make should contain the jemboss.properties file that defaults the client to the server at your site.
To create Jemboss.jar:

cd $EMBOSS_ROOT/jemboss/utils
makeJar.csh

You can use Java 'keytool' to generate your own keystore:
keytool -genkey -alias signFiles -keypass yourKeyPass -keystore jembossstore -storepass yourStorePass

Replacing 'yourKeyPass' and 'yourStorePass' with your own passwords.

 Then use jarsigner to sign all the jar files:
jarsigner -keystore jembossstore -signedjar sJemboss.jar Jemboss.jar signFiles
Enter Passphrase for keystore: <yourKeyPass>
Enter key password for signFiles: <yourStorePass>