En la computación distribuida , un intermediario de solicitudes de objetos ( ORB ) es un concepto de middleware que permite realizar llamadas a programas entre ordenadores a través de una red informática , proporcionando transparencia de ubicación mediante llamadas a procedimientos remotos . Los ORB promueven la interoperabilidad de los sistemas de objetos distribuidos, permitiendo que estos sistemas se construyan mediante la integración de objetos de diferentes proveedores, mientras que las distintas partes se comunican entre sí a través del ORB. La arquitectura común de intermediario de solicitudes de objetos (COB) estandariza la forma en que se puede implementar un ORB.
Descripción general
Los ORB asumen la tarea de gestionar la transformación de las estructuras de datos en proceso hacia y desde la secuencia de bytes sin procesar, que se transmite a través de la red. Esto se denomina serialización o empaquetado . Además del empaquetado de datos, los ORB suelen ofrecer muchas más funcionalidades, como transacciones distribuidas , servicios de directorio o planificación en tiempo real. Algunos ORB, como los sistemas compatibles con CORBA , utilizan un lenguaje de descripción de interfaz para describir los datos que se transmitirán en las llamadas remotas. [ 1 ] [ 2 ]
En lenguajes orientados a objetos (por ejemplo, Java ), un ORB proporciona un marco que permite utilizar objetos remotos a través de la red, como si fueran locales y formaran parte del mismo proceso . En el lado del cliente, se crean e invocan los llamados objetos stub , que constituyen la única parte visible y utilizada dentro de la aplicación cliente. Tras invocar los métodos del stub, el ORB del cliente realiza la serialización de los datos de invocación y reenvía la solicitud al ORB del servidor. En el servidor, el ORB localiza el objeto de destino, ejecuta la operación solicitada y devuelve los resultados. Una vez disponibles los resultados, el ORB del cliente realiza la deserialización y los devuelve al stub invocado, poniéndolos a disposición de la aplicación cliente. Todo el proceso es transparente, lo que hace que los objetos remotos parezcan locales. [ 1 ] Muchas implementaciones modernas de ORB también admiten características como patrones de invocación asíncronos y protocolos de comunicación conectables para mejorar la flexibilidad y el rendimiento.
Implementaciones
- CORBA - Arquitectura común de intermediación de solicitudes de objetos.
- ICE - el motor de comunicaciones de Internet
- .NET Remoting : biblioteca de acceso remoto a objetos dentro del .NET Framework de Microsoft .
- Fundación de Comunicación de Windows (WCF)
- ORBexpress - ORBs empresariales y en tiempo real de Objective Interface Systems
- Orbix : un ORB CORBA de nivel empresarial desarrollado originalmente por IONA Technologies.
- DCOM : el modelo de objetos de componentes distribuidos de Microsoft.
- RMI : el protocolo de invocación de métodos remotos de Sun Microsystems.
- ORBit: un ORB CORBA de código abierto utilizado como middleware para GNOME.
- ACE ORB : una implementación CORBA del Grupo de Computación de Objetos Distribuidos (DOC).
Véase también
- Agente de mensajes : módulo de programa informático
- Comunicación de objetos distribuidos
- Objeto distribuido : concepto en computación distribuida.
- D-Bus – Middleware orientado a mensajes de Linux
Referencias
- agente de solicitud de objetos
- Middleware
- Tipos de software básicos
- Software de red básico