Developing Component Integrator-Based Work Performers

The work performer you build can be based on either a Java™ or Java Message Service (JMS) component queue. For either of these types of work performers, you need to do some preparatory work. To develop a Component Integrator-based work performer, do the following:

  1. Before creating a JMS component queue, you need to set up access to a JMS queue:
    1. Stop the Component Manager and in the Component Manager Advanced Properties tab specify the Java Naming and Directory Interface (JNDI) InitialContextFactory information and the required Java libraries in the Component Manager.

      Note: See Starting and Stopping the Component Manager for instructions in stopping the Component Manager using the Process Task Manager UI. See also Starting and Stopping a Component Manager Instance.

      Refer to the following table for JNDI InitialContextFactory information:

      JNDI Configuration

       Application
       Server Type

         Package Pathname of InitialContextFactory

            Required Libraries

      BEA WebLogic®

      weblogic.jndi.WLInitialContextFactory weblogic_install_dir/server/lib/weblogic.jar
      IBM® WebSphere® with MQSeries® com.ibm.websphere.naming.WsnInitialContextFactory

      websphere_install_dir/lib/naming.jar
      websphere_install_dir/lib/namingclient.jar
      websphere_install_dir/lib/messagingImpl.jar
      websphere_install_dir/lib/ecutils.jar
      websphere_install_dir/properties   (directory)
      mqseries_install_dir/java/lib   (directory)
      mqseries_install_dir/java/lib/com.ibm.mq.jar
      mqseries_install_dir/java/lib/com.ibm.mqjms.jar

      Tomcat

      (Sun Java 2 Enterprise Edition (J2EE) Reference Implementation)

      (default, leave blank)

      $J2EE_HOME/lib/j2ee.jar

      JBOSS

      org.jnp.interfaces.NamingContextFactory jboss_install_dir/client/jbossall-client.jar
      jboss_install_dir/client/jnp-client.jar

      Note: If you are using IBM® WebSphere® or JBoss there are Process Task Manager settings necessary, for proper JMS operations. For WebSphere, see Configuration for WebSphere and JMS.

    2. Before configuring the component queue for JMS, you will also need to know the name of the JMS queue to which you intend to post messages from a workflow.
  2. Before creating a Java component queue, you need to deploy a custom Java class:
    1. The Java class needs to conform to the following:
    2. Create the Java Authentication and Authorization Service (JAAS) authentication module(s) and login configuration file for your class, as follows:
      1. Create a LoginModule class for the systems your class accesses. Creation and use of LoginModule classes is described in the JAAS documentation (Security Information).
      2. Create the JAR file to hold your custom Java class and its corresponding LoginModule class.
      3. Create a JAAS Login Configuration file containing a LoginContext section (which specifies your LoginModule class).

        Refer to Authentication and JAAS.

        For an example of a login module used by the Process Engine, see Component Authentication Example.

    3. Deploy your JAAS Login Configuration file and customized JAR file by copying these files to the deployment location on the Application Engine server. Normally, this will be in filenet_installation_directory/Workplace/WEB-INF/lib.
    4. Stop the Component Manager and specify the custom JAR file you have created as one of the required Java libraries in the Component Manager.

      Note: See Starting and Stopping the Component Manager for instructions in stopping the Component Manager using the Process Task Manager UI. See also Starting and Stopping a Component Manager Instance.

      If your Java class has dependent modules not included in the JAR file, nor in the existing, specified required libraries (such as, weblogic.jar), you also need to specify as required libraries the JAR file(s) containing the dependent modules.

  3. Use the Process Configuration Console to create and configure a component queue for the deployed custom Java class or the JMS queue. Only one class or JMS queue can be associated with a single Process Engine component queue. However, you can configure multiple component queues for any given class or JMS queue by assigning different names to the additional component queues. For instructions, see Configuring Component Queues.

    Note: Changes made through the Process Configuration Console while the Component Manager is running are not picked up until the configuration is refreshed. See Components for information on refreshing component configurations.

  4. Author a workflow. Use the Process Designer tool to do the following:
    1. Add a workflow step that includes at least one of your Java or JMS components. This associates the operations for a component queue with a step.
    2. Defining the parameter values of each operation as an expression that can include the field values of a work item retrieved from the component queue.

      For an example, see the Content-Extended Operations example.

    3. If necessary, readjust any component configuration properties with the component advanced properties runtime dialog of the Component Manager, for settings changes that will affect only the current instance of the component.
    4. Start the Component Manager.

      Note: See Starting and Stopping the Component Manager for instructions in stopping the Component Manager using the Process Task Manager UI. See also Starting and Stopping a Component Manager Instance.

    5. Start the connections for your component using the Component Manager.
    6. Launch a workflow that uses your integrated component step and test the component operations.

How the Component Queues are Processed

The Component Manager starts the connections for your Java or JMS component queues and manages the processing between the Process Engine and the Java or JMS service adapters. Component authentication takes place when the service adapter initializes.

Java Component Queues

When a work item is passed to a step that uses a Java component queue, the Java service adapter does the following:

JMS Component Queues

When a work item is passed to a step that uses a JMS component queue, the JMS service adapter does the following: