En computación distribuida, GIOP (Protocolo Entre ORBs General, General Inter-ORB Protocol) es el protocolo abstracto por el cual los ORBs se comunican. Los estándares asociados con el protocolo son mantenidos por el Object Management Group (OMG).

IIOP (Internet Inter-Orb Protocol) es la implementación de GIOP para TCP/IP. Es una realización concreta de las definiciones abstractas de GIOP.

Tipos de mensaje

El Object Management Group define tres partes en GIOP:

Formato binario

En los volcados binarios, el mensaje GIOP puede reconocerse fácilmente por su cabecera característica:

  1. Cuatro caracteres ASCII: G I O P
  2. Los dos bytes, que definen los números mayor (en la actualidad el 1) y menor de versión.
  3. Un octeto, que define los flags del mensaje. El bit menos significativo define el orden de bytes (0 - big endian, 1 - little endian).
  4. Un octeto que define el tipo de objeto (Reply, Request, Fragment, etc.)
  5. Una palabra de cuatro octetos que define el tamaño del mensaje (sin contar la cabecera)

Estos mensajes también pueden transportar fragmentos arbitrarios e datos. Estos fragmentos adicionales de datos se llaman contextos de servicio y se utilizan para extender la comunicación estándar cuando se necesita. Existen contextos de servicio estándar para describir la excepción lanzada, para especificar el juego de caracteres, etc. Es posible registrar interceptadores en el lado del cliente y del servicio para añadir contextos de servicio especfícos a los mensajes que se envían, así como leer los dichos contextos, añadidos por el interceptor en el lado remoto.

Situación legal del acrónimo GIOP

CORBA, IIOP y OMG son marcas registradas del Object Management Group y deben ser usadas con cuidado. Sin embargo, GIOP no es marca registrada por el OMG (véase listado de marcas del OMG). Por tanto en ciertos casos es más apropiado simplemente decir que la aplicación utiliza o implemente una arquitectura basada en GIOP.


Véase también