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 10.
    Table 10. Complete 32-bit JRE Library Paths for Various Operating Systems
    Operating System
    JRE Library
    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

  1. In the Siebel client, navigate to the Administration - Server Configuration screen, Enterprises view.
  2. In the first list applet, select the Enterprise Server that you want to configure.
  3. In the middle applet, click the Profile Configuration tab.
  4. Click New to create a new component profile and set the following parameters:
    Name
    Value

    Profile

    JAVA

    Alias

    JAVA

    Subsystem Type

    JVMSubsys

  5. In the Profile Parameters list applet (the last applet), set the following values:
    1. 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

    1. 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

    1. 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

  1. In the Siebel client, navigate to the Administration - Server Configuration screen, Enterprises view.
  2. In the first list applet, select the Enterprise Server that you want to configure.
  3. In the middle applet, click the Profile Configuration tab.
  4. Click New to create a new component profile and set the following parameters:
    Name
    Value

    Profile

    JAVA64

    Alias

    JAVA64

    Subsystem Type

    JavaContainerSubSys

  5. In the Profile Parameters list applet (the last applet), set the following values:
    1. 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).
    2. Set CONTAINERURL to point to the java container. For example:

    CONTAINERURL=http://localhost:<Config Agent HTTP Port>/siebel/jbs for named subsystem JAVA64

    1. 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.

Transports and Interfaces: Siebel Enterprise Application Integration Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Legal Notices.