5.1 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) n CDR (Common Data Representation) n n Define cómo 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 (y 2) 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 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.