Client application Java Network Launcher Protocol deployment descriptor file

The deployment descriptor file is the main Java Network Launcher Protocol (JNLP) descriptor file for the client application.

Location

The client application has an Application Clients run-time dependency that provides the following: If the Application Clients run-time dependency is not met, it is downloaded and installed in Java Web Start (JWS), as described by the Application Clients run-time installer JNLP descriptor file.
<j2se version="WASclient6.0" href="/WebSphereClientRuntimeWeb/Runtime/jnlp.jsp"/>

Usage notes

The client application must also include the WebSphereClientLauncher.jar file, which contains the launcher class, com.ibm.websphere.client.launcher.ClientLauncher, that completes one of the following actions:
  • If it is a J2EE Application client application (that is the resources for the application contain an EAR file with a client application), then the launcher class starts a second Java Virtual Machine (JVM) using the JRE provided by the Application Clients run-time dependency and launches the J2EE Application client application that is packaged in the EAR file.
    The EAR file must be specified as a JAR resource so that it can be downloaded to JWS and specified in the system property, com.ibm.websphere.client.launcher.ear. See the following example for details:
    <resources>
    <j2se version="WASclient6.0" href="/WebSphereClientRuntimeWeb/Runtime/jnlp.jsp"/>
    <jar href="Launcher/WebSphereClientLauncher.jar" main="true"/>
    <jar href="lib/j2eeclient.ear"/>
    <property name="com.ibm.websphere.client.launcher.ear" value="j2eeclient.ear"/>
    </resources>
  • If it is a Thin Application client application, then the launcher class uses the current JVM from the Application Clients run-time dependency and invokes the Thin Application client application main method.
    The Thin Application client application JAR file must be specified as a JAR resource so that it can be download to JWS and the name of the class containing main method entry point is specified in the system property, com.ibm.websphere.launcher.main.
    <resources>
    <j2se version="WASclient6.0" href="/WebSphereClientRuntimeWeb/Runtime/jnlp.jsp"/>
        <extension name="WebSphere Runtime" 
                           href="/WebSphereClientRuntimeWeb/Runtime/WebSphereJars/jnlp.jsp"/>
        <jar href="Launcher/WebSphereClientLauncher.jar" main="true"/>
        <jar href="lib/thinclient.jar"/>
        <property name="com.ibm.websphere.client.launcher.main" 
                         value="myapp.sample.thinclient.ThinClientMain”/>
    
    </resources>
    Unlike the J2EE Application client application, the Thin Application client application is not loading the Application Clients run-time library JAR files from the Application Clients run-time dependency. It is downloaded from the server directly as it is for the Thin Application client application JAR file. An Application Clients run-time library component JNLP descriptor is used for specifying the Application Clients run-time library JAR files resources, as shown in the following example:
    <extension name="WebSphere Runtime" 
                       href="/WebSphereClientRuntimeWeb/Runtime/WebSphereJars/jnlp.jsp"/>
    

    The JNLP specification requires all the resource (JAR or EAR) files used in a JNLP file to be signed.

    You can specify the –CC arguments defined in the launchClient tool for a J2EE Application client application in application arguments section of the JNLP descriptor files. However, only –CCD is supported for a Thin Application client application to define system properties and the JNLP <property> tag can also be used to define system properties. See the following example for details:
    <property name="java.naming.provider.url" value="corbaloc:iiop:myserver.com:9089"/>
    For a J2EE Application client application, specify the following application arguments as defined in the JNLP.
    1. Specify your target server provider URL, as shown in the following example:
      <argument> >-CCDjava.naming.provider.url =corbaloc:iiop:myserver.mydomain.com:9080 </argument>
    2. Specify the SSL Key File and SSL Trust File location. These files are expected to be available in the client machine. To use the ones in the Application Clients run-time dependency installed in JWS cache, specify these application arguments:
      <argument> -CCDcom.ibm.ssl.keyStore=${WAS_ROOT}/etc/DummyClientKeyFile.jks </argument>
      <argument>-CCDcom.ibm.ssl.trustStore=${WAS_ROOT}/etc/DummyClientTrustFile.jks </argument>
    3. Specify the initial naming context factor, as shown in the following example:
      <argument>-CCDjava.naming.factory.initial=com.ibm.websphere.naming.WsnInitialContextFactory </argument>
      For a Thin Application client application, you also need to specify the actual location of the sas.client.props file located in the Application Clients run-time dependency that is installed in the JWS cache.
      <argument>-CCDcom.ibm.CORBA.ConfigURL=file:${WAS_ROOT}/properties/sas.client.props </argument>
      If any of the default settings in the sas.client.props file need modifying, use the –CCD to change the settings through the system properties, as shown in the following example:
      <argument>-CCDjavacom.ibm.CORBA.securityEnabled=false </argument>
      Note: The ${app_server_root} token used in the JNLP file is replaced by the launcher class, com.ibm.websphere.client.launcher.ClientLauncher, to the actual location of the Application Clients run-time dependency installation in the JWS cache. If you are using JSP to dynamically create this JNLP description file, you must escape this token because it has a different meaning in JSP 2.0. See the following example for details:
      <argument>-CCDcom.ibm.ssl.keyStore=\${WAS_ROOT}/etc/DummyClientKeyFile.jks </argument>
      <argument>-CCDcom.ibm.ssl.trustStore=\${WAS_ROOT}/etc/DummyClientTrustFile.jks </argument>

Example

Here is an example of the client application JNLP descriptor file for a J2EE Application client application.
<%--    This is a generic jnlp for a client app.  It will specify the WAS JRE    
			 as a dependency as well as the client launcher 
-->
<%! private final String description="J2EE Client Example";   	private final 
String earName="J2EEWebStart.ear"; 
%>
<%  // locally declared variable     

String	urlSt = request.getRequestURL().toString();     
String	jnlpCodeBase=urlSt.substring(0,urlSt.lastIndexOf('/'));     
String	jnlpRefURL=urlSt.substring(urlSt.lastIndexOf('/')+1,urlSt.length());     
// The client application descriptor noted a resource reference to be resolved at deploy time as following 
%>
<%--     
	Need to set a JNLP mime type - if Web Start is installed on the client,     
	this header will induce the browser to drive the Web Start Client 

--%><% 
	response.setContentType("application/x-java-jnlp-file");   1 
	response.setHeader("Cache-Control", null); 
	response.setHeader("Set-Cookie", null); 
	response.setHeader("Vary", null); 
%>
<?xml version="1.0" encoding="utf-8"?
<!-- JNLP File for <%=description %> -->
<jnlp
  spec="1.0+"
	<%-- Automate the code base response
-->% codebase="<%=jnlpCodeBase%>"
href="<%=jnlpRefURL%>"
	<information>
		<title><%=description %></title>
		<description kind="short"><%=description %></description>
		<description kind="tooltip"><%=description %></description>
		<offline-allowed></offline-allowed>
	</information>
	<security>
	<all-permissions></all-permissions>
</security>
	<resources>
  	<%-- The URL for the Client JRE installer --%>
    WASclient6.0" 
href="/WebSphereClientRuntimeWeb/Runtime/jnlp.jsp"></j2se>	2

		<%-- Specify the client launcher --%>
    <jar href="../Launcher/WebSphereClientLauncher.jar" main="true"> </jar>	3

		<%-- Ear we want to download to the client --%>
    
	  <jar href="<%=earName%>"></jar>	4
    <%-- The launcher depends on this property to be set --%>
    <property name="com.ibm.websphere.client.launcher.ear"
value="<%=earName%>"><property>	5


		<resources>
<%-- Web Start will consider the Launcher as the application to run -->
<application-desc>	6
<argument>-CCproviderURL=corbaloc:iiop:your_server_hostname </argument>		7
<
	<argument>-
CCDcom.ibm.ssl.keyStore=\${app_server_root}/etc/DummyClientKeyFile.jks</argument>		8

<argument>-
CCDcom.ibm.ssl.trustStore=\${app_server_root}/etc/DummyClientTrustFile.jksCCDcom.ibm.ssl.trustStore=\${app_server_root}/etc/DummyClientTrustFile.jks</argument>	9
</application-desc>
</jnlp>

  



Subtopics
ClientLauncher class
Related tasks
Preparing the Application Client run-time dependency component for Java Web Start
Preparing Application Clients run-time library component for Java Web Start
Using Java Web Start
Related reference
launchClient tool
launchClient tool
Reference topic    

Terms of Use | Feedback

Last updated: Aug 29, 2010 5:25:00 PM CDT
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=vela&product=was-base-dist&topic=rcli_jnlp
File name: rcli_jnlp.html