![]() |
The CORBA architecture provides the General Inter-ORB Protocol (GIOP) to define message formats between objects in a distributed environment. The Internet Inter-ORB Protocol (IIOP) is an implementation of GIOP.
GIOP includes a Common Data Representation (CDR) that resolves differences between native hardware architectures1 within such an environment. GIOP supports a number of simple data types, compound data types, object references, exceptions, and other features, depending upon the version of the specification (as shown in the following table). Nevertheless, early ORBs can encounter interoperability problems related to byte ordering.
If you suspect a GIOP-related interoperability problem, it is reasonably safe to adopt GIOP 1.0; all major ORBs support GIOP at this level. WebSphere supports client ORBs that use GIOP1.0 or GIOP1.1, with or without valuetypes from 1.2. Client ORBs cannot call WebSphere using GIOP1.2. Likewise, WebSphere ORBs can call 3rd-party CORBA servers at GIOP1.1 only. The WebSphere ORB does not accept or produce fragmented messages.
GIOP feature | Data types | GIOP version | WebSphere ORB | |||
---|---|---|---|---|---|---|
1.0 | 1.1 | 1.2 | Java | C++ | ||
Simple data types | octet, char, short, unsigned short, long, unsigned long long long, unsigned long long, float, double, boolean, string | Yes | Yes | Yes | Yes | Yes |
long double | Yes | Yes | Yes | - | - | |
fixed | Yes | Yes | Yes | - | - | |
wchar, wstring | - | Yes | Yes2 | 1.1 | 1.1 | |
enum | Yes | Yes | Yes | Yes | Yes | |
Compound data types | struct, union, array, sequence | Yes | Yes | Yes | Yes | Yes |
valuetype | - | - | Yes | Yes | Yes | |
CORBA::Object | Yes | Yes | Yes | Yes | Yes | |
any | Yes | Yes | Yes | Yes | Yes | |
context | Yes | Yes | Yes | Yes | Yes | |
exception | Yes | Yes | Yes | Yes | Yes | |
Message formats | Request, Reply, CancelRequest, LocateRequest, LocateReply, CloseConnection, MessageError | Yes | Yes | Yes | Yes | Yes |
Fragment | Yes | Yes | Yes | Yes | Yes | |
Bi-directional | - | - | - | Yes | - | - |
Related concepts... | |
Parent: General CORBA interoperation considerations | |