+

Search Tips   |   Advanced Search

Use the Administration Thin Client

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

Verify that the IBM SDK is installed on the Administration Thin Client. IBM recommends that we use the same IBM SDK as the server that it connects to in the administrative Thin-Client environment.

Important: 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 Security 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.


Tasks

  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_9.0.jar and the com.ibm.ws.admin.client.forJython21_9.0.jar Administration Thin Client JAR files are 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.

    The com.ibm.ws.admin.client_9.0.jar need to be used for jython27 and com.ibm.ws.admin.client.forJython21_9.0.jar need to be used for jython21.

    In v9, wsadmin will use jython27 by default. Jython21 is still supported and to use jython21, we need to either use wsadmin argument -usejython21 true or update com.ibm.ws.scripting.usejython21=true in wsadmin.properties file.

    If we are seeing an error and jython will not load, we have something misconfigured, such as we are using jython21 but we set the class path to com.ibm.ws.admin.client_9.0.jar or we are using jython27 but we set the java class path to com.ibm.ws.admin.client.forJython21_9.0.jar. Make sure that we are setting the java class path to the correct jar. Jython27 does not support Java7 or lower. We must use the same Java level as the WebSphere server we are attempting to connect to.

  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. See 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 the installation and the application client uses RMI to receive notifications, we 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. We 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.p12files 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. See 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 the wsadmin tool remotely in a Java 2 Platform, Standard Edition environment. To launch your administration application, use the following sample launch scripts:

    If we are using the Oracle JDK, set the com.ibm.websphere.thinclient JVM property to true. (Windows)

    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. 
    REM Classpath to use for jython27 (comment this out if using jython21)
    set C_PATH=%WAS_HOME%\com.ibm.ws.admin.client_9.0.jar;%WAS_HOME%\com.ibm.ws.security.crypto.jar 
    
    REM Classpath to use for jython21 (uncomment this to use jython21)
    REM set C_PATH=%WAS_HOME%\com.ibm.ws.admin.client.forJython21_9.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#
    
    (AIX) (HPUX) (iSeries) (Linux) (Solaris) (ZOS)
    !/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. 
    # Classpath to use for jython27 (comment this out if using jython21)
    C_PATH=${WAS_HOME}/com.ibm.ws.admin.client_9.0.jar:${WAS_HOME}/com.ibm.ws.security.crypto.jar 
    
    # Classpath to use for jython27 (comment this out if using jython27)
    C_PATH=${WAS_HOME}/com.ibm.ws.admin.client.forJython21_9.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:

  • Secure installation for client signer retrieval in SSL
  • Interoperating with previous product versions
  • Use wsadmin scripting
  • Enable trace on client and stand-alone applications
  • Start the wsadmin scripting client
  • ssl.client.props client configuration file
  • retrieveSigners command
  • IBM WebSphere Developer Technical Journal: System Administration for WAS V5 -- Part 3