# IBM Java ORB, Version 5.0

# Copyright information

Note: Before using this information and the product it supports, be sure to read the general information under Notices.

This edition of the User Guide applies to the IBM Java ORB Extension, for the V5.0 SDKs on the following platforms:

- IBM SDK for Solaris, Java 2 Technology Edition, Version 5.0
- HP JDK for J2SE HP-UX 11i, adapted by IBM for IBM software, Version 5.0
- Sun Windows 32-bit SDK, Version 5.0

(c) Copyright Sun Microsystems, Inc. 1997, 2004, 901 San Antonio Rd., Palo Alto, CA 94303 USA. All rights reserved.

(c) Copyright International Business Machines Corporation, 1999, 2006. All rights reserved.

U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.

# Preface

This release of the IBM(R) Java(TM) ORB (Object Request Broker) runs on the following SDKs:

- HP(R) JDK(TM) for J2SE(TM) HP-UX(R) 11i platform, adapted by IBM for IBM Software, Version 5.0
- HP Runtime Environment for J2SE HP-UX 11i platform, adapted by IBM for IBM Software, Version 5.0
- IBM 32-bit SDK for Solaris(TM), Java 2 Technology Edition, Version 5.0
- IBM 32-bit SDK for Solaris on Intel(R), Java 2 Technology Edition, Version 5.0
- IBM 64-bit SDK for Solaris, Java 2 Technology Edition, Version 5.0
- IBM 64-bit SDK for Solaris on AMD64/EM64T architecture, Java 2 Technology Edition, Version 5.0
- IBM 32-bit Runtime Environment for Solaris, Java 2 Technology Edition, Version 5.0
- IBM 32-bit Runtime Environment for Solaris on Intel, Java 2 Technology Edition, Version 5.0
- IBM 64-bit Runtime Environment for Solaris, Java 2 Technology Edition, Version 5.0
- IBM 64-bit Runtime Environment for Solaris on AMD64/EM64T architecture, Java 2 Technology Edition, Version 5.0
- Sun Windows(R) 32-bit SDK, Version 5.0

For HP-UX, this release covers both 32- and 64-bit, Itanium and PA-RISC processors.

This version of the IBM Java ORB is not supported on the IBM 32-bit SDK for Windows, Java 2 Technology Edition, Version 5.0.

# Contents

Copyright information
Preface
Installation and setup
Using the IBM ORB development tools
Using the IBM ORB naming service
Release contents
Release Notes
Coexistence considerations
Notices
Trademarks

# Installation and setup

To install the IBM Java ORB on Solaris and HP Hybrid Java SDKs:

1. Set up the following environment variables:
   1. Set JAVA_HOME to point to the location where your SDK is installed (for example, /jdk1.5).
   2. In your PATH environment variable, ensure that <JAVA_HOME>\ibm_bin precedes <JAVA_HOME>\bin.

To install the IBM Java ORB on Windows:

1. Unzip the orb50-<DATE>.zip file in the directory where your SDK is installed (for example, C:\jdk1.5).
2. Set up the following environment variables:
   1. Set JAVA_HOME to point to the location where your SDK is installed.
   2. In your PATH environment variable, ensure that <JAVA_HOME>\ibm_bin precedes <JAVA_HOME>\bin.

# Using the IBM ORB development tools

The scripts ibm_bin\rmic.bat and ibm_bin\idlj.bat (on HP and Solaris, the files do not have the .bat extension) allow you to use the IBM version of idlj and the IBM back-end generators for the rmic -iiop and -idl options.

These scripts do not work on Windows 95 and Windows 98.

If you are invoking idlj from your application's code, you must invoke the main class com.ibm.idl.toJavaPortable.Compile.

If you want to invoke rmic from your application's code, ensure that lib\ibmtools.jar is on the application's classpath (not on the rmic classpath). The main class is sun.rmi.rmic.Main.

To check whether you are using the IBM Java ORB, use the -version option, which is valid only if used with -iiop or -idl:

    rmic -iiop -version

If the output is:

    -version is an invalid option or argument

you are not using the IBM version. You should see a message similar to:

    IBM Compiler for RMI over IIOP build orb50-yyyymmdd

# Using the IBM ORB naming service

The scripts ibm_bin\tnameserv.bat and ibm_bin\orbd.bat (HP and Solaris, the files do not have the .bat extension) allow you to use the IBM version of tnameserv and the reference implementation of orbd.

These scripts do not work on Windows 95 and Windows 98.

If you are invoking tnameserv from your application's code, you must invoke the main class com.ibm.CosNaming.TransientNameServer.

# Release contents

The IBM Java ORB contains:

- ibmorbguide.htm - this User Guide
- ibm_bin directory
  - idlj - invoke idlj (HP-UX and Solaris)
  - orbd - invoke orbd (HP-UX and Solaris)
  - rmic - invoke rmic (HP-UX and Solaris)
  - tnameserv - invoke tnameserv (HP-UX and Solaris)
  - idlj.bat - invoke idlj (Windows)
  - orbd.bat - invoke orbd (Windows)
  - rmic.bat - invoke rmic (Windows)
  - tnameserv.bat - invoke tnameserv (Windows)
- ibm_lib directory
  - ir.idl - used by IDL compiler
  - orb.idl - used by IDL compiler
- jre\lib\endorsed directory
  - ibmcfw.jar - ORB runtime support
  - ibmorb.jar - ORB runtime
  - ibmorbapi.jar - CORBA API
- lib directory
  - ibmtools.jar - rmic and idlj support

# Release Notes

For further information about the IBM ORB extension, refer to the information supplied with the IBM 5.0 SDKs, or see http://www.ibm.com/java/jdk/rmi-iiop/index.html.

# Coexistence considerations

The IBM Java ORB uses the "Java Endorsed Standards Override Mechanism".

When you install the IBM Java ORB, the CORBA API provided in ibmorbapi.jar, together with the properties defined in orb.properties, overrides the CORBA API from your SDK. The following properties defined in jre/lib/orb.properties cause the IBM ORB runtime implementation to be used by default:

    org.omg.CORBA.ORBClass=
                      com.ibm.CORBA.iiop.ORB

    org.omg.CORBA.ORBSingletonClass=
                      com.ibm.rmi.corba.ORBSingleton

    javax.rmi.CORBA.UtilClass=
                      com.ibm.CORBA.iiop.UtilDelegateImpl

    javax.rmi.CORBA.StubClass=
                      com.ibm.rmi.javax.rmi.CORBA.StubDelegateImpl

    javax.rmi.CORBA.PortableRemoteObjectClass=
                      com.ibm.CORBA.iiop.PortableRemoteObject

If you want to use another vendor's ORB runtime with IBM's CORBA API, change the appropriate values in the orb.properties file. The vendor should provide these values.

If you want to use your SDK's original CORBA API with IBM's ORB runtime, simply move jre/lib/endorsed/ibmorbapi.jar to a different directory. If you then want to use the IBM CORBA API for a particular Java invocation, set the Java system property java.endorsed.dirs to include the directory to which ibmorbapi.jar has been moved, followed by the standard endorsed directory (jre/lib/endorsed).

# Notices

This information was developed for products and services offered in the U.S.A. IBM may not offer the products, services, or features discussed in this document in other countries. Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the user's responsibility to evaluate and verify the operation of any non-IBM product, program, or service.

IBM may have patents or pending patent applications covering subject matter in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to:

- IBM Director of Licensing
  IBM Corporation
  North Castle Drive, Armonk
  NY 10504-1758 U.S.A.

For license inquiries regarding double-byte (DBCS) information, contact the IBM Intellectual Property Department in your country or send inquiries, in writing, to:

- IBM World Trade Asia Corporation Licensing
  2-31 Roppongi 3-chome, Minato-ku
  Tokyo 106-0032, Japan

The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law:

INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you.

This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the information. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this information at any time without notice.

Any references in this information to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk.

IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring any obligation to you.

Licensees of this program who wish to have information about it for the purpose of enabling (i) the exchange of information between independently created programs and other programs (including this one) and (ii) the mutual use of the information which has been exchanged, should contact:

- JIMMAIL@uk.ibm.com
  [Hursley Java Technology Center (JTC) contact]

Such information may be available, subject to appropriate terms and conditions, including in some cases, payment of a fee.

The licensed program described in this document and all licensed material available for it are provided by IBM under terms of the IBM Customer Agreement, IBM International Program License Agreement or any equivalent agreement between us.

Any performance data contained herein was determined in a controlled environment. Therefore, the results obtained in other operating environments may vary significantly. Some measurements may have been made on development-level systems and there is no guarantee that these measurements will be the same on generally available systems. Furthermore, some measurement may have been estimated through extrapolation. Actual results may vary. Users of this document should verify the applicable data for their specific environment.

Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products.

## Trademarks

IBM is a trademark of International Business Machines Corporation in the United States, or other countries, or both.

Java and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.

Microsoft, Windows and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both.

Intel and Itanium are trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

Other company, product, or service names may be trademarks or service marks of others.