IIOP (Protocolo Inter-ORB de Internet)

IIOP (Internet Inter-ORB Protocol) es un protocolo que hace posible que los programas distribuidos escritos en diferentes lenguajes de programación se comuniquen a través de Internet. IIOP es una parte fundamental de un estándar estratégico de la industria, Common Object Request Broker Architecture (CORBA). Utilizando el IIOP de CORBA y los protocolos relacionados, una empresa puede escribir programas que podrán comunicarse con los programas existentes o futuros de su propia empresa o de otra empresa dondequiera que se encuentren y sin tener que entender nada sobre el programa más que su servicio y un nombre. CORBA e IIOP compiten con una estrategia similar de Microsoft llamada Modelo de objetos componentes distribuidos (DCOM). (Microsoft y Object Management Group, patrocinadores de CORBA, han acordado desarrollar puentes de software entre los dos modelos para que los programas diseñados para CORBA puedan comunicarse con los programas diseñados para DCOM).

CORBA e IIOP asumen el modelo de computación cliente / servidor en el que un programa cliente siempre realiza solicitudes y un programa servidor espera recibir solicitudes de los clientes. Al escribir un programa, utiliza una interfaz llamada Protocolo General Inter-ORB (GIOP). El GIOP se implementa en mapeos especializados para una o más capas de transporte de red. Sin duda, el mapeo especializado más importante de GIOP es IIOP, que pasa solicitudes o recibe respuestas a través de la capa de transporte de Internet utilizando el Protocolo de Control de Transmisión (TCP). Otras posibles capas de transporte incluirían la Arquitectura de red de sistemas (SNA) de IBM y el IPX de Novell.

Para que un cliente realice una solicitud de un programa en algún lugar de una red, debe tener una dirección para el programa. Esta dirección se conoce como referencia de objeto interoperable (IOR). Con IIOP, parte de la dirección se basa en el número de puerto y la dirección IP del servidor. En la computadora del cliente, se puede crear una tabla para asignar los IOR a los nombres de proxy que son más fáciles de usar. El GIOP permite que el programa se conecte con un IOR y luego le envíe solicitudes (y permite que los servidores envíen respuestas). Una representación común de datos (CDR) proporciona una forma de codificar y decodificar datos para que puedan intercambiarse de forma estándar.

Sun Microsystems desarrolló un protocolo algo similar, Remote Method Invocation (RMI), para servir a su marco multiplataforma para el lenguaje de programación Java. Sun ha proporcionado una forma de que la programación que utiliza el RMI se pueda asignar a IIOP.