# IBM SDK for Java

# ORB Guide

Version 5 Release 0
Note

Before using this information and the product it supports, read the information in Notices.

Copyright information

This edition of the user guide applies to the IBM Java ORB Extension.

This user guide applies to 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.

Copyright International Business Machines Corporation 2003, 2008. All rights reserved.
US Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.

# Contents

Platforms
Installation and setup
Using the IBM ORB development tools
Using the IBM ORB naming service
Release contents
Further reading
Coexistence considerations
Notices
Trademarks

# Platforms

This release of the IBM(R) Java(TM) ORB (Object Request Broker) runs on SDKs for HP-UX and Solaris that have been adapted by IBM, and the SDK 32-bit SDK for Windows(R).

The exact platforms supported by this release of the IBM Java ORB are:

- HP JDK for J2SE HP-UX 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, 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 32-bit SDK, Version 5.0

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

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

# Installation and setup

The IBM Java ORB is included with IBM-supplied SDKs. To install the IBM Java ORB on a non-IBM SDK, extract the orb package in the SDK directory. Ensure that the IBM Java ORB is included before any other ORB implementation in the PATH environment variable.

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

1. Set up the following environment variables:
   1. Set JAVA_HOME environment variable to point to the location where your SDK is installed (for example, /opt/ibm/IBMJava2-50/).
   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:\Program Files\IBM\Java50\).
2. Set up the following environment variables:
   1. Set JAVA_HOME environment variable 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.

Restriction: 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 includes tools, data files, and jar files.

The files included are:

- 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

# Further reading

For further information about the IBM ORB extension, refer to the information supplied with the IBM v5.0 SDKs.

You can also visit http://www.ibm.com/java/jdk/rmi-iiop/index.html.

# Coexistence considerations

The IBM Java ORB uses the Java Endorsed Standards Override Mechanism to coexist with other implementations.

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

For more information about the Java Endorsed Standards Override Mechanism, see http://java.sun.com/j2se/1.5.0/docs/guide/standards/index.html.

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

All statements regarding IBM's future direction or intent are subject to change or withdrawal without notice, and represent goals and objectives only.

## Trademarks

IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. If these and other IBM trademarked terms are marked on their first occurrence in this information with a trademark symbol ((R) or (TM)), these symbols indicate U.S. registered or common law trademarks owned by IBM at the time this information was published. Such trademarks may also be registered or common law trademarks in other countries. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at http://www.ibm.com/legal/copytrade.shtml.

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

Microsoft, Windows and the Windows logo are trademarks of Microsoft Corporation in the United States, 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.

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