IBM FileNet P8, Version 5.2.1            

Setting Up a Thick Client Development Environment

Setting up your system for developing applications requires several additional tasks after you have installed and configured the IBM® FileNet® P8 Platform. (See Installing or upgrading IBM FileNet P8 for information on installing and configuring the IBM FileNet P8 Platform.)

This section describes the tasks that you need to perform when you set up a thick client workstation for your application development environment. The following environments are addressed: Enterprise Java Beans (EJB) transport protocol with WebSphere® Application Server; EJB transport protocol with WebLogic Application Server; EJB or Content Engine Web Service (CEWS) transport protocol with JBoss Application Server (FileNet P8 4.0.1 and later only); and CEWS transport protocol (non-application-server dependent).

Note: To continue with these tasks, you must have already installed and configured the Content Engine Client software that is specified in Developer Requirements.

EJB transport protocol with WebSphere Application Server

  1. Install the IBM WebSphere Application Client for WebSphere Application Server on your development client workstation.

    Note that the application client version must match the WebSphere Application Server version.

  2. Set up the environment to use the Java™ Runtime Environment (JRE) that you installed in step 1. Make sure to set the JAVA_HOME environment variable and JRE bin in the path.
  3. Update the sas.client.props (which you installed in step 1) with the following values: com.ibm.CORBA.securityServerHost=hostname com.ibm.CORBA.securityServerPort=portnumber com.ibm.CORBA.loginSource=none>

    where:

    • hostname is the computer that is running WebSphere Application Server and on which the Content Engine is deployed.
    • portnumber is the port number that is used by the computer that is identified by hostname (change this value if it differs from the default of 2809)

    Setting the loginSource value from prompt (the default) to none can prevent repeated login prompts for user ID and password.

When you run your program, make sure that you:

Other issues

Based on your environment, be aware of the following issues that require additional steps to be taken:

EJB transport protocol with WebLogic Application Server

  1. Install a supported JRE on your development client workstation.
    Note: Both JRocket or Sun JREs are acceptable. However, JRocket with IIOP in WebLogic 9.x has known problems and is not recommended.
  2. Add the following to your Java Naming and Directory Interface (JNDI) configuration by selecting one of the following two approaches:
    • Supply the following JVM arguments:
      -Djava.naming.factory.initial=weblogic.jndi.WLInitialContextFactory
      -Djava.naming.provider.url=t3://hostname:7001
    • Add the following values to a jndi.properties file that is in the class path:
       java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory
       java.naming.provider.url=t3://hostname:7001
      Note: The jndi.properties file must be in the class path. You can either include the file in a JAR file and add the JAR file to the class path, or you can create a directory under the class path and put the file in that directory.
  3. Use the t3 protocol

    Add the weblogic.jar file to the class path (or wlfullclient.jar for WebLogic version 10.x and later). Then, specify the t3 protocol by providing a URI of "t3://hostname:7001/FileNet/Engine" in the Content Engine API Connection class. Note that you can use IIOP as the protocol with wlclient.jar, but it is not recommended. IIOP is slower than and not as functional as the t3 protocol. The following code snippet illustrates how to provide the URI for the connection:

    // Get the connection.
    String uri = "t3://remotehost:7001/FileNet/Engine";
    Connection conn = Factory.Connection.getConnection(uri);
  4. Specify the location of a JAAS configuration file. You specify that file by using a standard command-line argument, as shown in the following example:
    -Djava.security.auth.login.config=jaas.conf.WebLogic
    Note: The JAAS configuration files are contained in the Jace.jar file. With this command, you identify the configuration file to use.

EJB or CEWS transport protocol with JBoss Application Server

  1. Install a supported JRE on your development client workstation.
  2. Add the jbossall-client.jar file from the JBoss client directory (Windows: jboss-home\client, non-Windows: jboss-home/client) to the class path.
    Note: If you are using JBoss 5.x, be aware that jbossall-client.jar no longer contains every class that a client application needs. It instead contains a manifest file that refers to other JAR files. If JBoss 5.x is not installed on your development system, you must copy all JAR files from the jboss-home\client directory on the JBoss application server to your client library or copy all of the JAR files that are referenced in the jbossall-client.jar manifest to your client library. For more information about the jbossall-client.jar manifest, see your JBoss documentation.
  3. Add the following values to your JNDI configuration by selecting one of the following two approaches:
    1. Supply the following JVM arguments:
      -Djava.naming.factory.initial=org.jboss.naming.NamingContextFactory
      -Djava.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
      -Djava.naming.provider.url=jnp://hostname:1099
    2. Add the following values to a jndi.properties file that is in the class path:
       java.naming.factory.initial=org.jboss.naming.NamingContextFactory
       java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
       java.naming.provider.url=jnp://hostname:1099
      Note: The jndi.properties file must be in the class path. You can either include the file in a JAR file and add the JAR file to the class path, or you can create a directory under the class path and put the file in that directory.
  4. Modify your junit.properties file as follows:
    • For EJB protocol:
      jnp://hostname:1099/FileNet/Engine
    • For CEWS protocol:
      URI:  http://hostname:8080/wsi/FNCEWS40MTOM/
  5. Specify the location of a JAAS configuration file. You specify that file by using a standard command-line argument, as shown in the following example:
    -Djava.security.auth.login.config=jaas.conf.JBoss
    Note: The JAAS configuration files are contained in the Jace.jar file. With this command, you identify the configuration file to use.

CEWS transport protocol (non-application-server dependent)

When you set up a thick client development machine by using the CEWS protocol, the following tasks are required:

  1. After the Content Engine Client installation is performed, verify that the following JAR files are installed on the client machine: Jace.jar, log4j.jar, stax-api.jar, xlxpScanner.jar, xlxpScannerUtils.jar, and p8cel10n.jar. After a client installation, these files are in the following location. For more information, see Required Java Archive (JAR) Files:
    • Windows: C:\Program Files\IBM\FileNet\CEClient\lib
    • AIX: /usr/IBM/FileNet/CEClient/lib
    • Other non-Windows: /opt/IBM/FileNet/CEClient/lib
  2. Specify the FileNetP8WSI login module for JAAS. (Note that you can use the FileNetP8WSI default stanza, which is bundled with the Jace.jar file.) You can accomplish this task in one of the two ways:
    1. Add the FileNetP8WSI stanza to a JAAS configuration file and specify a JVM command-line argument that points to the file, as shown in the following example:

      Here is the stanza that must exist in the JAAS configuration file:

      FileNetP8WSI  {
      com.filenet.api.util.WSILoginModule  required;
      };

      Here is the command-line argument to provide to the JVM that tells the system which JAAS configuration file to use:

      -Djava.security.auth.login.config=jaas.conf

      Use "FileNetP8WSI"in the constructor of the LoginContext JAAS class.

    2. Call UserContext.createSubject with a stanza name of "FileNetP8WSI":
       
      Subject subject =UserContext.createSubject(connection, "userid", "password","FileNetP8WSI");
      UserContext uc = UserContext.get();
      uc.pushSubject(sub); 
      try {
             // your code here
      }
       finally 
       { 
             uc.popSubject(); 
       }


Last updated: October 2015
gs_concepts_setup_thick_client.htm

© Copyright IBM Corporation 2015.