Running the IBM Thin Client for Enterprise JavaBeans (EJB)

An EJB Client is a Remote Method Invocation over Internet Inter-ORB Protocol (RMI-IIOP) Java™ Platform, Standard Edition (Java SE) application that accesses remote Enterprise Java Beans from a server through Java Naming and Directory Interface (JNDI) look up. IBM® Thin Client for EJB offers a smaller footprint and is easy to deploy to a Java SE environment and an Eclipse Rich Client Platform (RCP) environment. You can bundle the IBM Thin Client for EJB library using the WebSphere® Application Server installation or the Application Client for WebSphere Application Server installation with your application. The IBM Thin Client for EJB also extends the choice of Java SE runtime. It can be run in the Java Runtime Environment (JRE) that is packaged with the WebSphere Application Server product, the JRE that is downloaded from the Oracle website, or the JRE that is downloaded from the HP website.

Before you begin

[AIX Solaris HP-UX Linux Windows][IBM i]The IBM ORB implementation library is required if the IBM Thin Client for EJB is running with a non-IBM product JRE on a non-IBM product platform. For example, running the IBM Thin Client for EJB with Sun Microsystems JRE on Windows, Linux®, or Solaris, and with the HP JRE on HP-UX. The IBM-provided Solaris hybrid and HP hybrid JRE are not considered non-IBM product JRE environments.

The IBM Thin Client for EJB can access version 2.x and version 3.x EJB on the WebSphere Application Server using the JNDI lookup, but it cannot access version 3.x EJB through resource injection. Resource injection is supported if the client application is a Java Platform, Enterprise Edition (Java EE) Application Client running within the Java Platform, Enterprise Edition (Java EE) Application Client Container.

Before you set up an EJB Thin Client environment, obtain the Java archive (JAR) file for the EJB Thin Client for WebSphere Application Server. To obtain the EJB Thin Client for WebSphere Application Server, install WebSphere Application Server or Application Client. The EJB Thin Client for WebSphere Application Server file, [AIX Solaris HP-UX Linux Windows][IBM i]com.ibm.ws.ejb.thinclient_8.5.0.jar[z/OS]com.ibm.ws.ejb.thinclient.zos_8.5.0.jar, is located in the app_server_root\runtimes directory. [z/OS]Use the com.ibm.ws.ejb.thinclient.zos_8.5.0.jar for any client that is running on z/OS. [AIX Solaris HP-UX Linux Windows][IBM i]Use the com.ibm.ws.ejb.thinclient.jar for any client that runs on distributed platforms. Determining the client to use depends on the client platform, and not the platform of the server you are connecting to.

Copy the Java archive (JAR) file for the IBM Thin Client for EJB with WebSphere Application Server product, [AIX Solaris HP-UX Linux Windows][IBM i]com.ibm.ws.ejb.thinclient_8.5.0.jar[z/OS]com.ibm.ws.ejb.thinclient.zos_8.5.0.jar and the endorsed_apis_8.5.0.jar files, to other machines to create a lightweight client environment that enables communications with the products. Copies of the IBM Thin Client for EJB are subject to the same terms and conditions of the license agreement for the WebSphere product where you obtained the Thin Client for EJB. Refer to the license agreements for correct usage and other limitations.

Copy the app_server_root\runtimes\endorsed\endorsed_apis_8.5.0.jar file into the default directory, JAVA_JRE\lib\endorsed. Alternatively, you can use the java.endorsed.dirs property to specify a directory of your choice. If you choose to use an alternative directory, it is a best practice to only include the endorsed_apis JAR file.

[AIX Solaris HP-UX Linux Windows][IBM i]The IBM Thin Client for EJB with WebSphere Application Server runs on distributed operating systems with JDK support, including both Version 6 and Version 7. When using the IBM Thin Client for EJB as a standalone Java SE application with a non-IBM product JRE, you must override the default ORB implementation for the JRE through one of following methods:
  • Include the com.ibm.ws.orb_8.5.0.jar file in the Java system classpath.
  • Override the default ORB implementation in the JRE, using Java Endorsed Standards Override Mechanism.
  • Set the java.endorsed.dirs path to a directory that contains the com.ibm.ws.orb_8.5.0.jar file.
When running the IBM Thin Client for EJB as an Eclipse RCP application, it is recommended to use method two, to override the default JRE ORB implementation.
Deprecated feature: The Pluggable Application Client is deprecated. It is replaced by the IBM Thin Client for EJB.
Attention: When running the IBM Thin Client for EJB, and the -Djava.util.logging.manager=com.ibm.ws.bootstrap.WsLogManager command line option is used, a ClassDefNotFoundError error is thrown. The use of WsLogManager is not supported in the IBM Thin Client for EJB, but you can use another Java logging manager.

About this task

Run the IBM Thin Client for EJB, by completing the following steps.

Procedure

  1. Invoke the client application.
    Run the following Java command:
    [Windows]
    <java_install_root>\bin\java  
    -classpath com.ibm.ws.ejb.thinclient_8.5.0.jar;<list_of_your_application_jars_and_classes> 
    -Djava.naming.provider.url=iiop://<your_application_server_machine_name>
    <fully_qualified_class_name_to_run>
    Add the following system properties to the Java command if you want authentication and SSL enabled:[Linux][AIX][HP-UX][Solaris]
    <java_install_root>/bin/java  
    -classpath com.ibm.ws.ejb.thinclient_8.5.0.jar:<list_of_your_application_jars_and_classes> 
    -Djava.naming.provider.url=iiop://<your_application_server_machine_name> 
    -Dcom.ibm.SSL.ConfigURL=file:///home/user1/ssl.client.props
    -Dcom.ibm.CORBA.ConfigURL=file:///home/user1/sas.client.props
    <fully_qualified_class_name_to_run>
    [z/OS]
    export LIBPATH=<app_server_root>/lib:$LIBPATH
    <java_install_root>/bin/java  
    -classpath com.ibm.ws.ejb.thinclient.zos_8.5.0.jar:<list_of_your_application_jars_and_classes> 
    -Djava.naming.provider.url=iiop://<your_application_server_machine_name> 
    -Dcom.ibm.SSL.ConfigURL=file:///home/user1/ssl.client.props
    -Dcom.ibm.CORBA.ConfigURL=file:///home/user1/sas.client.props
    <fully_qualified_class_name_to_run>
  2. Provide IIOP authentication configuration and Client SSL Configuration.
    Add the following system properties to the Java command:
    -Dcom.ibm.SSL.ConfigURL=file:///home/user1/ssl.client.props
    -Dcom.ibm.CORBA.ConfigURL=file:///home/user1/sas.client.props
    You can obtain the ssl.client.props file and sas.client.props file from the WebSphere Application Server installation and modify the file to suit your environment. You must, at a minimum, update the location of the key files in the ssl.client.props file to the match location of your target environment. For example,
    -Dcom.ibm.ssl.keyStore=/home/user1/etc/key.p12 
    -Dcom.ibm.ssl.trustStore=/home/user1/etc/trust.p12
    [AIX Solaris HP-UX Linux Windows][IBM i]Recommended SSL configuration settings when running the application with a non-IBM product JRE:
    com.ibm.ssl.protocol=SSL
    com.ibm.ssl.trustManager=SunX509
    com.ibm.ssl.keyManager=SunX509
    com.ibm.ssl.contextProvider=SunJSSE
    
    com.ibm.ssl.keyStoreType=JKS
    com.ibm.ssl.keyStoreProvider=SUN
    com.ibm.ssl.keyStore=/home/user1/etc/key.jks
    
    com.ibm.ssl.trustStoreType=JKS
    com.ibm.ssl.trustStoreProvider=SUN
    com.ibm.ssl.trustStore=/home/user1/etc/trust.jks

    [AIX Solaris HP-UX Linux Windows][IBM i]The key store file and trust store file must be created using the Java keytool utility before the application runs. The automatic key file generation is not supported with a non-IBM product JRE.

    [AIX Solaris HP-UX Linux Windows][IBM i]You must override the default ORB implementation of the non-IBM product JRE with the com.ibm.ws.orb_8.5.0.jar file, or add it to the classpath.

  3. Run your client application:
    • Enter the following command if you have copied the endorsed_apis_8.5.0.jar file into the JAVA_JRE\lib\endorsed default directory; for example:
      [Windows][z/OS]
      %JAVA_HOME%\bin\java -Dcom.ibm.SSL.ConfigURL=file:\\\home\sample\ssl.client.props <your_client_application>
      [Linux][AIX][HP-UX][IBM i][Solaris]
      $JAVA_HOME/bin/java -Dcom.ibm.SSL.ConfigURL=file:///home/sample/ssl.client.props <your_client_application>
    • Enter the following command if you have copied the endorsed_apis_8.5.0.jar file into a directory other than the default JAVA_JRE\lib\endorsed directory; for example:
      [Windows][z/OS]
      %JAVA_HOME%\bin\java 
      -Djava.endorsed.dirs=<directory_that_includes_endorsed_apis_8.5.0.jar> 
      -Dcom.ibm.SSL.ConfigURL=file:\\\home\sample\ssl.client.props <your_client_application>
      [Linux][AIX][HP-UX][IBM i][Solaris]
      $JAVA_HOME/bin/java 
      -Djava.endorsed.dirs=<directory_that_includes_endorsed_apis_8.5.0.jar>
      -Dcom.ibm.SSL.ConfigURL=file:///home/sample/ssl.client.props <your_client_application>

What to do next

To enable trace, see the topic on enabling trace on client and standalone applications.