Jump to content

General Inter-ORB Protocol

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 116.50.59.180 (talk) at 05:01, 16 July 2012 (See also). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In distributed computing, General Inter-ORB Protocol (GIOP) is the abstract protocol by which object request brokers (ORBs) communicate. Standards associated with the protocol are maintained by the Object Management Group (OMG).

IIOP (Internet Inter-ORB Protocol) is the implementation of GIOP for TCP/IP. It is a concrete implementation of the abstract GIOP definitions.

Binary format

In the binary dumps the GIOP message can be easily recognised by the characteristic header:

  1. Four ASCII characters: G I O P
  2. Two bytes, defining first the major (currently only 1) and then minor version numbers.
  3. One byte, defining the message flags. The least significant bit defines the byte order (0 - big endian, 1 - little endian).
  4. One byte, defining the message type (Reply, Request, Fragment and so on).
  5. Four byte word, defining the message size (not counting the message header).

Messages can also carry arbitrary data fragments, identified by the standard integer tags. These additional data fragments are called service contexts and are used to extend the communication standard when necessary. There are standard service contexts to describe the thrown exception, to specify the charset for representing the national characters and so on. It is possible to register the client and server side interceptors that add the specific service contexts to the messages being sent and also read the specific contexts, added by the similar interceptor on the remote side.

CORBA, IIOP and OMG are the registered trademarks of the Object Management Group and should be used with care. Differently, the GIOP is not the registered OMG trademark (see list of OMG trademarks). Hence in some cases it may be more appropriate just to say that the application uses or implements the GIOP-based architecture.