Distributed Component Object Model Universidad Simón Bolívar. DCOM Distributed Component Object Model Sistemas Distribuidos. Eduardo Roa
DCOM - Historia Se quiere lograr una comunicación entre aplicaciones (documentos compuestos). DDE (Dynamic Data Exchange) OLE (Object Linking and Embidding 1991) OLE 2.0 1993. COM Activex COM+ DDE utlizaba el portatpapeles como mecanismo de comunicación entre aplicaciones OLE permitia la creacion de documentos compuestos OLE 2.0 trataba a los documentos compuestos como compoenentes de software COM
DCOM - Historia Ejemplo documentos compuestos
DCOM - COM COM (Component Object Model) Interoperabilidad Interacción rápidas entre objetos Transparencia en localización Independencia del lenguajes Permite compartir no-documentos basado en componentes Aprovecha la programación orientada a objetos COM no es un sistema, no es una librería, Com es una tecnologia que ofrece servicios. Y permite separa la interfaz de la implementacion. Modelo por compoenentes mas complejo, estructura, comunicación y medios para que el desarrollador los manipule
Implementación – Componente COM DCOM - COM Estructura de COM Componente – objecto de C++. A un objeto Com solo se accede a travez de sus interfaces. Interfaz servicios que expone un componente COM. Tabla de punteros Clientes aplicación que haga uso de los servicios Implementación – Componente COM Cliente Interfaz
DCOM - COM Estructura de COM Componente COM Servidores COM EXE DLL Servidores com se encargan de realizar el registro del componente, crear las factorias que permiten a los clientes usar dichos componentes. Servidores COM EXE DLL Espacio de cliente Espacio propio
DCOM - COM Interfaces Se realizan en lenguaje independiente Lenguaje IDL Interfaz Iunknown (pilar central de COM) Controla la vida de los objetos Resolución de Interfaces GUID (Identificador global único) Numero de 128 bits irrepetible. Ayuda a identificar los objetos e interfaces de tal manera de evitar conflictos. CLSID (GUID que identifica componentes COM) IID (GUID que identifica a interfaces)
DCOM Presenta todas las caracteristicas de COM. Con la diferencia que ahora es distribuido. Necesita un protocolo de comunicación TCP/IP. Provee interfaces para que los componentes distribuidos compartan memoria. Transparencia. Se encarga automaticamente de LOAD y el UNLOAD del componente. DCOM provee soporte de persistencia.
DCOM DLL Comunicación entre servidores y clientes (COM) Cliente.exe Archivo.dll CLASE IArchivo Iarchivo * lpArchivo DLL
DCOM Ejecutable LIPC (Local Inter-Process Communication). Cliente.exe Iarchivo * lpArchivo Proxy COM LIPC Archivo.exe Stub COM CLASE IArchivo
DCOM DCOM – Servidores fuera de proceso – Remote Procedure Call Ordenador A Cliente.exe Iarchivo * lpArchivo Proxy COM RPC Hablar sobre la posibilidad de Procesos sub-rogados o sustitutos lo que permite cargar DLL en el servidor. Ordenador B Archivo.exe CLASE IArchivo Stub COM
DCOM Proceso Subrogados Pone en marcha el servidor usando librerías dinámicas. Método que es suplantado en la actualidad por MTS (Microsoft Transaction Server) Marshaling Consiste en convertir los parámetros que el cliente quiere enviar al servidor de tal forma que puedan transportarse entre procesos o maquinas. Durante la preparación se convierten en otra representación como NDR (Network Data Representation). Formato indpendiente de plataformas hardware y sistema. UnMarshaling Proceso inverso al Marshaling que ejecuta el servidor para recibir los parámetros.