Apartado 3.8: Interoperabilidad

Anuncio
3.8 Interoperabilidad
Introducción
n
Interoperabilidad entre distintos ORBs de distintos
fabricantes
n
GIOP (General Inter-ORB Protocol)
n
n
IIOP (Internet Inter-ORB Protocol)
n
n
GIOP sobre TCP/IP
ESIOPs (Environment-Specific Inter-ORB Protocols)
n
n
n
Protocolo abstracto que especifica el formato de transferencia
de tipos IDL y un conjunto de formatos de mensajes para
permitir que ORBs de distintos fabricantes pueden interoperar
sobre un protocolo de transporte orientado a la conexión
No siguen GIOP (porque hay una infraestructura subyacente
que quieren aprovechar)
DCE CIOP (DCE Common Inter-ORB Protocol)
También está estandarizada la interoperabilidad con
COM/DCOM
GIOP (1)
Formato de un mensaje GIOP
n
Cabecera (12 bytes)
n
Cuerpo (longitud variable)
La cabecera especifica
n
n
n
Bytes 0..3: GIOP
Bytes 4..5: versión del protocolo (ej.: 1.1)
Byte 6: flags
n
n
n
n
Bit menos significativo: big-endian o little-endian
Segundo bit menos significativo: fragmento o { fin de
fragmento / mensaje completo }
Byte 7: tipo de mensaje
Bytes 8-11: tamaño del mensaje (sin contar la cabecera)
GIOP (2)
n
CDR (Common Data Representation)
n
n
Define el formato binario en el que se transmiten los tipos
IDL
Soporta representación big-endian y little-endian
n
n
n
n
El emisor especifica el tipo de orden de bytes
El receptor cambia el orden de los bytes si es preciso
Enfoque más eficiente que otras codificaciones (ej.: XDR) que
transmiten siempre los datos en un determinado orden (ej.:
big-endian)
Los datos nunca se etiquetan
n
Los stubs y skeletons generados son consistentes con las
definiciones IDL
GIOP (3)
n
Tipos de mensajes
Tipo de mensaje
Request
Emisor
Reply
Servidor
CancelRequest
Cliente
LocateRequest
Cliente
LocateReply
Servidor
CloseConnection
MessageError
Cliente o Servidor
Fragment
Cliente o Servidor
Cliente
Cliente o Servidor
GIOP (y 4)
n
Request
n
n
Para invocar una operación remota o leer/escribir un
atributo
Entre otra información, el cuerpo del mensaje incluye
n
n
n
n
n
Identificador de petición
Clave del objeto
Nombre de operación
Parámetros in e inout (en CDR)
Reply
n
n
Respuesta a un mensaje Request
Entre otra información, el cuerpo del mensaje incluye
n
n
Identificador de petición
Valor de retorno, parámetros out e inout y posibles
excepciones (en CDR)
IIOP
n
n
GIOP sobre TCP/IP
Estructura básica de una IOR
Clave del objeto
Identificador
de repositorio
n
Dirección de
transporte
Nombre del POA
Identificador del objeto
IIOP básicamente especifica el campo “dirección de
transporte”
n Máquina (nombre o dirección IP) y puerto
Estructura completa de una IOR
Id. repositorio
n
Datos para protocolo 1
Datos para protocolo 2
...
Datos para protocolo n
Cada campo “datos para protocolo i” contiene
información para contactar con el correspondiente
objeto con un determinado protocolo
n
IIOP, DCE-CIOP, información propietaria (permite
optimizaciones), información específica a servicios (ej.:
seguridad), etc.
Descargar