Previous     Contents     Index     DocHome     Next     
iPlanet Application Server Administrator's Guide



Chapter 14   Enabling Support For Corba-Based Clients


Earlier versions of iPlanet Application Server supported only the built-in Javasoft ORB to access EJBs through the RMI/IIOP protocol. The current version of iPlanet Application Server supports the use of a third-party ORB, ORBIX 2000, from IONA Technologies, apart from the Javasoft ORB. You can now choose between the built-in Javasoft ORB and ORBIX 2000, to provide server-side support to Corba elements.

This section describes how to configure RMI/IIOP support for Corba-based clients to access EJBs using either of the following ORBs:

  • iPlanet Application Server's Built-In Javasoft ORB

  • ORBIX2000

The following topics are discussed in this section:



Configuring Support For Javasoft ORB

You must add a CXS (Bridge) process to iPlanet Application Server, if Corba-based clients are to communicate directly with EJBs hosted on a KJS process via the Internet Inter-ORB Protocol (IIOP). Typically, requests are made through a web path where they originate at a Web Browser and are then processed by JSPs and servlets, which in turn access EJBs. This web path uses the HTTP protocol. In the case of Corba-based clients, requests are made through the JavaSoft ORB directly to EJBs using the CORBA Executive Server (CXS), a Java engine within iPlanet Application Server, which acts as a bridge between Corba-based clients and EJBs. For more information about developing and deploying Corba-based clients, see the Developer's Guide.

The following figure depicts the communication architecture within iPlanet Application Server, and the communication between Corba-based clients and EJBs in the server, using the CXS bridge process..



Figure 14-1    iPlanet Application Server Communication Architecture

To add a CXS (Bridge) process, perform the following tasks:

  1. On the iASAT toolbar, click General to open the General window.

  2. In the left pane of the General window, select the iPlanet Application Server instance where you want to add the CXS process.

  3. From the File menu, click New>Process.

    The New Process dialog box appears.



  4. From the Process drop-down box, choose CXS.

  5. In the Port text box, specify an unused port number where the additional process will run. This is an internal iPlanet Application Server engine port.

  6. In the IIOP Port text box, specify a port number to be used by the Corba-based client to talk to CXS. This is the port in which CXS listens for the Corba-based client.

  7. Click OK to add the new process.

  8. To use this process in a single-threaded environment, perform the following tasks:

    1. Select the required process in the left pane of the General window.

    2. In the right pane of the window, set the Minimum and Maximum Threads to 1.

  9. Click Apply Changes to save your changes.



Configuring Support For ORBIX2000

This section describes how to configure iPlanet Application Server for ORBIX 2000 support. The following topics are discussed in this section:

To Configure ORBIX Support on Solaris

To Configure ORBIX Support on Windows NT


To Configure ORBIX Support on Solaris

To configure ORBIX support on Solaris, perform the following tasks:

  1. Install ORBIX 2000 version 1.2.1.

  2. Copy the license file to your machine and install the license. Refer to the ORBIX documentation at http://www.iona.com for more details regarding license installation.

  3. Create a configuration domain for ORBIX.

    ORBIX comes with a default localhost domain configuration that can be used when both iPlanet Application Server and Corba elements are running on the same machine. If both iPlanet Application Server and the Corba elements are running on different machines, you need to create a new configuration domain using either the file-based method or repository-based method. In file-based domain creation method, the complete configuration details relating to the services are maintained in a configuration file. This file is created after you perform the steps required for domain creation.

    Refer to the ORBIX Administrator's Guide for more information.

  4. You now need to add interceptors for security services in the configuration file, as follows:

    1. Add server interceptor name iASServerInterceptor to the server_binding_list at the global scope, in the configuration file that you created.

      For example, before you add the server interceptor name, the relevant entry in the configuration file will look like this:

      binding:server_binding_list=[OTS]

      After you add iASServerInterceptor as the server interceptor name, the configuration file entry will look like this:

      binding:server_binding_list=[iASServerInterceptor, OTS]

    2. Add the interceptor portable_interceptor to the orb_plugins entry in the configuration file.

      For example, before you add the interceptor portable_interceptor to the orb-plugins entry, the entry looks like this:

      orb_plugins=[iiop_profile,giop,iiop,ots]

      After you add portable_interceptor as the portable interceptor name to orb-plug ins, the entry looks like this:

      orb_plugins=[iiop_profile,giop,iiop,ots,portable_interceptor]

  5. You now need to modify the common environment variables file, iasenv.ksh, to let iPlanet Application Server know the location of the ORBIX configuration on your machine.

    1. Open iasenv.ksh. Navigate to the ORBIX configuration section, which comes under the ORBIX Configuration Settings comment.

    2. In the following variable, indicate the name of the directory in which ORBIX is installed:

      · IT_PRODUCT_DIR = <ORBIX product install directory>

    3. In the following variable, indicate the name of the directory into which you have copied the ORBIX license file, licenses.txt:

      · IT_LICENSE_FILE_DIR= <path to ORBIX license file>

    4. In the following variable, indicate the ORBIX configuration domain name.

      ORBIX_DOMAIN_NAME=<configuration domain name>

    5. In the following variable, indicate the path to the ORBIX configuration domain file.

      ORBIX_CONFIG_DOMAINS_DIR = <configuration file path>

    6. In the following variable, indicate if you want to enable load-balancing across CXS (Corba Executive Server), which is the server-side RMI/IIOP process.

      · ORBIX_LOADBALANCING= true or false.

      Load balancing across CXS is enabled, by default. Setting the flag to false will turn this feature off.

    7. The JAVA_ARGS variable is set for the JavaSoft ORB in iasenv.ksh, as follows:

      JAVA_ARGS=-Xss512k -Xms64m -Xmx64m

      To enable support for ORBIX, you need to un-comment this variable, as shown below:

      ##JAVA_ARGS=(-Xss512k -Xms64m -Xmx64m) -DBridge_ORB_CLASS=com.iona.corba.art.artimpl.ORBImpl -DORBIXLoadBalancing=$ORBIX_LOADBALANCING -Xbootclasspath/a:$IT_PRODUCT_DIR/orbix_art/1.2/classes/omg.jar -DORBdomain_name=$ORBIX_DOMAIN_NAME -DORBconfig_domains_dir=$ORBIX_CONFIG_DOMAINS_DIR -Dorg.omg.PortableInterceptor.ORBInitializerClass.com.iplanet.ias.iona.orbinitializers.IONAServerORBInitializerImpl=

      If you want to enable support for JavaSoft again, reverse the above step.

  6. To set ORBIX environment variables, execute the following commands at the command line. Note that each command begins with a period (.), followed by a space:

    . <orbix installation directory>/bin/<domain name>_env

    . <orbix installation directory>/bin/<domain name>_java_env

    For example, if the domain name is "Marigold", then:

    . <orbix installation directory>/bin/marigold_env

    . <orbix installation directory>/bin/marigold_java_env

  7. Execute the following command to start the ORBIX service:

    <orbix installation directory>/bin/start_<domain name>_services

    For example, if the domain name is "Marigold", then -

    /space/iona/bin/start_marigold_services

  8. Deploy the required applications. Ensure that the stubs and tie are regenerated when the application is deployed and restart iPlanet Application Server.

    The CXS engine, once registered, starts to process objects in the client-side object groups. The RMI/IIOP ORB sends requests to the CXS engine and continues to do so, even when the CXS engine is down. To avoid this, you need to ensure that all the registered CXS engines are up. Normally, the KAS (the Administrative Server) brings up failed server engine processes. However, if a CXS engine is either disabled, deleted or not started (this may happen if KAS is not started), it is better to delete that engine's object from all the object groups. You can do that by using the following commands:

    To list the current object groups handled by CXS engines - itadmin nsog list

    To list the current members - itadmin nsog list_members <Group Name>

    To remove a member (member name is equal to the engine number) -

    itadmin nsog remove <GroupName>

    or

    itadmin nsog remove_member -og_name <GroupName> <engine no>

    To confirm removal -itadmin nsog list_members <Group Name>

    The <group name> is the ejb-name + Group


To Configure ORBIX Support on Windows NT

You can configure ORBIX support on Windows NT, by performing the following tasks:

  1. Install ORBIX 2000 version 1.2.1.

  2. Copy the license file to your machine and install the license. Refer to the ORBIX documentation at http://www.iona.com for more details.

  3. Modify the following iPlanet Registry keys as indicated below:

    SOFTWARE\iPlanet\Application Server\6.0\Java\ClassPath=<path to ORBIX license file >;<path to ORBIX domain configuration file>;<ClassPath>;<orbix_inst_dir>\orbix_art\1.2\classes\orbix2000.jar;<orbix_inst_dir>\orbix_art\1.2\localhost

    Note
    • <orbix_inst_dir> is the ORBIX installation directory.

    • <orbix_inst_dir>\orbix_art\1.2\classes\orbix2000.jar is path for ORBIX implementation JAR file - orbix2000.jar.

    • <ClassPath> the existing specification, in iPlanet Registry.

    • Refer to About iPlanet Registry Editor for information on how to modify keys in iPlanet Registry.



  4. Modify the following iPlanet Registry as indicated below:

    SOFTWARE\iPlanet\Application Server\6.0\Java\JavaArgs = -Xbootclasspath/a:<orb_inst_dir>\orbix_art\1.2\classes\omg.jar

    -DIASORBCLASS=com.iona.corba.art.artimpl.ORBImpl

    -DORBdomain_name=domain name

    -DORBconfig_domains_dir=<path to ORBIX domain configuration file>

    -Dorg.omg.PortableInterceptor.ORBInitializerClass.com.iplanet.ias.iona.orbinitializers.IONAServerORBInitializerImpl=

    -DORBIXLoadBalancing=true

    Note
    • IBride_ORB_CLASS refers to the ORB to be loaded. In this case, it is com.iona.corba.art.artimpl.ORBImpl which is the ORBIX ORB.

    • If both iPlanet Application Server and the Corba client are running on the same machine, you do not need to add ORBdomain_name and ORBconfig_domains_dir to the JavaArgs key in iPlanet Registry. These are configured in the local host configuration file that comes with ORBIX.



  5. If iPlanet Application Server and the Corba client are running on different machines, you need to create a new configuration domain on the machine where ORBIX services are running. You can generate the domain configuration using the file-based method or the repository-based method. Refer to the ORBIX Administrator's Guide for more information.

    In the file- based domain creation method, the configuration details relating to ORBIX services are maintained in a configuration file. This file is created when you create a configuration domain in a specific path.

    You need to update the following iPlanet Registry with the new configuration domain name and and the path for the configuration domain file:

    SOFTWARE\iPlanet\Application Server\6.0\Java\JavaArgs = -DORBdomain_name=domain_name -DORBconfig_domains_dir=domain_path

    For example, if the configuration domain name is Marigold, and the domain configuration file is stored in the path D:\iona\domains, then you need to modify the following iPlanet Registry key as given below:

    SOFTWARE\iPlanet\Application Server\6.0\Java\JavaArgs = -DORBdomain_name=marigold -DORBconfig_domains_dir=D:\iona\domains

  6. You now need to modify the ORBIX configuration file as given below, to enable security services:

    1. Add server interceptor name iASServerInterceptor to the server_binding_list at the global scope in the configuration file.

      For example, before you add the server interceptor name, the relevant entry in the configuration file will look like this:

      binding:server_binding_list=[OTS]

      After you add iASServerInterceptor as the server interceptor name, the configuration file entry will look like this:

      binding:server_binding_list=[iASServerInterceptor,OTS]

    2. Add the interceptor portable_interceptor to the orb_plugins entry in the configuration file.

      For example, before you add the interceptor portable_interceptor to the orb-plugins entry, the entry looks like this:

      orb_plugins=[iiop_profile,giop,iiop,ots]

      After you add portable_interceptor as the portable interceptor name to orb-plug ins, the entry looks like this:

      orb_plugins=[iiop_profile,giop,iiop,ots,?portable_interceptor?]

  7. Load balancing across CXS is enabled, by default. To disable load balancing, set the following JavaArgs arguement to False, in iPlanet Registry:

    SOFTWARE\iPlanet\Application Server\6.0\Java\JavaArgs =ORBIXLoadBalancing = false

    Note The following command displays all object groups:

    <orbix home>/bin/itadmin nsog list

    The following command displays all the objects bound to a group:

    <orbix home>/bin/itadmin nsog list_members <Group Name>

    You can turn the load-balancing feature on or off, using the following command:

    <orbix home>/bin/itadmin nsog modify -type [rr|rand|active] <GroupName>

    Note that the `group name' is the ejb name+Group.



    The CXS engine, once registered, starts to process objects in the client-side object groups. The RMI/IIOP ORB sends requests to the CXS engine and continues to do so, even when the CXS engine is down. To avoid this, you need to ensure that all the registered CXS engines are up. Normally, the KAS (the Administrative Server) brings up failed server engine processes. However, if a CXS engine is either disabled, deleted or not started (this may happen if KAS is not started), it is better to delete that engine's object from all the object groups. You can do that by using the following commands:

    To list the current object groups handled by CXS engines:

    itadmin nsog list

    To list the current members:

    itadmin nsog list_members <Group Name>

    To remove a member (the member name is the same as the engine number):

    itadmin nsog remove <GroupName>

    or

    itadmin nsog remove_member -og_name <GroupName> <engine no>

    To confirm removal:

    itadmin nsog list_members <Group Name>

    The <group name> is the ejb-name + Group

  8. Deploy the required application. Ensure that the stubs and ties are regenerated while deploying the application.

  9. Set ORBIX environment variables by running the following commands at command prompt:

    <orbix installation directory>/bin/<domain name>_env.bat

    <orbix installation directory>/bin/<domain name>_java_env.bat

    For example, if the domain name is Marigold, then:

    <orbix installation directory>/bin/marigold_env.bat

    <orbix installation directory>/bin/marigold_java_env.bat

  10. Start ORBIX services by executing following command at the command prompt: <orbix installation directory>/bin/start_<domain name>_services.bat

  11. Start iPlanet Application Server.

Refer to the Developer's Guide for information on client-side Corba programming.


Previous     Contents     Index     DocHome     Next     
Copyright © 2001 Sun Microsystems, Inc. Some preexisting portions Copyright © 2001 Netscape Communications Corp. All rights reserved.

Last Updated November 09, 2001