+

Search Tips   |   Advanced Search

Run the IBM Thin Client for 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 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. We can bundle the IBM Thin Client for EJB library using the WAS installation or the Application Client for WAS installation with the 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 WAS v7, the Sun Microsystems JRE that is downloaded from the Sun Microsystems Web site, or the JRE that is downloaded from the HP Web site.

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 HPUX. 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.0 EJB on the WAS using the JNDI lookup, but it cannot access version 3.0 EJB through resource injection. Resource injection is supported if the client application is a Java EE Application Client running within the Java EE Application Client Container.

Before you set up an EJB Thin Client environment, obtain the JAR file for the EJB Thin Client for WAS. To obtain the EJB Thin Client for WAS, install WAS or Application Client. The EJB Thin Client for WAS file, com.ibm.ws.ejb.thinclient_7.0.0.jar, is located in...

APP_ROOT\runtimes

Copy the JAR file for the IBM Thin Client for EJB with WAS product, com.ibm.ws.ejb.thinclient_7.0.0.jar , to other machines to create a lightweight client environment that enables communications with WAS NDs. Copies of the IBM Thin Client for EJB are subject to the same terms and conditions of the license agreement for V7.0 WAS where you obtained the Thin Client for EJB. Refer to the license agreements for correct usage and other limitations. The IBM Thin Client for EJB with WAS runs on distributed operating systems with JDK support, including both Version 5 and V6. When using the IBM Thin Client for EJB as a standalone Java SE application with a non-IBM product JRE, override the default ORB implementation for the JRE through one of following methods:

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.

The Pluggable Application Client feature in the application client installer is deprecated. It is replaced by the IBM Thin Client for EJB.

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 we can use another Java logging manager.

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

 

  1. Invoke the client application. Run the following Java command:

    (Windows)

    <java_install_root>\bin\java  
    -classpath com.ibm.ws.ejb.thinclient_7.0.0.jar;<list_of_my_application_jars_and_classes> 
    -Djava.naming.provider.url=iiop:
    //<my_application_server_machine_name>
    -Djava.naming.factory.initial=com.ibm.websphere.naming.WsnInitialContextFactory 
    <fully_qualified_class_name_to_run>
    

    Add the following system properties to the Java command if we want authentication and SSL enabled: [AIX] [HP-UX] [Solaris]

    [Linux]

    <java_install_root>/bin/java  
    -classpath com.ibm.ws.ejb.thinclient_7.0.0.jar:<list_of_my_application_jars_and_classes> 
    -Djava.naming.provider.url=iiop:
    //<my_application_server_machine_name> 
    -Djava.naming.factory.initial=com.ibm.websphere.naming.WsnInitialContextFactory 
    -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 WAS installation and modify the file to suit the environment. You must, at a minimum, update the location of the key files in the ssl.client.props file to the match location of the target environment. For example,

    -Dcom.ibm.ssl.keyStore=/home/user1/etc/key.p12 
    -Dcom.ibm.ssl.trustStore=/home/user1/etc/trust.p12
    

    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
    

    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.

    You must override the default ORB implementation of the non-IBM product JRE with the com.ibm.ws.orb_7.0.0.jar file, or add it to the classpath.

 

Next steps

Enable trace for the IBM Thin Client for EJB by adding the following to the Java command.

  -Dcom.ibm.ejs.ras.lite.traceSpecification=*=all

 

Related tasks


Example 1: Set basic authentication and identity assertion
Use JMS to connect to a WAS default messaging provider messaging engine

 

Related


ssl.client.props client configuration file