Transports and Interfaces: Siebel Enterprise Application Integration > EAI Java Business Service >
Requirements for Implementing a Java Business Service
To implement a Java business service, the following software must be installed and properly configured on each Siebel Server or Siebel Mobile and Developer Web Clients:
- A Java Runtime Environment (JRE)
- All necessary Java code
- A configured named subsystem of type:
- JVMSubSys for a 32-bit JRE or
- JavaContainerSubSys for a 64-bit JRE
The named 32-bit subsystem supplies the following parameters to the JBS: DLL, CLASSPATH, and VMOPTIONS. These parameters are described as follows.
- DLL. The complete path of the JRE library, as shown in Table 9.
Table 9. Complete 32-bit JRE Library Paths for Various Operating Systems
|
|
Typical Location on Server and Environment Variable Setting |
AIX |
libjvm.so |
/usr/java/jre/lib/ppc/j9vm
You must include both /usr/java/jre/lib/ppc/ and /usr/java/jre/lib/ppc/j9vm in the LIBPATH variable. For example:
- siebenv.csh:
setenv LIBPATH=/siebel/siebsrvr/lib:/siebel/siebsrvr/mw/lib:/siebel/siebsrvr/SYBSsa90/lib:/usr/lib:/siebel/siebsrvr/lib:/oracle_client/app/oracle/OraHome_1/lib32:/oracle_client/app/oracle/OraHome_1/lib:/usr/java/jre/lib/ppc/:/usr/java/jre/lib/ppc/j9vm
- siebenv.sh:
LIBPATH=/siebel/siebsrvr/lib:/siebel/siebsrvr/mw/lib:/siebel/siebsrvr/SYBSsa90/lib:/usr/lib:/siebel/siebsrvr/lib:/oracle_client/app/oracle/OraHome_1/lib32:/oracle_client/app/oracle/OraHome_1/lib:/usr/java/jre/lib/ppc/:/usr/java/jre/lib/ppc/j9vm
|
HP-UX |
libjvm.sl |
/opt/java/jre/lib/PA_RISC2.0/server
Set the environment variable SHLIB_PATH to include the JVM's jre and server directories. Set LD_PRELOAD in the siebmtshw file located in /siebsrvr/bin . For example: setenv SHLIB_PATH=${SHLIB_PATH}:/opt/java/jre/lib/PA_RISC2.0; export SHLIB_PATH
In siebmtshw: LD_PRELOAD=/opt/java/jre/lib/PA_RISC2.0/server/libjvm.sl
export LD_PRELOAD
|
Linux |
libjvm.so |
/usr/java/jdk/jre/lib/i386/server
Set the environment variable LD_LIBRARY_PATH to include the JVM's server directory. For example: setenv LD_LIBRARY_PATH=/usr/java/jdk/jre/lib/i386/server: /usr/java/jdk/jre/lib/i386
|
Oracle Solaris |
libjvm.so |
/usr/jdk/instances/jdk/jre/lib/sparc/server
Set the environment variable LD_LIBRARY_PATH to include the JVM's server directory. Add /platform/SUNW,Sun-Fire-V440/lib to LD_LIBRARY_PATH. For example:
- siebenv.csh:
setenv LD_LIBRARY_PATH=/usr/jdk/instances/jdk/jre/lib/sparc/server:/platform/SUNW,Sun-Fire-V440/lib:{LD_LIBRARY_PATH}
- siebenv.sh:
LD_LIBRARY_PATH=/usr/jdk/instances/jdk/jre/lib/sparc/server:/platform/SUNW,Sun-Fire-V440/lib:{LD_LIBRARY_PATH};export LD_LIBRARY_PATH
|
Windows |
jvm.dll |
JDK installation directory If using Java 7, then set the environment variable Path to include the JRE library. This is not necessary for Java 5 or 6. For example: <JRE_HOME >\jre7\bin\client\jvm.dll
|
- CLASSPATH. The classpath used by the JVM.
The classpath must include the following Siebel JAR files as well as all Java code implementing the desired business service.
The required Siebel JAR files are:
- Siebel.jar
- SiebelJI_lang.jar (lang corresponds to the default language for your installation).
- VMOPTIONS. Java Virtual Machine options. On all platforms, except AIX, it is recommended that the option -Xusealtsigs be used to make sure that the signal handlers used by the Siebel Server do not conflict with those of the JVM.
NOTE: The -Xusealtsigs option is mandatory for use on the Oracle Solaris platform. The JVM options do not load successfully into the Application Object Manager without this option.
The named 64-bit subsystem supplies the following parameters to the JBS: CONTAINERURL, CLASSPATH, and OPTIONS. These parameters are described as follows.
- CONTAINERURL: The URL to the Java Web Container server for all the JBS requests.
- CLASSPATH: The classpath used by the JVM.
The classpath must include the location of the jndi.properties file.
Ensure that the file contains the file name of the jndi.properties file.
With Java 8, the required JAR files for the execution of JMS must reside on the Java Web Container server. The Siebel.jar and SiebelJI_enu,jar are packaged within the war file. All other JMS Provider Jars depending on the usage of customer must be placed in the lib directory of the Apache Tomcat server.
- OPTIONS: In the Java 64-bit subsystem, OPTIONS is not used. Therefore, OPTIONS must be set using the CATALINA_OPTS option in the setenv.bat or setenv.sh file of the javacontainer based on the operating system. An example is as follows:
Windows
javacontainerX\bin\setenv.bat
set CATALINA_OPTS=-Djava.compiler=NONE
non-Windows
File: javacontainerX/bin/setenv.sh
CATALINA_OPTS="-Djava.compiler=NONE"
The following topics are also discussed here:
Creating a 32-bit Java Subsystem by Using the Siebel Server Manager
The following example shows how to create a named 32-bit Java subsystem using the Siebel Server Manager: create named subsystem JAVA for subsystem JVMSubSys with
DLL="D:\jdk\jre\bin\server\jvm.dll",
CLASSPATH="c:\cp\Siebel.jar;c:\cp\SiebelJI_enu.jar;c:\cp\myJARs.jar;.",
VMOPTIONS="-Xrs -Djava.compiler=NONE"
NOTE: On Oracle Solaris, the create statement might be truncated. To avoid this, you can set CLASSPATH in the create statement and DLL and VMOPTIONS in the Siebel application.
Alternatively, the parameters to the Java Business Service can be specified in the application configuration (CFG) file instead of a named subsystem. This applies only to the Siebel Mobile and Developer Web Clients, and not the Siebel Server. [JAVA]
DLL = D:\jdk\jre\bin\server\jvm.dll
CLASSPATH = c:\cp\Siebel.jar;c:\cp\SiebelJI_enu.jar;c:\cp\myJARs.jar;.
VMOPTIONS = -Xrs -Djava.compiler=NONE
Creating a 64-bit Java Subsystem by Using the Siebel Server Manager
The following example shows how to create a named 64-bit Java subsystem using the Siebel Server Manager: create named subsystem JAVA64 for subsystem JavaContainerSubSys change param CONTAINERURL=http://localhost:<Config Agent HTTP Port>/siebel/jbs for named subsystem JAVA64 change param CLASSPATH=<JNDI file path> for named subsystem JAVA64 change param JVMSubsys= JAVA64 for comp sccobjmgr_enu
Based on your usage, place all other JMS Provider jars in the lib directory of the Apache Tomcat server. NOTE: In Innovation Pack 2017 Siebel Server, the JAVA64 subsystem is preconfigured with the required CONTAINERURL, which eliminates the need for you to create the JAVA64 subsystem manually. However, you can modify parameters such as CLASSPATH-based JNDI file path.
Creating a 32-bit Java Subsystem by Using the Siebel Web Client
The following is an alternative procedure for creating a Java subsystem by using the Siebel Web Client. To create a Java subsystem by using the Siebel Web Client
- In the Siebel client, navigate to the Administration - Server Configuration screen, Enterprises view.
- In the first list applet, select the Enterprise Server that you want to configure.
- In the middle applet, click the Profile Configuration tab.
- Click New to create a new component profile and set the following parameters:
|
|
Profile |
JAVA |
Alias |
JAVA |
Subsystem Type |
JVMSubsys |
- In the Profile Parameters list applet (the last applet), set the following values:
- Set the Value of the JVM Classpath parameter to one of the following:
- The location of the jndi.properties file (if using the JMS Transport).
- The JMS provider JAR files (if using the JMS Transport).
- The Siebel.jar and SiebelJI_enu.jar files. These files can be installed by using either Siebel Tools or the Siebel Server. An example of these files for Microsoft Windows follows:
c:\Oracle\Middleware\wlserver_10.3\server\lib\weblogic.jar;c:\siebel\jndi; c:\siebel\siebsrvr\CLASSES\Siebel.jar; c:\siebel\siebsrvr\classes\SiebelJI_enu.jar
- Set the Value of the JVM DLL Name parameter to the path where you have the jvm.dll file installed. For example:
D:\jdk\jre\bin\server\jvm.dll
- Set the Value of the JVM Options record to any JVM-specific options that you would like to enable, for example:
-Djava.compiler=NONE
Creating a 64-bit Java Subsystem by Using the Siebel Web Client
The following is an alternative procedure for creating a 64-bit Java subsystem by using the Siebel Web Client. To create a 64-bit Java subsystem by using the Siebel Web Client
- In the Siebel client, navigate to the Administration - Server Configuration screen, Enterprises view.
- In the first list applet, select the Enterprise Server that you want to configure.
- In the middle applet, click the Profile Configuration tab.
- Click New to create a new component profile and set the following parameters:
|
|
Profile |
JAVA64 |
Alias |
JAVA64 |
Subsystem Type |
JavaContainerSubSys |
- In the Profile Parameters list applet (the last applet), set the following values:
- Set the Value of the JVM Classpath parameter to one of the following:
- The location of the jndi.properties file (if using the JMS Transport).
- Set CONTAINERURL to point to the java container. For example:
CONTAINERURL=http://localhost:<Config Agent HTTP Port>/siebel/jbs for named subsystem JAVA64
- Based on your usage, place all other JMS Provider jars in the lib directory of the Apache Tomcat server.
NOTE: In Innovation Pack 2017 Siebel Server, the JAVA64 subsystem is preconfigured with the required CONTAINERURL, which eliminates the need for you to create the JAVA64 subsystem manually. However, you can modify parameters such as CLASSPATH-based JNDI file path.
Creating a 32-bit Java Subsystem by Using the Siebel Dedicated Client
For dedicated client, define subsystem in the .cfg file with name JAVA. Define the 32-bit subsystem as follows: [JAVA] DLL = "<jre Install Dir>\bin\server\jvm.dll" CLASSPATH = "c:\cp\Siebel.jar;c:\cp\SiebelJI_enu.jar;c:\cp\myJARs.jar"; VMOPTIONS = "-Xrs -Djava.compiler=NONE"
Creating a 64-bit Java Subsystem by Using the Siebel Dedicated Client
For dedicated client, define subsystem in the .cfg file with name JAVA. Define the 64-bit subsystem as follows: [JAVA] FullName = JAVA Description = Generic SubsysType = JavaContainerSubSys CONTAINERURL = http://localhost:<Config Agent Port>/siebel/jbs CLASSPATH = <JNDI file path>
Based on your usage, place all other JMS Provider jars in the lib directory of the Apache Tomcat server. NOTE: For dedicated client, the subsystem name is JAVA in both 32 bit and 64 bit subsystems.
About Platform-Specific Configurations for the JVM
Depending on the platform, it is necessary to set certain environment variables to load the JVM properly:
- AIX. Make sure that you have the environment variable LIBPATH set to include the JVM's shared libraries,
/usr/java/jre/lib/ppc/ and /usr/java/jre/lib/ppc/j9vm . For example:
setenv LIBPATH=/siebel/siebsrvr/lib:/siebel/siebsrvr/mw/lib:/siebel/siebsrvr/SYBSsa90/lib:/usr/lib:/siebel/siebsrvr/lib:/oracle_client/app/oracle/OraHome_1/lib32:/oracle_client/app/oracle/OraHome_1/lib:/usr/java/jre/lib/ppc/:/usr/java/jre/lib/ppc/j9vm
For more information about setting the LIBPATH environment variable, see the documentation for IBM SDK and Java Runtime Environments (JREs) at:
http://www.ibm.com/support
- HP-UX. Make sure that you have the environment variable SHLIB_PATH set to include the JVM's
jre and server directories. For example:
setenv SHLIB_PATH /opt/java/jre/lib/PA_RISC2.0:/opt/java/jre/lib/PA_RISC2.0/server:${SHLIB_PATH}
Set the variable LD_PRELOAD to the full path of the Java library.
- Oracle Solaris, Windows. No additional settings are needed.
When a Java business service is invoked on UNIX from a server component (for example, the JMS Receiver; see EAI JMS Transport for more information), the necessary settings must be done in the script that creates the component. For the receiver, the script is siebshw ; for the Application Object Managers, it is siebmtshw . These scripts are present in the bin directory where the Siebel Server is installed.
|