WAS v8.5 > Script the application serving environment (wsadmin)

Use the Administration Thin Client

With the Administration Thin Client, we can run wsadmin or a standalone administrative Java program with only a couple of JAR files. This reduces the amount of time that it takes for wsadmin to start and improved performance. This information should be used to set up JMX client programs.

Verify the IBM Software Development Kit (SDK) is installed on the Administration Thin Client. It is recommended that we use the same IBM SDK as the server that it will connect to in the administrative Thin Client environment.

The Administration Thin Client is supported for the IBM SDKs. It is also supported for the corresponding Oracle Java Development Kit (JDK) with the same major version, provided that:

We cannot run a thin administrative client with the -conntype NONE option. We cannot use the Administration Thin Client to manage feature packs nor deploy application artifacts specific to feature packs.

The Administration Thin Client does not support the installation of SIP Application Archive (SAR) files or editing applications that use an external Java Authorization Contract for Containers (JACC) provider, such as the Tivoli Access Manager.

The Administrative Thin Client does not support passing the Kerberos token to a server. It only supports basic authentication, which passes the user ID and password.

The Administration Thin Client does not support co-existence with other thin clients.

The Administration Thin Client on the z/OS platform does not use localcomm.

For tracing and logging information for the Administration Thin Client, see Enabling trace on client and stand-alone applications.

  1. Make the Administration Thin Client JAR files available by copying com.ibm.ws.admin.clientXXX.jar from a WebSphere Application Server environment to an environment outside of WAS, for example, c:\MyThinClient. The com.ibm.ws.admin.client_8.5.0.jar Administration Thin Client JAR file is located in one of the following locations:

    • The AppServer/runtimes directory.
    • The AppClient/runtimes directory, if you optionally selected the Administration Thin Client when we installed the application client.

  2. Use the Administration Thin Client JAR files to compile and test administration client programs. For Java applications, we can compile and run the JAR files within a standard Java 2 Platform, Standard Edition environment. For more information, see the Compiling an administration application using the Thin Administration Client topic.
  3. Copy the messages directory from the app_server_root/properties directory to the C:\MyThinClient\properties directory.

  4. If security is turned on, you also need the following files:

    • Copy the com.ibm.ws.security.crypto.jar file from either the AppServer/plugins directory or the AppClient/plugins directory and put it in the C:\MyThinClient directory.

    • If we are using the IPC connector, optionally copy the ipc.client.props file from the AppServer\profiles\profileName/properties or the AppClient\properties directory and put it in the C:\MyThinClient\properties directory. Alternatively, we can set the properties in the ipc.client.props file programmatically in your Java code.

    • If we are using the SOAP connector, optionally copy the soap.client.props file from the AppServer\profiles\profileName\properties directory and put it in the C:\MyThinClient\properties directory. Then, enable the client security by setting the com.ibm.CORBA.securityEnabled property to true. Alternatively, we can set the properties in the soap.client.props file programmatically in your Java code.

    • If we are using RMI or JSR160RMI connectors, copy the sas.client.props file from the AppServer/profiles/profileName/properties directory and put it in the C:\MyThinClient\properties directory.

      If there is a firewall in your installation and the application client uses RMI to receive notifications, you might get a RemoteException error after trying to deploy an application. A notifications listener with RMI does not work across a firewall because it requires a listener port on the client listening for notifications. This listener port is not directly accessible when the server tries to send notifications back to the client port. Instead of RMI, use a SOAP connector, which polls for notifications.

    • Copy the wsjaas_client.conf files from either the AppServer\profiles\profileName/properties directory or the AppClient/properties directory, and put them in the C:\MyThinClient\properties directory.
    • Copy or generate the ssl.client.props file from either the AppServer\profiles\profileName/properties directory or the AppClient/properties directory and put it in the C:\MyThinClient\properties directory.

      This file contains the user.root property. You must modify the value to your thin client directory, for example, C:\MyThinClient.

    • If we are using the IBM SDK, copy the key.p12 and trust.p12 files from AppServer\profiles\profileName\etc directory and put it to C:\MyThinClient\etc directory. To complete this task, copy the file to your thin client directory or run a script to generate the file. For more information, see the following topics:

      • ssl.client.props client configuration file
      • Interoperating with previous product versions
      • retrieveSigners command
      • Secure installation for client signer retrieval in SSL

    • If we are using the Sun JDK, change the following properties in the ssl.client.props file so that it uses JKS key and truststores and Sun Microsystems implementations on the key and trust managers:
      com.ibm.ssl.alias=DefaultSSLSettings
      com.ibm.ssl.protocol=SSL
      com.ibm.ssl.securityLevel=HIGH
      com.ibm.ssl.trustManager=SunX509
      com.ibm.ssl.keyManager=SunX509
      com.ibm.ssl.contextProvider=SunJSSE
      com.ibm.ssl.enableSignerExchangePrompt=gui
      
      # Keystore information com.ibm.ssl.keyStoreName=ClientDefaultKeyStore
      com.ibm.ssl.keyStore=${user.root}/etc/keystore.jks
      com.ibm.ssl.keyStorePassword=keystore_password
      com.ibm.ssl.keyStoreType=JKS
      com.ibm.ssl.keyStoreProvider=SUN
      com.ibm.ssl.keyStoreFileBased=true
      
      # Truststore information com.ibm.ssl.trustStoreName=ClientDefaultTrustStore
      com.ibm.ssl.trustStore=${user.root}/etc/truststore.jks
      com.ibm.ssl.trustStorePassword=truststore_password
      com.ibm.ssl.trustStoreType=JKS
      com.ibm.ssl.trustStoreProvider=SUN
      com.ibm.ssl.trustStoreFileBased=true

  5. Launch the Administration Thin Client or run wsadmin remotely in a Java 2 Platform, Standard Edition environment. To launch your administration application, use the following sample launch scripts:

    For transitioning users: If we are using the Oracle JDK, set the com.ibm.websphere.thinclient JVM property to true.trns

    set WAS_HOME=c:\MyThinClient 
    set USER_INSTALL_ROOT=%WAS_HOME% 
    set JAVA_HOME=location_of_the_JRE_file 
    
    @REM C_PATH is the class path.  Add to it as needed. 
    set C_PATH=%WAS_HOME%\com.ibm.ws.admin.client_8.5.0.jar;%WAS_HOME%\com.ibm.ws.security.crypto.jar 
    set SOAPURL=-Dcom.ibm.SOAP.ConfigURL=%WAS_HOME%\properties\soap.client.props 
    
    set TC=-Dcom.ibm.websphere.thinclient=true
    
    if exist %JAVA_HOME%\bin\java.exe ( 
       set JAVA_EXE=%JAVA_HOME%\bin\java 
    ) else ( 
       set JAVA_EXE=%JAVA_HOME%\jre\bin\java 
    ) 
    
    %JAVA_EXE%  -classpath "%C_PATH%" %TC% -Duser.install.root=%USER_INSTALL_ROOT% 
    -Dcom.ibm.SSL.ConfigURL=file:%WAS_HOME%/properties/ssl.client.props %SOAPURL% your_class_file

    #!/bin/bash
    WAS_HOME=/MyThinClient 
    USER_INSTALL_ROOT=${WAS_HOME}
    JAVA_HOME=location_of_the_JRE_file
    
    # C_PATH is the class path.  Add to it as needed. 
    C_PATH=${WAS_HOME}/com.ibm.ws.admin.client_8.5.0.jar:${WAS_HOME}/com.ibm.ws.security.crypto.jar 
    SOAPURL=-Dcom.ibm.SOAP.ConfigURL=${WAS_HOME}/properties/soap.client.props 
    
    TC=-Dcom.ibm.websphere.thinclient=true
    
    if [[ -f ${JAVA_HOME}/bin/java ]]; then    JAVA_EXE="${JAVA_HOME}/bin/java"
    else
       JAVA_EXE="${JAVA_HOME}/jre/bin/java"
    fi
    
    ${JAVA_EXE}  -classpath "${C_PATH}" $TC -Duser.install.root=${USER_INSTALL_ROOT} 
    -Dcom.ibm.SSL.ConfigURL=file:${WAS_HOME}/properties/ssl.client.props ${SOAPURL} your_class_file


Subtopics


Related concepts:

Secure installation for client signer retrieval in SSL


Related


Interoperate with previous product versions
Use wsadmin scripting
Enable trace on client and stand-alone applications
Start the wsadmin scripting client using wsadmin.sh


Reference:

ssl.client.props client configuration file
retrieveSigners command


Related information:

IBM WebSphere Developer Technical Journal: System Administration for WAS V5 -- Part 3


+

Search Tips   |   Advanced Search