CORBA nodes

Use CORBA nodes to connect IBM® Integration Bus with CORBA Internet Inter-Orb Protocol (IIOP) applications.

CORBA is a standard for distributing objects across networks so that operations on those objects can be called remotely. CORBA objects are described in Interface Definition Language (IDL) files, and these IDL files are used to configure the CORBA message flow nodes. The IDL file is stored in a message set project, in a folder called CORBA IDLs.

An IDL importer imports the IDL file into the message set project and creates the message definition file (.mxsd) in the message set. This message definition file is used for mid-flow validation, ESQL content assist, and the Mapping node.

For each IDL file, a single message definition is created. In the message definition, two messages are created for each operation in the IDL file: one message for the request, and one for the response. The request has a child element for each in and inout parameter; the response has a child element for each inout and out parameter, and a child element named "_return" for the return type of the operation.

The name of these elements is based on the interface name and operation name; for example, for the operation sayHello in the Interface Hello, the request element is called Hello.sayHello, and the response element is called Hello.sayHelloResponse. If the interface is contained in a module, the request and response element names are qualified with the names of the modules. For example, if the operation sayHello in the Interface Hello is contained in ModuleB, which in turn is contained in ModuleA, the response element would be called ModuleA.ModuleB.Hello.sayHelloResponse.

When you add a message flow that contains CORBA nodes to a BAR file, all the IDL files that are used by the nodes are added to the BAR file automatically.

The main scenario for connecting IBM Integration Bus with CORBA applications is described in the following section.

IBM Integration Bus calls a CORBA server

By using a message flow that includes a CORBARequest node, you can give existing CORBA applications a new external interface; for example, a SOAP interface. The message flow uses the IDL file to configure which operation is called on which interface.

After you have deployed the BAR file, you can start the message flow. A CORBA request is sent by using values from the message tree in the DataObject domain as input parameters. If a response is received, the return type and output parameters are propagated to the Out terminal of the CORBARequest node. You can use the data that is returned from the CORBA application to verify the result from the CORBARequest node.