SAS 9.1.3 Integration Technologies » Developer's Guide


Java Clients

Using Java CORBA Stubs for IOM Objects

This section describes some of the differences between Java client programming with CORBA and regular, non-distributed Java programming. This information should help you understand the more complex elements of Java client programming for the IOM server because the Java software for using the IOM server is based on CORBA standards.

CORBA is a set of standards defined by the OMG(Object Management Group) computer industry consortium that enables software objects to communicate with each other regardless of the language used to write the objects and the communications medium used to connect the objects. For more information, see the OMG Web site.

In the Java client environment, there are two important parts of CORBA communication software: an object request broker (ORB) and stubs for IOM objects. The stubs are Java classes that have methods that correspond to the operations and attributes of a remote object. When you want to invoke an operation on a remote object, you instantiate the appropriate stub and call the corresponding method. The stubs do not actually implement the functionality of remote objects. Rather, when the stubs receive a method call, they collect information about it (such as the method name and parameters), repackage that information into a request, and then forward the request through a Java ORB to the remote server that hosts the remote object.

A Java ORB is a library of Java classes that sends requests from a stub over a communications medium (typically a TCP/IP network) to an object that implements the method. The format of a request is specified in strict detail by the CORBA standard, but the way that an ORB sends a request over a network is not standardized. The CORBA standard does specify a protocol called Internet Inter-ORB Protocol (IIOP) that ORBs must use if they are to interoperate with other ORBs (perhaps created by other vendors). In the most common CORBA applications, a stub calls into an IIOP ORB which communicates via IIOP with another IIOP ORB which calls out to an object implementing the desired functionality. However, if interoperation with other ORBs is not a priority, then protocols other than IIOP can be used to send requests across a network.

SAS Integration Technologies features a Java ORB called the IOM Bridge for Java that communicates with the IOM server through a proprietary network protocol called IOM Bridge. Though the IOM Bridge for Java does not use IIOP, it does adhere to the CORBA standard for the format of a request. SAS Integration Technologies also provides stubs for all of the IOM objects that are included in the IOM object hierarchy. The ORB and the stubs give you all you need to begin writing Java programs that can access the IOM Server.

Our ORB, the IOM Bridge for Java, is used internally by the Java Connection Factory (or the Version 8 Workspace Factory) and by the stubs so you will rarely need to know any details about the operation of the ORB or about its interface. However, the stubs collectively provide the primary interface for exploiting the functionality of the IOM server. Therefore, the Java programming information provided in this section deals with the use of IOM object stubs.