Configuring the Process Development Environment

The Process Engine distribution includes supporting files for a Process development environment. The supporting files consist of a set of JAR files containing the supporting interfaces for Process application development, and a set of sample files illustrating common uses. These supporting and sample files are located on the P8 Platform Documentation CD or ESD image in:

   ecm_help\developer_help\process_java_api\Developer Files

Process Java API Supporting Files

The supporting files supplied in the Developer Files directory are:

Note: The JiGlue files, jiglue.dll and jiglue.tlb, are also supplied in the Developer Files directory. These files provide the JiGlue COM Bridge: a translation layer between the Process Engine Java APIs and COM. JiGlue is required for all COM or ASP/ASP.NET development. See Developing with the JiGlue COM Bridge for more information.

Additional Supporting Files

Additional JAR files for Process Engine application development are located on either the Application Engine, Content Engine, or Process Engine host:

Process Java API Samples

The Process Java API sample sets supplied in the Developer Files directory are as follows:

For more information about the Process Java API samples, see Process API Samples Overview.

Web Application Toolkit

In addition to the Process Engine developer files, the Web Application Toolkit provides an extensible framework with reusable modules for building event-driven, Java™ Server Pages-based Web applications for the FileNet P8 platform. Building HTML Step Processors is one example of how you might use this toolkit. The Web Application Toolkit is installed as part of the Application Engine installation. A number of FileNet applications (including Workplace itself) were built using this framework.

For additional information see Web Application Toolkit. See also the Web Application Toolkit Sample. To download this sample from the IBM support page, see Accessing IBM FileNet Documentation.

Configuring Your Development Environment

To configure your Process development environment:

  1. Copy the Developer Files directory, and all subdirectories, from the P8 Documentation CD or ESD image to your local drive. Maintain the relative directory structure of the directories.
  2. Copy any of the additional supporting files from their installed location to your local Developer Files directory.
  3. Change the file attributes for all of the files in the newly created directory structure from Read-only to Read/Write.
  4. If you have not already done so, install and configure the Sun Microsystems JDK on your development system. See Installing the JDK for more information. If you are developing on multiple Process Engine servers or implementing the (optional) Process Analyzer and the (optional) Process Simulator on other machines, you need to install the JDK and copy the Developer Files\pw.jar file to these machines as well.
  5. If you are using an IDE, and you intend to use the Java Step Processor UI Toolkit Swing-based Java beans and interfaces to create user controls similar to the FileNet sample controls, add the Directory Files\vwpanel.jar file to your project. See Java Step Processor UI Toolkit Overview for more information.
  6. If you are developing for ASP or ASP.NET you must install and configure the following:
  7. Depending on your development environment (IDE or command line), either add to your IDE project settings, or register, the Process Engine JAR files in your local Developer Files directory. See also Issues with Adding JAR Files to the Classpath below.

Installing the JDK

See IBM FileNet P8 Platform Hardware and Software Requirements for the current, supported version of the JDK for your platform. To download this guide from the IBM support page, see Accessing IBM FileNet Documentation.

Install the supported version of the JDK on your development system and add the installation path to your PATH variable:

Note: If you are planning to develop Process Java applications for FileNet Open Client with the JiGlue COM Bridge, you must install the JDK in the default directory.

Configuring Component Integrator

Configuring Component Manager for the EJB Transport

For the EJB transport, you should start one Component Manager for each queue, using either Process Task Manager's Queues field in the Advanced tab, or the command line (see Starting and Stopping a Component Manager Instance).

See also, WebSphere Configuration for EJB Transport and Weblogic Configuration for EJB Transport.

Configuration for WebSphere and Java™ Message Service

When using WebSphere, the following scenarios require configuration changes for Component Integrator:

WebSphere Configuration for Web Services Transport

Component Manager is configured to use the Web services transport by default. Do the following:

  1. Open the file:
        client_installation_directory/properties/sas.client.props; 
    

    where client_installation_directory is the installation directory for IBM Application Client for WebSphere Application Server.

  2. Modify this file to:
  3. Set the JNDI initial context factory to:
        com.ibm.websphere.naming.WsnInitialContextFactory
    
  4. Set the preferred JRE bin path to:
        client_installation_directory\java\bin
    

    where client_installation_directory is the installation directory for IBM Application Client for WebSphere Application Server.

  5. Set the following JRE parameters; where client_installation_directory is the installation directory for IBM Application Client for WebSphere Application Server, JMSServer is the name of the JMS Server and JMSServerBootstrap is the bootstrap port specified for the JMS Server. This information is found in the file serverindex.xml for the Content Engine profile (located in the directory websphere_installation_directory\profiles\profileName\config). (linebreaks for readability):
        filenet.naming.provider.url=iiop://JMSServer:JMSServerBootstrap
        com.ibm.CORBA.ConfigURL=client_installation_directory/properties/sas.client.props
        com.ibm.SSL.ConfigURL=client_installation_directory/properties/ssl.client.props
        java.ext.dirs=client_installation_directory/java/jre/lib/ext; 
        client_installation_directory/lib;
        client_installation_directory/plugins; 
        client_installation_directory/lib/WMQ/java/lib
    
     
  6. Add the following to the required libraries:
  7. In taskman.login.config, add the login context for the JMS Queue (as defined in the Process Configuration Console). For example:
    JMSLoginContext
    {
        filenet.vw.server.VWLoginModule required;	
    };
    

WebSphere Configuration for EJB Transport

To configure WebSphere for EJB, do the following:

  1. Open the file:
        client_installation_directory/properties/sas.client.props; 
    

    where client_installation_directory is the installation directory for IBM Application Client for WebSphere Application Server.

  2. Modify this file to:
  3. Use Process Task Manager to configure Component Manager to use the EJB transport for WebSphere. See Configure Component Manager for more information. Do the following:
    1. Set the Content Engine URI to the EJB endpoint for the Content Engine:
          iiop://CEHost:CEBootstrapPort
      

      where CEHost is the Content Engine host and CEBootstrapPort is the bootstrap port number assigned in the file serverindex.xml for the Content Engine profile (located in the directory websphere_installation_directory\profiles\profileName\config).

    2. Set the JNDI initial context factory to:
          com.ibm.websphere.naming.WsnInitialContextFactory
      
    3. Set the preferred JRE bin path to:
          client_installation_directory\java\bin
      

      where client_installation_directory is the installation directory for IBM Application Client for WebSphere Application Server.

    4. Set the following JRE parameters; where client_installation_directory is the installation directory for IBM Application Client for WebSphere Application Server, JMSServer is the name of the JMS Server and JMSServerBootstrap is the bootstrap port specified for the JMS Server. This information is found in the file serverindex.xml for the Content Engine profile (located in the directory websphere_installation_directory\profiles\profileName\config). (linebreaks for readability):
          filenet.naming.provider.url=iiop://JMSServer:JMSServerBootstrap
          com.ibm.CORBA.ConfigURL=client_installation_directory/properties/sas.client.props
          com.ibm.SSL.ConfigURL=client_installation_directory/properties/ssl.client.props
          java.ext.dirs=client_installation_directory/java/jre/lib/ext; 
          client_installation_directory/lib;
          client_installation_directory/plugins; 
          client_installation_directory/lib/WMQ/java/lib
      
      
       
    5. Add the following to the required libraries:
      • client_installation_directory\properties
      • All the JAR files in client_installation_directory
      • All the JAR files in client_installation_directory\lib and its subdirectories
    6. Remove the wasp.jar file entry from the required libraries.
    7. Copy the file taskman.login.config to a new file taskman.login.config.websphere.
    8. Ensure that the setting for taskman.login.config.websphere has the following stanza in addition to any other application-specific settings for LoginContext (linebreak for readability):
          FileNetP8
              {
                  com.ibm.ws.security.common.auth.module.proxy.WSLoginModuleProxy required
                      delegate=com.ibm.ws.security.common.auth.module.WSLoginModuleImpl;
              };
      
    9. Also in taskman.login.config.websphere, add the login context for the JMS Queue (as defined in the Process Configuration Console). For example:
      JMSLoginContext
      {
          filenet.vw.server.VWLoginModule required;	
      };
      
    10. Specify the Java security entry (linebreak for readability) for taskman.login.config.websphere; specifying the full path for taskman.login.config.websphere. For example:
          java.security.auth.login.config = installation_directory/FileNet/AE/Router/
              taskman.login.config.websphere
      

Weblogic Configuration for EJB Transport

Use Process Task Manager to configure Component Manager to use the EJB transport for WebLogic. See Configure Component Manager for more information. Do the following:

  1. Set the JNDI initial context factory to:
        weblogic.jndi.WLInitialContextFactory
    
  2. Add weblogic.jar (from the BEA installation) to the required libraries.
  3. Set the following JRE parameter(s):
        -Djava.naming.provider.url=t3://host:port

    For WebLogic 9.x, set the preferred JRE bin path to that installed by WebLogic. For example:

        c:\bea\jrockit90_150_04\bin
    
  4. Ensure that the setting for taskman.login.config has the following stanza in addition to any other application-specific settings for LoginContext:
        FileNetP8 
            {
                weblogic.security.auth.login.UsernamePasswordLoginModule required debug=false;
            };
    

Configuring the Process Task Manager for JBoss

When using JBoss as the application server, the Process Task Manager's Java™ Runtime Environment parameter needs to be set as follows:

  1. Add jbossall-client.jar and jnp-client.jar to the required libraries.
  2. Set the following JRE parameter:
       -Djava.naming.provider.url=jnp://host:port
  3. Set the following JRE setting. If this setting is not used, JMS adapters will not find the necessary connection factory, and you will receive an error message similar to the following:
        VWAdaptor::run() exception: javax.naming.CommunicationException: Receive timed out 
            [Root exception is java.net.SocketTimeoutException: Receive timed out]
    

Issues with Adding JAR Files to the Classpath

Adding the JAR files to the system classpath can cause security conflicts when attempting to run the out-of-the-box Java client applications on your development machine. The conflict is caused when, for example, the Process Engine server sends the correct path for pe.jar, but the classpath statement forces the client application to use pe.jar file from the specified location.

If you run the Java Plugin console on a machine on which you are attempting to run the out-of-the-box Java client application with the JAR files specified in the classpath, you will receive exceptions similar to the following:

    java.security.AccessControlException: access denied (java.lang.RuntimePermission modifyThreadGroup)
    at java.security.AccessControlContext.checkPermission(Unknown Source)
    at java.security.AccessController.checkPermission(Unknown Source)
    at java.lang.SecurityManager.checkPermission(Unknown Source)
    . . .

Use any one of the following workarounds to correct this behavior: