General Inter-ORB Protocol


General Inter-ORB Protocol

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 realization of the abstract GIOP definitions.

Message types

The Object Management Group defines three parts of GIOP:
*The Common Data Representation (CDR) - transfer syntax mapping OMG IDL data types into a low-level representation for “on-the-wire” transfer between ORBs and Inter-ORB bridges.
*The Interoperable Object Reference (IOR) - define the format of a reference to a remote object. An IOR consists of tagged profiles and their components that may carry various needed information. The typical IOR usually contains the protocol version, server address and a byte sequence identifying the remote object (object key).
*The defined message formats - messages are exchanged between agents to facilitate object requests, locate object implementations, and manage communication channels. Messages are:
**"Request" is sent to invoke the remote method.
**"Reply" is returned in response to "Request". It normally contains the data, returned from the remote method. In other cases the reply may contain the redirection instruction or the description of the exception that was thrown on a server side.
**"CancelRequest" is used to cancel request that was previously sent (no longer waiting for the answer).
**"LocateRequest" is used to verify if the server knows and supports the certain remote object, and (if not), to what address the requests for that object should be sent instead.
**"LocateReply" is sent by server in response to the "LocateRequest". If needed, it may contain the new address of the remote object that has moved.
**"CloseConnection" is sent by server, indicating that it will not provide the future responses.
**"MessageError" is sent in response to the malformed or otherwise invalid messages. It is not used to report errors outside the messaging system; such errors are reported using the "Reply" message.
**"Fragment" is a subsequent message, continuing the previous one. The long messages can be split into fragments.

Binary format

In the binary dumps the GIOP message can be easily recognised by the characteristic header:
# Four ASCII characters: G I O P
# The two bytes, defining first major (currently only 1) and then minor version numbers.
# One byte, defining the message flags. The least significant bit defines the byte order (0 - big endian, 1 - little endian).
# One byte, defining the message type ("Reply", "Request", "Fragment" and so on).
# The four byte word, defining the message size (not counting the message header).

Messages can also carry the 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.

Legal status of the GIOP abbreviation

CORBA, IIOP and OMG are the registered marks of the Object Management Group and should be used with care. Differently, the GIOP is not the registered OMG trademark (see [http://www.omg.org/legal/tm_list.htm list of OMG marks] ). Hence in some cases it may be more appropriate just to say that the application uses or implements the GIOP-based architecture.

ee also

*DIIOP
*ESIOP
*HTIOP
*XIOP
*BIOP - Broadcast Inter-ORB Protocol

External links

* [http://www.omg.org/docs/formal/04-03-12.pdf The official CORBA and GIOP standard] (about 10 MB)
* [http://tele.informatik.uni-freiburg.de/Research/fmvdoos.htm Formalization and Validation of the General Inter-ORB Protocol (GIOP) Using Promela and SPIN]
* [http://citeseer.csail.mit.edu/cs?q=GIOP Citations from CiteSeer]
*Java RMI over IIOP [http://java.sun.com/products/rmi-iiop/ Overview] and [http://java.sun.com/javase/6/docs/technotes/guides/rmi-iiop/ Guide]


Wikimedia Foundation. 2010.

Look at other dictionaries:

  • General Inter-ORB Protocol — GIOP (General Inter ORB Protocol) bezeichnet ein abstraktes Protokoll zur Kommunikation von Object Request Brokern (ORBs) im Bereich des Verteilten Rechnens. Bei GIOP handelt es sich um ein in CORBA 2.0 definiertes abstraktes Protokoll zur… …   Deutsch Wikipedia

  • General Inter-ORB Protocol — GIOP est un protocole abstrait utilisé pour la communication entre CORBA ORB. Il spécifie une syntaxe de transfert standard pour le format des messages échangés dans l inter opération utilisant ORB à travers n importe quelle connexion orientée… …   Wikipédia en Français

  • Internet inter-orb protocol — Le protocole IIOP, pour Internet Inter ORB Protocol, est le protocole de communication utilisé par CORBA. C est une implémentation s appuyant sur un transport TCP/IP du protocole de plus haut niveau GIOP (General Inter ORB Protocol). Portail de… …   Wikipédia en Français

  • Internet Inter-ORB Protocol — IIOP steht für „Internet Inter ORB Protocol“ einer Spezifikation der Object Management Group (OMG). Es handelt sich dabei um ein in CORBA definiertes Protokoll auf der Basis von GIOP, mit dem Object Request Broker (ORB) über das Internet… …   Deutsch Wikipedia

  • Internet Inter-ORB Protocol — Le protocole IIOP, pour Internet Inter ORB Protocol, est le protocole de communication utilisé par CORBA. C est une implémentation s appuyant sur un transport TCP/IP du protocole de plus haut niveau GIOP (General Inter ORB Protocol). Portail de… …   Wikipédia en Français

  • Object Request Broker — ORB est le sigle de Object Request Broker (traduction littérale : courtier de requêtes objet). Un ORB est l ensemble de fonctions (classes Java, bibliothèques C++...) qui implémentent un « bus logiciel » par lequel des objets… …   Wikipédia en Français

  • GIOP — General Inter Orb Protocol (Computing » General) …   Abbreviations dictionary

  • GIOP — General Inter ORB Protocol (CORBA, vergl. IIOP) …   Acronyms

  • GIOP — General Inter ORB Protocol (CORBA, vergl. IIOP) …   Acronyms von A bis Z

  • Common Object Request Broker Architecture — The Common Object Request Broker Architecture (CORBA) is a standard defined by the Object Management Group (OMG) that enables software components written in multiple computer languages and running on multiple computers to work together (i.e., it… …   Wikipedia