GIOP
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:
- La Representación Común de Datos (CDR) - es una sintaxis de transferencia, que mapea los tipos de datos de IDL en una representación de bajo nivel para su transferencia "por el hilo" entre ORBs.
- La Referencia de Objetos Interoperable (IOR) -define el formato de una referencia a un objeto remoto. Una IOR consiste en varios perfiles etiquetados, y sus componentes pueden llevar diversa información según se necesite. La IOR típica habitualmente contiene la versión del protocolo, la dirección del servidor y una secuencia de octetos que identifica al objeto remoto (clave del objeto).
- Los formatos de mensaje definidos - los mensajes se intercambian entre agentes para facilitar las peticiones de objetos, localizar implementaciones de objetos y gestionar los canales de comunicación. Los mensajes posibles son:
- Request se envía con el propósito de invocar el método remoto
- Reply se devuelven como respuesta del Request. Por lo general contiene los datos devueltos por el método remoto. En otros casos o la descripción de la excepción que fue lanzada en el lado del servidor.
- CancelRequest se utiliza para cancelar una petición que había sido enviada (ya no se espera una respuesta)
- LocateRequest se utiliza para verificar si el servidor conoce y soporta cierto objeto remoto, y en caso contrario, a qué dirección deberían enviarse las peticiones a ese objeto.
- LocateReply se envía desde el servidor como respuesta a LocateRequest. Si es necesario, puede contener la nueva dirección del objeto remoto que se ha movido.
- CloseConnection es enviado por el servidor cuando desea indicar que no proporcionará más respuestas en un futuro.
- MessageError se envía como respuesat a mensajes no válidos o mal formados. No se utiliza para informar de errores más allá del sistema de mensajes; tales errores deben enviarse usando el mensaje Reply.
- Fragment es un mensaje posterior, que es continuación del mensaje previo.
Formato binario
En los volcados binarios, el mensaje GIOP puede reconocerse fácilmente por su cabecera característica:
- Cuatro caracteres ASCII: G I O P
- Los dos bytes, que definen los números mayor (en la actualidad el 1) y menor de versión.
- Un octeto, que define los flags del mensaje. El bit menos significativo define el orden de bytes (0 - big endian, 1 - little endian).
- Un octeto que define el tipo de objeto (Reply, Request, Fragment, etc.)
- 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
Enlaces externos
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.