[Enterprise Extensions only]

General CORBA interoperation considerations

This topic provides an overview of general considerations for interoperation between WebSphere Application Server and 3rd-party CORBA ORBs.

Why CORBA interoperation is an issue

Two CORBA ORBs should be able to interoperate, but in practice interoperation works well for two ORBs from the same vendor, but not so well for ORBs from different vendors. Even though the CORBA specification is designed to allow vendor ORBs to interoperate, there are many factors that restrict or prevent full interoperation, including:

Even if two ORBs fully conform to the CORBA specification, you usually need to configure each ORB implementation to recognize the presence of the other ORB or, more specifically, to initialize references to objects implemented on the other ORB.

Different host operating systems can impose different configuration and initialization procedures. You should carefully review the relevant documentation from each ORB vendor specific to the host operating environment. ORB vendors support a variety of operating systems, but not all operating systems are supported by any one ORB vendor.

Resolving the CORBA interoperation issue

The CORBA specification and vendor ORBs are continually evolving, and are expected to evolve to the point where interoperability is adequate for most, if not all, scenarios. Meanwhile, it is essential to understand what interoperation works as expected, what does not work, and what options are available for resolving the interoperation issues.

There are many interdependent factors that must be considered when designing a CORBA interoperation solution between ORBs from different vendors, or resolving problems in an existing design.

GIOP and J2EE

Communication between different ORBs is based on the General Inter-ORB Protocol (GIOP) specification, and the Internet Inter-ORB Protocol (IIOP) implementation of the GIOP. For J2EE 1.3, IIOP is required for J2EE products to interoperate; therefore Enterprise JavaBeans must be accessible via the RMI-IIOP protocol. Also, CORBA is the J2EE distributed interlanguage specification, so JavaIDL is required to support J2EE applications calling CORBA applications.