Web application Archive erstellen

Dokumente für die Entwicklung von und mit JVx.

Web application Archive erstellen

Postby Development@SIB » Tue Sep 06, 2011 6:36 pm

Um eine Applikation zu installieren/deployen, empfehlen wir die Erstellung eines Web application Archives (WAR). Dieses Format wird von allen namhaften Applikationsservern unterstützt.


Wie ist das Archiv aufgebaut?

<application>.war
..
|- jvxclient.jar
|- <application classes and resources (src.client)>.jar
|- <all shared libs (libs/*.jar)>
|- <all client libs (libs/client/*.jar)>
|- index.html
|- [index_applet.jnlp]
|- [applet.jnlp]
|- [application.jnlp]
|- [favicon.ico]
/- [help]
/- WEB-INF
..
|- web.xml
/- lib
..
|- jvx.jar
|- <application classes and resources (src.server)>.jar
|- <all shared libs (libs/*.jar)>
|- <all server libs (libs/server/*.jar)>
/- rad
..
/- apps
..
/- <your apps>
/- server
..
|- config.xml


Ein Beispiel für einen Deploymentdeskriptor (web.xml) ist hier zu finden.

Wenn die Applikation via Webstart angeboten werden soll, müssen die optionalen jnlp Dateien ebenfalls im Archiv enthalten sein.

Als Startseite (index.html) kann z.B. die Startseite aus unserer Showcase Applikation verwendet werden.

Code: Select all
<html>
  <head>
    <link rel="icon" href="favicon.ico" type="image/x-icon">
    <link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
    <title>Showcase Application</title>
  </head>
  <body marginwidth="0" marginheight="0" topmargin="0" leftmargin="0" bottommargin="0" rightmargin="0" scroll="no">

    <script language="JavaScript" type="text/javascript">
    <!--
      var attributes = {'width':'100\%',
                        'height':'100\%',
                        'align':'top',
                        'vspace':'0',
                        'hspace':'0'};
      var parameters = {'codebase':'.',
                        'code':'com.sibvisions.rad.ui.swing.impl.SwingApplet',
                        'archive':'jvxclient.jar, showcase.jar, jfreechart-1.0.13.jar, jcommon-1.0.16.jar',
                        'name':'Showcase Application',
                        'mayscript':'true',
                        'scriptable':'true',
                        'jnlp_href':'applet.jnlp?install=version11',
                        'separate_jvm':'false',
                        'main':'com.sibvisions.apps.showcase.Showcase',
                        'config':'/com/sibvisions/apps/showcase/application.xml',
                        'Application.connectionClass':'com.sibvisions.rad.remote.http.HttpConnection'};

      var doc = '<object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" ' +
                        'codebase="http://java.sun.com/update/1.6.0/jinstall-6u20-windows-i586.cab#Version=6,0,0,2"';
      for (var attribute in attributes) {
        doc += (' ' + attribute + '="' + attributes[attribute] + '"');
      }
      doc += '>';
      for (var parameter in parameters) {
        doc += '<param name="' + parameter + '" value="' + parameters[parameter] + '">';
      }
      doc += '<embed type="application/x-java-applet"';
      for (var attribute in attributes) {
        doc += (' ' + attribute + '="' + attributes[attribute] + '"');
      }
      for (var parameter in parameters) {
        doc += (' ' + parameter + '="' + parameters[parameter] + '"');
      }
      doc += '></embed>';
      doc += '</object>';

      document.writeln(doc);
    //-->
    </script>

  </body>
</html>

Wenn der Parameter jnlp_href verwendet wird, sollte bei jedem Deployment die Version hochgezählt werden, damit der Client eine Aktualisierung durchführen kann.

Die verwendete applet.jnlp

Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<jnlp
  spec="1.0+"
  codebase="http://servername/showcase">
  <information>
    <title>Showcase Application</title>
    <vendor>SIB Visions GmbH</vendor>
    <description>Showcase Application</description>
    <description kind="short">Showcase Application</description>
  </information>
  <resources>
    <j2se version="1.5+"/>
    <jar href="jvxclient.jar" main="true"/>
    <jar href="showcase.jar"/>
    <jar href="jfreechart-1.0.13.jar"/>
    <jar href="jcommon-1.0.16.jar"/>
  </resources>
  <applet-desc
    name="Showcase Application"
    main-class="com.sibvisions.rad.ui.swing.impl.SwingApplet"
    width="1024"
    height="768">
    <param name="main" value="com.sibvisions.apps.showcase.Showcase"/>
    <param name="config" value="/com/sibvisions/apps/showcase/application.xml"/>
    <param name="Application.connectionClass" value="com.sibvisions.rad.remote.http.HttpConnection"/>
    <param name="Application.Menu.exit.visible" value="false"/>
  </applet-desc>
</jnlp>


Im Download sind ebenfalls Beispiele für die Webstart (jnlp) Dateien enthalten.
User avatar
Development@SIB
 
Posts: 310
Joined: Mon Sep 28, 2009 1:54 pm

Return to Dokumentation