Configuring your Java client for JWS
To enable the IBM® Spectrum Symphony Java™ client application to launch from a web browser, complete the following configuration:
Procedure
-
Deploy a web service on your Liberty Profile server which must include the client package and
the files required to run the client.
-
Prepare your Java client library to load the required
runtime dependencies.
For 64-bit IBM Spectrum Symphony Java clients, copy the following files to a directory (for example, c:\soamlib64) and pack them into a JAR file (for example, soamlib64.jar).
File name Location in the IBM Spectrum Symphony installation directory - com_platform_log4cxx_097_4.dll
- icudt55.dll
- icuin55.dll
- icuio55.dll
- icuuc55.dll
- jnativesoamapi_7.3.2_64.dll
- libevent.dll
- libsec.dll
- msvcp120.dll
- msvcr120.dll
- soam_resources_7.3.2.dll
- soambase.dll
- libvem360.dll
- libvem370.dll
- com_platform_ACE_631_03.dll
- com_platform_ACE_631_03_SSL.dll
- libcrypto-1_1-x64.dll
- libssl-1_1-x64.dll
dir\soam\7.3.2\w2k3_x64-vc7-psdk\lib64 - rfa.exe
dir\4.0\bin - egoconsole.dll
- libiconv.dll
- rfa.dll
- sec_ego_default.dll
- sec_ego_ext_co.dll
- xml4c_5_8.dll
dir\4.0\lib For example:C:\soamlib64>jar cvf soamlib64.jar *.dll *.exe
For 32-bit IBM Spectrum Symphony Java clients, copy the following files to a directory (for example, c:\soamlib32) and pack them into a JAR file (for example, soamlib32.jar).
File name Location in the IBM Spectrum Symphony installation directory - com_platform_log4cxx_097_4.dll
- icudt55.dll
- icuin55.dll
- icuio55.dll
- icuuc55.dll
- jnativesoamapi_7.3.2.dll
- libevent.dll
- libsec.dll
- msvcp120.dll
- msvcr120.dll
- soam_resources_7.3.2.dll
- soambase.dll
- libvem360.dll
- libvem370.dll
- com_platform_ACE_631_03.dll
- com_platform_ACE_631_03_SSL.dll
- libcrypto-1_1.dll
- libssl-1_1.dll
dir\soam\7.3.2\w2k3_x64-vc7-psdk\lib - rfa.exe
dir\4.0\bin - egoconsole.dll
- libiconv.dll
- rfa.dll
- sec_ego_default.dll
- sec_ego_ext_co.dll
- xml4c_5_8.dll
dir\4.0\lib For example:C:\soamlib32>jar cvf soamlib32.jar *.dll *.exe
-
Sign the .jar files required to run in JavaWS.
For 64-bit IBM Spectrum Symphony Java clients, sign:
- Your Java client
- soamlib64.jar
- JavaSoamApi.jar
For 32-bit IBM Spectrum Symphony Java clients, sign:- Your Java client
- soamlib32.jar
- JavaSoamApi.jar
- Copy the signed files to a directory to be used by your Liberty Profile server (for example, soamclients).
-
Prepare your Java client library to load the required
runtime dependencies.
-
Configure a .jnlp (Java Network Launch Protocol) file to launch the Java client in JavaWS. The .jnlp file defines the client environment for your cluster and includes information such as the location of the package file and the name of the main class for the application.
Note:
- Starting from Java 7 update 45 (1.7.0_45), you must prefix each parameter with
jnlp. (for example,
jnlp.SOAM_ENABLE_JWS
). Alternatively, you can sign a JNLP file and avoid prefixing parameters with jnlp.. - Starting from Java 7 update 51 (1.7.0_51), you must add the directory where the application is hosted (for example, http://IP:port/jwstest/apps/) to the Exception Site List.
The .jnlp file supports various parameters for IBM Spectrum Symphony. The following supported parameters are required:- SOAM_ENABLE_JWS
- Enables JavaWS for your Java client.
- EGO_MASTER_LIST
- Specifies the list of primary-candidate hosts in the cluster to which you want to connect.
- EGO_KD_PORT
- Specifies the port number to connect to the IBM Spectrum Symphony cluster.
- EGO_SEC_PLUGIN
- Specifies the security mechanism to use when connecting to the IBM Spectrum Symphony cluster.
The following supported parameters are optional:- DDT_WORK_DIR
- Used with direct data transfer to store input/output data temporarily.
- SOAM_DIRECT_DATA_PORT
- Used with direct data transfer. Defines ports for the client to listen for connections from the service.
- SOAM_DIRECT_DATA_ADDRESS
- Used with direct data transfer. Allows a non-default interface on the client host to be specified for communication with the service instance.
- SOAM_DIRECT_DATA_STORAGE
- Used with direct data transfer. Defines whether data resides in client memory or is written to disk. This property is optional.
- EGO_CLIENT_ADDR
- Used with direct data transfer and external task output transfer. Used with firewalls on the client side and the rfa command. If SOAM_DIRECT_DATA_PORT is not defined, IBM Spectrum Symphony uses the value of EGO_CLIENT_ADDR. If neither of these variables are defined, IBM Spectrum Symphony randomly selects a client port to listen on.
- SOAM_COMMON_DATA_CHUNK_SIZE
- Used with common data chunking. Specifies the size of each chunk of common data.
- SOAM_CLIENT_PARALLEL_FETCH_NUM
- Used with external task output transfer (enabled by setting the SOAM_TASK_OUTPUT_TO_FILE_THRESHOLD parameter in the application profile). Specifies the maximum size of the parallel fetching task output file in the client. This variable is optional.
- SOAM_FAM_CONSUMER
- Used with external task output transfer (enabled by setting the SOAM_TASK_OUTPUT_TO_FILE_THRESHOLD parameter in the application profile). Specifies the name of the consumer that starts FAM. This variable is required.
- SOAM_RFA_RETRY_LIMIT
- Used with external task output transfer (enabled by setting the SOAM_TASK_OUTPUT_TO_FILE_THRESHOLD parameter in the application profile). Specifies the maximum number of retries for the rfa command to fetch task output. This variable is optional.
- SOAM_RFA_TIMEOUT
- Used with external task output transfer (enabled by setting the SOAM_TASK_OUTPUT_TO_FILE_THRESHOLD parameter in the application profile). Specifies the duration (in seconds) for the rfa command to retrieve task output. This variable is optional.
Here is a sample .jnlp file:<?xml version="1.0" encoding="utf-8"?> <!-- JNLP File --> <jnlp spec="1.0+" codebase="http://IP:Port/jwstest/apps" href="jwstest.jnlp"> <information> <title>jwstest</title> <vendor>test</vendor> <homepage href="jwstest.html"/> <description>jws test</description> <icon href="images/jwstest.jpg"/> <offline-allowed/> </information> <security> <all-permissions/> </security> <resources> <j2se version="1.7+"/> <nativelib href="lib/soamlib64.jar"/> <jar href="lib/JavaSoamApi.jar"/> <jar href="lib/AsyncClient.jar" main="true"/> <property name="jnlp.SOAM_ENABLE_JWS" value="Y"/> <property name="jnlp.EGO_MASTER_LIST" value="primary_host"/> <property name="jnlp.EGO_KD_PORT" value="7870"/> <property name="jnlp.EGO_SEC_PLUGIN" value="sec_ego_default"/> </resources> <application-desc main-class="com.platform.symphony.samples.SampleApp.client.AsyncClient"/> </jnlp>
- Starting from Java 7 update 45 (1.7.0_45), you must prefix each parameter with
jnlp. (for example,
- Restart the Liberty Profile server.