Difference: LaunchingAPPXDesktopClientFromWebPageViaJavaWebstart (71 vs. 72)

Revision 722016-03-01 - JeanNeron

Line: 1 to 1
 
META TOPICPARENT name="SystemAdministration"

APPX Desktop Client Launched via Java Web Start

Changed:
<
<
This document will explain how to start the APPX Desktop Client via Java Web Start Technology.
>
>
This document will explain how to start the APPX Desktop Client via Java Web Start Technology.
 

Overview

Changed:
<
<
When you publish the APPX Desktop Client using Java Web Start technology you ensure the most current version of the application will be deployed, as well as the correct version of the Java Runtime Environment (JRE). Since the APPX Desktop Client will only be configured on the web server, you will not need to install the client on each desktop in your enterprise, just have the user base run the application for a published URL. This document applies to APPX Desktop Client version 5.2.2. These instructions do not require any APPX server configuration other than an APPX Login Manager configured to accept logins. APPX server on any platform may be connected to via the client when launched with Java Web Start. The size of the APPX Java Web Start bundle is about 18 MB. When the APPX Desktop Client is run for the first time, Java Web Start will download the entire package; the next time it will check only for modified jar files (an upgrade) and download them. If this is not the case, the application will start immediately.
>
>
When you publish the APPX Desktop Client using Java Web Start technology you ensure the most current version of the application will be deployed, as well as the correct version of the Java Runtime Environment (JRE). Since the APPX Desktop Client will only be configured on the web server, you will not need to install the client on each desktop in your enterprise, just have the user base run the application for a published URL. This document applies to APPX Desktop Client version 5.2.2 and higher. These instructions do not require any APPX server configuration other than an APPX Login Manager configured to accept logins. The size of the APPX Java Web Start bundle is about 18 MB. When the APPX Desktop Client is run for the first time, Java Web Start will download the entire package; the next time it will check only for modified jar files (an upgrade) and download them. If this is not the case, the application will start immediately.
 

Required software components

APPX Desktop Client Java Web Start Bundle

You can get the APPX Desktop Client Java Web Start Bundle from the Desktop Downloads page.

Deleted:
<
<

APPX Server

You need a functioning APPX installation. Follow the installation instructions for the release to install APPX.

 

Web Server

You need a functioning web server configured with jnlp mime type support. Apache and IIS are two common servers.

Line: 18 to 14
 

Web Server

You need a functioning web server configured with jnlp mime type support. Apache and IIS are two common servers.

Deleted:
<
<
 

Quick steps

Changed:
<
<

APPX Desktop Client Java Web Start Bundle

>
>
  • Make sure your Web Server can process .jnlp files
 
  • Unbundle the APPX Desktop Client Java Web Start Bundle files into a directory off of your web server's web root.
Changed:
<
<
  • Configure the .html file to link to the .jnlp file.
  • Edit the .jnlp file and modify any href tags to fit your web server.
  • Web Server .jnlp mime type settings
    • Apache
      • /etc/mime.types

APPX Server

Install the APPX Server. No special configuration is needed in the APPX Server for APPX Desktop Client connectivity when launched via Java Web Start, just make sure you have an APPX Client Manager ( Unix or Linux or Windows) listening and accepting logins.

>
>
  • Edit the .jnlp file and modify the codebase URL and any href tags to suit your APPX installation.
 

Detailed steps

Here are the steps I used to load the APPX Desktop Client via Java Web Start. These instructions assume that you already have a working installation of APPX Server that is configured with a Client Manager ( Unix or Linux or Windows) and accepting logins. You must also have a web server installed and started.

Line: 38 to 24
 

Download and place the APPX Desktop Client Java Web Start Bundle.

For a Windows Web Server, download the Java Web Start Bundle and place the bundle in a directory off of your web server's web root. Extract the files using the appropriate command (tar or zip).

Changed:
<
<

appx32.gif

The appx32.gif file is the file used as an application runtime icon. It is referenced by the appx.jnlp file that we review later in this document.

appx32.png

The appx32.png file is the file used in a popup in the index.html file that we review later in this document.

appx.css

The appx.css contains css formatting and is referenced in the index.html file that we review later in this document.

README.txt

README.txt contains the following very brief instructions to the reader.

Place these files on your web server.

You need to change one item, replace appxjwsclient.example.com with the hostname and URL to the location of your files.

In appx.jnlp:
    codebase="http://appxjwsclient.example.com/" 

Please see our Wiki at http://wiki.appx.com/wiki/bin/view/Main/LaunchingAPPXDesktopClientFromWebPageViaJavaWebstart for further documentation. 

appx.html

The appx.html file exists only to provide the user with a link to click the appx.jnlp file. It is not technically needed because if someone entered the path to the jnlp file the application would launch just the same as if the jnlp file had been clicked from a link in the html file. Let's take a look at the appx.html file. This file is just a starter file that you can use to load the .jnlp file. There is a bit of javascript code that attempts to detect if a JRE is installed on the user's desktop for the Java Web Start launch. If the JRE needs to be installed or updated the script will either attempt to update the JRE or present the user with the appropriate link to download the software manually.

appx.html contents

[joe@webserver appx]$ *cat appx.html*

<HTML>
   <HEAD>
      <TITLE>APPX Desktop Client Web Start</TITLE>
      <body link="#333333" vlink="#444444" alink="#106D86"> 
   </HEAD>
   <BODY BGCOLOR=#146C86>
      <font face="Verdana, Arial, Helvetica, sans-serif" size="2">
      <font color=white>
      <center>
      
      <hr>
      <font veranda>
      <font style=bold>
      <font size=13pt>
      <font color=white>
APPX Desktop Client Web Start Demonstration
      
      <h3>
Clicking the icon below will attempt to detect if the correct Java JRE is installed, and if possible install it.  If the installer determines you need an updated JRE but it can't auto install a JRE, it will place you on Sun's download page for your platform.  After the JRE requirement is met, the APPX Desktop Client will be downloaded and launched.
      <hr>
      
      <h3>
      <!--<A HREF="http://www.example.com/appx/appx.jnlp">Click</a> To Launch the APPX Desktop Client Demonstration-->
      <!-- Start of Sun's deployJava.js script that attempts to detect if Java is installed and install it or updated -->
      <!-- as needed for Windows, Linux and Mac.  Sun encourages you to hotlink their version of the script -->
      <!-- because they update it as needed.  At the moment, the Windows platform has the best support for detection -->
      <!-- This deployJava.js script is meant to replace the A HREF line above, so we've left it commented out -->
      <script src="http://java.com/js/deployJava.js"></script>
      <script>
         var url = "http://www.example.com/appx/appx.jnlp";
         deployJava.launchButtonPNG = "http://www.example.com/appx/APPXLaunchButton.png";
         deployJava.createWebStartLaunchButton(url, '1.6+');
      </script>
      <BR>
      <hr>
      <h5>Please see our <a href=http://wiki.appx.com/wiki/bin/view/Main/LaunchingAPPXDesktopClientFromWebPageViaJavaWebstart>Wiki</a> for further documentation. 
   </BODY>
</HTML>

[joe@webserver appx]$ 

appx.html modifications

You should change the following two URL values in your appx.html file to match your site.

         var url = " http://www.example.com/appx/appx.jnlp ";
         deployJava.launchButtonPNG = " http://www.example.com/appx/APPXLaunchButton.png ";

splash.gif

This is the initial image displayed while the APPX Desktop Client is loading, it is referenced by name in the appx.jnlp file.

APPXLaunchButton.png

APPXLaunchButton.png is an image file that is displayed for the user to click to begin the JRE detection and ultimately start the APPX Desktop Client.

appx-nativelib.jar

The appx-nativelib.jar file contains platform specific files for the proper execution of the appx.jar file.

appx.jar

>
>

index.html

 
Changed:
<
<
The APPX Desktop Client in Java jar format.
>
>
The index.html file is a starter file that loads the .jnlp file. There is a bit of javascript code that attempts to detect if a JRE is installed on the user's desktop for the Java Web Start launch. If the JRE needs to be installed or updated the script will either attempt to update the JRE or present the user with the appropriate link to download the software manually. You can customize this file as desired. Alternatively, some browsers will open the .jnlp file directly.
 

appx.jnlp

Changed:
<
<
This is an XML file that defines the environment that the APPX Desktop Client will run it. The file is made up of elements, element values, element stanzas and comments. The file is documented with comments. Now take a look at the appx.jnlp file.
appx.jnlp contents
>
>
This is an XML file that defines the environment for the APPX Desktop Client. The file is made up of elements, element values, element stanzas and comments. The file is documented with comments. The only change required is the URL of the appx.jnlp file. For example, if we installed the web start bundle in the 'appx' folder of our 'www.abc-company.com' web site, then we would change the 'codebase' line to:
 
Changed:
<
<
[joe@webserver appx]$ *cat appx.jnlp*
<?xml version="1.0" encoding="utf-8"?>
<!-- JNLP File for APPX Desktop Client -->
<jnlp
  spec="6.0+"
  codebase="http://appxjwsclient.example.com/"
  href="appx.jnlp">
  <information>
    <title>APPX</title>
    <vendor>APPX Software, Inc.</vendor>
    <homepage href="http://www.appx.com"/>
    <description>APPX</description>
    <description kind="short">APPX</description>
    <description kind="tooltip">APPX 5.2.2 via JWS</description>
    <icon href="appx32.gif"/>
    <icon kind="shortcut" href="appx32.gif" width="32" height="32"/>
    <icon href="splash.png" kind="splash"/>
    <icon href="appx32.gif" kind="default"/>
    <shortcut online="false">
        <desktop/>
            <menu submenu="APPX">
            </menu>
    </shortcut>
<!--    <offline-allowed/> -->
  </information>
  <security>
      <all-permissions/>
  </security>
  <resources os="Linux" arch="x86">
    <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/>
    <property name="swing.noxp" value="true"/>
    <jar href="appx.jar"/>
    <nativelib href="lib/appx-nativelib.jar"/>
    <jar href="lib/capsapi_classes.jar"/>
    <jar href="lib/ckeditor_linux.jar"/>
    <jar href="lib/DJNativeSwing.jar"/>
    <jar href="lib/DJNativeSwing-SWT.jar"/>
    <jar href="lib/js.jar"/>
    <jar href="lib/jsoup.jar"/>
    <jar href="lib/outldd.jar"/>
    <jar href="lib/swt_linux_32.jar"/>
    <jar href="lib/SyntaxHighlighter.jar"/>
  </resources>
  <resources os="Linux" arch="i686">
    <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/>
    <property name="swing.noxp" value="true"/>
    <jar href="appx.jar"/>
    <nativelib href="lib/appx-nativelib.jar"/>
    <jar href="lib/capsapi_classes.jar"/>
    <jar href="lib/ckeditor_linux.jar"/>
    <jar href="lib/DJNativeSwing.jar"/>
    <jar href="lib/DJNativeSwing-SWT.jar"/>
    <jar href="lib/js.jar"/>
    <jar href="lib/jsoup.jar"/>
    <jar href="lib/outldd.jar"/>
    <jar href="lib/swt_linux_32.jar"/>
    <jar href="lib/SyntaxHighlighter.jar"/>
  </resources>
  <resources os="Linux" arch="amd64">
    <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/>
    <property name="swing.noxp" value="true"/>
    <jar href="appx.jar"/>
    <nativelib href="lib/appx-nativelib.jar"/>
    <jar href="lib/capsapi_classes.jar"/>
    <jar href="lib/ckeditor_linux.jar"/>
    <jar href="lib/DJNativeSwing.jar"/>
    <jar href="lib/DJNativeSwing-SWT.jar"/>
    <jar href="lib/js.jar"/>
    <jar href="lib/jsoup.jar"/>
    <jar href="lib/outldd.jar"/>
    <jar href="lib/swt_linux_64.jar"/>
    <jar href="lib/SyntaxHighlighter.jar"/>
  </resources>
  <resources os="Linux" arch="x86_64">
    <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/>
    <property name="swing.noxp" value="true"/>
    <jar href="appx.jar"/>
    <nativelib href="lib/appx-nativelib.jar"/>
    <jar href="lib/capsapi_classes.jar"/>
    <jar href="lib/ckeditor_linux.jar"/>
    <jar href="lib/DJNativeSwing.jar"/>
    <jar href="lib/DJNativeSwing-SWT.jar"/>
    <jar href="lib/js.jar"/>
    <jar href="lib/jsoup.jar"/>
    <jar href="lib/outldd.jar"/>
    <jar href="lib/swt_linux_64.jar"/>
    <jar href="lib/SyntaxHighlighter.jar"/>
  </resources>
  <resources os="Windows" arch="x86">
    <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/>
    <property name="swing.noxp" value="true"/>
    <jar href="appx.jar"/>
    <nativelib href="lib/appx-nativelib.jar"/>
    <jar href="lib/capsapi_classes.jar"/>
    <jar href="lib/ckeditor_win.jar"/>
    <jar href="lib/DJNativeSwing.jar"/>
    <jar href="lib/DJNativeSwing-SWT.jar"/>
    <jar href="lib/js.jar"/>
    <jar href="lib/jsoup.jar"/>
    <jar href="lib/outldd.jar"/>
    <jar href="lib/swt_win_32.jar"/>
    <jar href="lib/SyntaxHighlighter.jar"/>
  </resources>
  <resources os="Windows" arch="amd64">
    <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/>
    <property name="swing.noxp" value="true"/>
    <jar href="appx.jar"/>
    <nativelib href="lib/appx-nativelib.jar"/>
    <jar href="lib/capsapi_classes.jar"/>
    <jar href="lib/ckeditor_win.jar"/>
    <jar href="lib/DJNativeSwing.jar"/>
    <jar href="lib/DJNativeSwing-SWT.jar"/>
    <jar href="lib/js.jar"/>
    <jar href="lib/jsoup.jar"/>
    <jar href="lib/outldd.jar"/>
    <jar href="lib/swt_win_64.jar"/>
    <jar href="lib/SyntaxHighlighter.jar"/>
  </resources>
  <resources os="Mac OS" arch="x86_64">
    <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/>
    <property name="swing.noxp" value="true"/>
    <jar href="appx.jar"/>
    <nativelib href="lib/appx-nativelib.jar"/>
    <jar href="lib/capsapi_classes.jar"/>
    <jar href="lib/ckeditor_osx.jar"/>
    <jar href="lib/DJNativeSwing.jar"/>
    <jar href="lib/DJNativeSwing-SWT.jar"/>
    <jar href="lib/js.jar"/>
    <jar href="lib/jsoup.jar"/>
    <jar href="lib/outldd.jar"/>
    <jar href="lib/swt_osx_64.jar"/>
    <jar href="lib/SyntaxHighlighter.jar"/>
  </resources>
  <application-desc main-class="start.Appx">
    <argument>-windowTitle=APPX Desktop JWS Client - $(host):$(port) PID:$(pid)</argument>
    <argument>-resizeMainWindowPane=true</argument>
    <!-- <argument>-screenRows=35</argument> -->
    <!-- <argument>-screenColumns=128</argument> -->
    <!-- <argument>-remotePort=1</argument> -->
    <!-- <argument>-remoteHost=www.example.com</argument> -->
    <!-- <argument>-rows=28</argument> -->
    <!-- <argument>-cols=110</argument> -->
    <!-- <argument>-useScrollNavBar=true</argument> -->
    <!-- <argument>-arrowScrollRegion=true</argument> -->
    <!-- <argument>-dockingScrollbar=false</argument> -->
  </application-desc> 
  <update check="always" policy="prompt-update"/>
</jnlp> 

[joe@webserver appx]$ 

appx.jnlp modifications

You should change the following URL value in your appx.jnlp file to match your site.

         
codebase="http://appxjwsclient.example.com/"
>
>
codebase="http://www.abc-company.com/appx/"
 
Changed:
<
<
Towards the end of the appx.jnlp file, notice the application-desc elements with argument attributes of -windowTitle, -remoteHost ... You can add any APPX Desktop Client startup parameter that you normally find when you select Options, Advanced upon initially starting the APPX Desktop Client.
>
>
At the bottom of the appx.jnlp file, notice the application-desc elements with argument attributes of -windowTitle, -remoteHost, etc. You can add any APPX Desktop Client startup parameter to this section. To see the allowed parameter names, look under 'File->Preferences' after you have logged on.
 
Changed:
<
<
Table of possible element / attribute available to you in a JNLP file.
>
>
Table of possible element / attribute available in a JNLP file.
 
Line: 1699 to 1437
 [joe@webserver /]$
Changed:
<
<
Or, if you wish to modify an .htaccess file in your http://www.example.com/appx/ directory, and your web server is configured to allow .htaccess modifications then try the following syntax which will grep for the jnlp entry, and if not found will append an entry for jnlp support.
>
>
Or, if you wish to modify an .htaccess file in your http://www.example.com/appx/ directory, and your web server is configured to allow .htaccess modifications then try the following syntax which will grep for the jnlp entry, and if not found will append an entry for jnlp support.
 
[joe@webserver /]$ *grep -qs 'application/x-java-jnlp-file' /var/www/html/appx/.htaccess || echo 'AddType application/x-java-jnlp-file jnlp' >> /var/www/html/appx/.htaccess* 
[joe@webserver /]$ 

Line: 1743 to 1481
 
  • To clear the Web Start Cache
    • javaws -uninstall This will remove all cached applications.
  • Clear Browser's temporary files.
Changed:
<
<

Comments:

>
>

Comments:

  Read what other users have said about this page or add your own comments.
Deleted:
<
<
<--/commentPlugin-->
-- JoeOrtagus - 04 Mar 2009
 \ No newline at end of file
Added:
>
>
<--/commentPlugin-->
-- JoeOrtagus - 04 Mar 2009
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback