Chapter 2. Setting up development environments
2.1 Content Engine Java development setup
2.1.3 Thick client versus thin client requirements
The term thick client as used in this book refers to stand-alone Java applications that are running outside of a J2EE application server such as a scheduled nightly batch job that uploads documents to CE. Thin client as used in this book refers to Java applications deployed and running in a J2EE application server such as a JSP-based Web application. The requirements for thick client versus thin client vary slightly, so we discuss each in detail.
Thick client EJB transport requirements
For the EJB transport, .jar files that are specific to the application server are required in the thick client environment. The required .jar files can change with each application server version. For the application servers supported in the current CE 4.5.0 release, Table 2-1 lists the required .jar files.
Table 2-1 Thick client EJB transport library requirements
Figure 2-2 on page 16 shows the WebSphere 6.1 Application Client installed directories.
Application server Required .jar files
WebSphere® Install the WebSphere Application Client version and patch that matches the CE application server. Use the WebSphere JRE. During runtime, use the java.ext.dirs JVM parameter mentioned in the next section
WebLogic wlclient.jar or weblogic.jar
Figure 2-2 WebSphere 6.1 Application Client installation directory
In addition to the application server .jar files, the Java virtual machine (JVM) parameters listed in this section are required for thick client applications: For EJB transport with WebSphere (Figure 2-3 on page 17):
-Dcom.ibm.CORBA.ConfigURL=<WebSphereHome>\properties\sas.client.prop s -Djava.ext.dirs=<WebSphereHome>\java\jre\lib\ext;<WebSphereHome>\lib ;<WebSphereHome>\plugins -Djava.security.auth.login.config=c:\Program Files\FileNet\CEClient\config\samples\jaas.conf.WebSphere
Figure 2-3 Eclipse runtime configuration for WebSphere EJB transport JVM parameters
In sas.client.props, set the following properties (see Figure 2-4): com.ibm.CORBA.securityServerHost=ceServerName
com.ibm.CORBA.securityServerPort=2809 com.ibm.CORBA.loginSource=none
Figure 2-4 Sample WebSphere sas.client.props entries
For EJB transport with Weblogic:
-Djava.naming.factory.initial=weblogic.jndi.WLInitialContextFactory -Djava.naming.provider.url=t3://ceServer:7001
-Djava.security.auth.login.config=c:\Program
Files\FileNet\CEClient\config\samples\jaas.conf.WebLogic
Note: The CE server host name you use in your connection URI and the
sas.client.props must be resolvable through DNS from your client machine. For WebSphere, the host name and port specified in your client application must match the host name and port number specified in the
BOOTSTRAP_ADDRESS parameter in the WebSphere Administration Console.
For EJB transport with JBoss: -Djava.naming.factory.initial=org.jnp.interfaces.NamingContextFactory -Djava.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces -Djava.naming.provider.url=jnp://ceServer:1099 -Djava.security.auth.login.config=c:\Program Files\FileNet\CEClient\config\samples\jaas.conf.JBoss
Note that the port numbers assume default application server ports. Change them as needed for your specific environments.
Thick client CEWS transport requirements
The CEWS transport does not require the client application and CE server to be on the same application server libraries. The CEWS transport is independent of the CE application server so the following instructions can be followed on any CEWS transport client.
For CE 4.0 to 4.5.0, the Systinet libraries and configuration files are installed with the CE Client installation (default installation directory is c:\Program
Files\FileNet\CEClient\wsi). Table 2-2 lists the required .jar files.
Table 2-2 Thick client CEWS transport library requirements for CE 4.0 to 4.5.0
Figure 2-5 on page 19 shows the CEWS installation directory where wasp.jar can be obtained.
Note: For the CEWS transport in a thick client environment, the requirements
are slightly different depending on which version of CE you are using. From CE 4.0 to 4.5.0, CE Java API utilized Systinet WASPJ libraries for
communication with the CE server. Starting with CE 4.5.1, Systinet libraries are no longer used. We describe both configurations.
Application server Required .jar files
Applies to all application servers
wasp.jar
This file can be obtained from the c:\Program
Files\FileNet\CEClient\wsi\lib directory. The other .jar
Figure 2-5 CE 4.5.0 CEWS transport installation directory
Starting with CE 4.5.1, Systinet libraries are no longer used. Instead, three new IBM libraries are required for CEWS transport as listed in Table 2-3.
Table 2-3 Thick client CEWS transport library requirements for CE 4.5.1 and beyond
As mentioned earlier, the CEWS transport requirements are the same for any application server. For the CEWS transport in CE 4.0 to 4.5.0, two JVM parameters are required (Figure 2-6 on page 20):
-Dwasp.location=c:\Program Files\FileNet\CEClient\wsi -Djava.security.auth.login.config=c:\Program
Files\FileNet\CEClient\config\samples\jaas.conf.WSI
Application server Required .jar files
Applies to all application servers
stax-api.jar
xlxpScanner.jar
Figure 2-6 Eclipse runtime configuration for CEWS transport JVM parameters
For the CEWS transport in CE 4.5.1 and beyond, the only JVM parameter required is the java.security.auth.login.config file, thereby eliminating the requirement to define the wasp.location parameter.
Thin client EJB transport requirements
Thin client J2EE Web applications using the EJB transport have slightly different requirements than thick client stand-alone applications because much of the application server libraries and JVM variables are already defined or available within the application server container. Thin client applications do not require explicit references to application server libraries such as the WebSphere application client, weblogic.jar, or jbossall-client.jar.
The only JVM parameter required for thin client EJB transport applications is: -Djava.security.auth.login.config=c:\Program
Files\FileNet\CEClient\config\samples\jaas.conf.AppServer
Replace AppServer with your application server such as WebSphere, WebLogic, or JBoss.
One way to troubleshoot connectivity issues is to deploy WorkplaceXT on the client application server. If WorkplaceXT can connect to CE successfully, you can then focus on configuring your custom application in the same fashion.
Thin client CEWS transport requirements
Similar to thick clients, thin clients that are using the CEWS transport do not have a requirement for homogeneous application server versions and patches. So you can have a Weblogic thin client application communicate using the CE Java API over the CEWS transport to a CE server running on WebSphere.
From CE 4.0 to 4.5.0, a thin client application that communicates over CEWS transport must copy all eight .jar files mentioned in Table 2-4 on page 22 into the custom application WAR file’s WEB-INF\lib directory. Example steps for a WebSphere thin client application are as follows:
1. Create and deploy a custom EAR file in which the WAR\WEB-INF\lib folder contains the eight .jar files in Table 2-4 on page 22.
2. In the WebSphere administration console, set the EAR and WAR classloader mode to parent last. (WebSphere 6.0 refers to this as
parent last
;WebSphere 6.1 refers to it as
application first
).3. Install the CE client libraries with the Client installer as mentioned previously. 4. Add the following JVM arguments by using the WebSphere administration
console and selecting server→ Process Definition→ Java Virtual Machine→ Generic JVM arguments:
-Dwasp.location=c:\Program Files\FileNet\CEClient\wsi -Djava.security.auth.login.config=c:\Program
Files\FileNet\CEClient\config\samples\jaas.conf.WSI
Note: You should use EJB transport with thin clients when possible. Especially
in releases prior to 4.5.1, there is a strong possibility of having classloader conflicts with application server classes. Resolving classloader issues in J2EE applications can be time-consuming and frustrating.
Table 2-4 Thin client CEWS transport library requirements for CE 4.0 to 4.5.0
For CE 4.5.1 and later, there are no requirement differences between a thick client stand-alone application and a thin client application. The three .jar files that are still required for a thin client application using CEWS transport are listed in Table 2-5.
Table 2-5 Thin client CEWS transport library requirements for CE 4.5.1 and beyond
With the 4.5.1+ implementations, the only required JVM parameter is: -Djava.security.auth.login.config=c:\Program
Files\FileNet\CEClient\config\samples\jaas.conf.WSI