Está en la página 1de 4

DCOM es el modelo de objetos distribuido propuesto por Microsoft, basado en el a nterior modelo COM(Component Object MOdel).

COM propone una arquitectura y un modelo para entornos locales, con la f inalidad de resolver los problemas de desarrollo de aplicaciones en los equipos basados en entorno Windows. COM per mite y gestiona la interaccion entre programas ejecutables. DCOM se basa en COM extendindose a los sistemas distribuidos de objetos, de forma anloga a CORBA. DCOM permite la comunicacin entre objetos escritos en diferentes lenguajes de comunicacin, aunq ue est pensado fundamentalmente para entornos de Microsot Windows. La arquitectura DCOM presenta muchas similutes con CORBA. Sin embargo, la notacin que emplea difiere senciblemente y puede inducir a equvocos: Al stub del cliente se le conoce como proxy y al del servidor como STUB. El trmino proxy se emplea tambin para referirse a una instancia en ejecucin del STU B en CORBA. En DCOM los objetos se crean a partir de una fbrica de objetos: el IclassFactory, que proporciona los identificadores necesarios para el objeto, GUID. Un nombre codificado de 128 bits, nico en cada i nterfaz. La siguiente figura ilustra el procedimiento para la creacin e identificacin de los objetos. figura x.x. modelo de creacin de objetos en la arquitectura DCOM. Ente las caractersticas de DCOM debe citarse la existencia de un registro similar al IR de CORBA, aunque muy simple. Adems, con el fin de evitar la fragilidad (problemas por coincidencia de nombres de mtodos), DCOM no admite herencia, aunque ofrece alternativas como son la agregacin (un objeto controla las interfac es de un grupo) o la delegacin (reutilizacin de una interfaz). RMI La otra alternativa para soportar objetos distribuidos es RMI (Remote Method In vocation). RMI puede interpretarse como una simplificacin de CORBA en el sentido de que se orienta a la comunicacin e ntre objetos implementados exclusivamente en Java. Esta restriccin de RMI le hace ms facil de utilizar. RMI confiere a Java la capacidad de extender la comunicacin a los objetos distrib uidos por la red. El hecho de que RMI haya sido diseado para ser empleado con el lenguaje Java, con diciona que tanto el cliente como el servidor deban ser mquinas virtuales Java. derivado de esta caracterstica, RMI permite las llamadas desde APPLEST Java a los servidores de los objetos. Adems, garantiza la robustez y seguridad pr opias de este lenguaje de programacin. La localizacin de objetos remotos requiere la obtencin de referencias a esos objet os. Para ello RMI ofrece dos posibilidades: en la primera, una aplicacin puede registrar sus objetos mediante un servicio de nombre denominado RMIREGISTRY. En la segunda, la aplicacin puede pasar y devolver directamente una referencia a un objeto remoto como parte de una operacin. RMI proporciona los mecanismos necesarios para la obtencin de los BYTECODES (cdigo s JAva ejecutables), as como para la transmisin de los datos. En este sentido. RMI permite la carga dinmica de una c lase. Esto es, en el caso de que una clase sea necesaria en una mquina virtual y no est definida, RMI proporciona l

os medios para la obtencin y descarga de estos cdigos en tiempo de ejecucin. Los tipos y el comportamiento del objeto puede de este modo ser s mquinas virtuales, de modo que se produce un aprendizaje dinmico mediante la obtencin de nuevos jecucin. Java RMI funciona segn la definicin de interfaces que definen os implementan. Para que un objeto Java forme parte del entorno distribuido de objetos debe interfaz denominada remote, extendiendo (es decir, heredando) la interfaz java.rmi.Remote. propagado a otra tipos en tiempo de e mtodos y clases que l implementar una

http://books.google.com.pe/books?id=uQnf0S0pg00C&pg=PA228&dq=dcom+y+com+puntero+ de+interfaz&hl=es&ei=Uw2RTrC8NcTI0AGprd1F&sa=X&oi=book_result&ct=result&resnum=2 &ved=0CDMQ6AEwAQ#v=onepage&q&f=false http://www.ica.luz.ve/cstufano/CursoDeRedes/ http://acsblog.es/pfc/DCOM/DCOM.html xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Especificacin COM/DCOM Es a su vez una especificacin y una implementacin, desarrollada por Microsoft, que proporciona un entorno para la integracin de componentes. Este entorno soporta interoperabilidad y reusabilidad de objetos distribuidos permitiendo a los desarrolladores construir sistemas ensamblando componentes reusables de di stintos fabricantes, con esto se obtienen los beneficios de mantenibilidad y adaptabilidad. COM distribuido(DCOM), es una extensin de COM que permite la interaccin de compone ntes COM a travs de una red de comunicaciones. Mientras que los componentes COM pueden ejecutarse en la misma mq uina pero en diferentes espacios de direcciones, DCOM permite que los componentes se encuentren diseminados por toda la red. Es importante resaltar que COM/DCOM es una tecnologa de bajo nivel que permite in teractuar a componentes. OLE, Activex y MTS son por el contrario servicios de aplicacin de alto nivel basadas en COM. O LE proporciona servicios para documentos. Activex aade capacidades para usar COM en sitios Web. MTS extiende CO M con servicios empresariales como transacciones y seguridad. Por ltimo COM evolucion a COM+, que por un lado facilita la programacin ocultando l a complejidad de COM, y por otro lado integra la funcionalidad aportada por MTS y adems ofrece servicios de cola d e mensajes. LOS OBJETOS COM COM es una especificacin binaria donde cada objeto expone los servicios que ofrec e a travs de un conjunto de interfaces. Estas interfaces son la nica forma de trabajar con un objeto COM. La estructura binaria de un objeto COM es la base de interoperatividad con otros objetos COM escritos en el mismo o diferente lenguaje de programacin.

LAS INTERFASES En COM, las aplicaciones interactan entre si y con el sistema a travs de coleccion es relacionadas de funciones llamada interfaces. Un objeto COM puede ofrecer un determinado nmero de interface s. Los clientes interactan con objetos COM nicamente a travs de punteros a interfaces. Cuando un cliente tiene un puntero a un objeto COM, en realidad lo nico que tiene es un puntero a una interfaz, de tal manera que le es imposible acceder a la implementacin interna del objeto y a su e stado lo que garantiza la seguridad. La interfaces se consideran inmutables; una vez definidas e implementadas no pue de cambiar, si se necesita ms tarde, aadir, cambiar o borrar un mtod de una interface, la regla es definir un nuevo int erface. Esta restriccin no la impone COM sino que es un convenio que se ha de seguir escrupulosamente para evi tar incompatibilidades causadas por cambios, de esta forma un objeto que trabaje con una interface sabe que siempre lo hace con un conjunto consistente de mtodos. Los objetos COM y sus interfaces se especifican a travs de un lenguaje de definic in de interfaces (IDL) de Microsoft, y para evitar la colisin de nombres, cada objeto y cada interface ha de tener un n ico identificador. Cualquier objeto COM ha de implementar al menos la interfaz Iunknown, que en est a est definida un conjunto de servicios bsicos necesarios: - Un mecanismo que permite a los clientes descubrir en tiempo de ejecucin si un d eterminado interface esta soportado por un objeto COM. Adems permite al cliente obtener un puntero a la interface que se est solicitando al objeto COM. - Dos mtodos para contar referencias (AddRef y Release). IDENTIFICADORES DE OBJETOS E INTERFASES Para identificar cada objeto COM y cada uno de sus interfaces COM se les asigna un entero de 128 bits. Esta garantizado que cada identificador asignado es nico en cualquier lugar del mundo y a lo largo del tiempo. Estos identificadores denominados GUIDs(Globally Unique Identifiers) son una implementacin de los ident ificadores universales (UUIDs) de la especificacin DCE de la Open Software Foundation. El identificador GUID de una cl ase se denomina CLSID y el homlogo para una interface IIDS. PROCESOS Cada objeto COM se ejecuta dentro de un proceso servidor. Un nico proceso servido r soporta mltiples objetos COM. Hay tres maneras en las que un cliente puede acceder a un objeto COM de un proce so servidor: _ Servidor en el mismo proceso (In-process server): el cliente se enlaza directa mente con la librera que contiene el servidor, entonces tanto el cliente como el servidor se ejecutan en el mismo proceso y la comunicacin se reduce a simples llamadas a funcin. - Object proxy local: el cliente accede al servidor que se est ejecutando en un p roceso diferente pero en la misma mquina a travs de un mecanismo de comunicacin entre procesos, concretamente una ver sin reducida de RPC. - Object proxy remoto: el cliente puede acceder a un servidor remoto ejecutndose

en otra mquina. La comunicacin de red entre el cliente y el servidor se consigue a travs de CDE RPC. Esta forma de operacin es la que proporciona DCOM. figurrrrrrrrrrrrrrrrrrrrrrraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Si el cliente y el servidor estn en el mismo proceso el intercambio de datos entr e ellos es simple. En cambio cuando el proceso servidor est separado del proceso cliente, COM debe formatear y empaqu etar los datos intercambiados para poder compartirlos. Este proceso se conoce como "marshalling", y lo realiza un objeto proxy en la pa rte del cliente y un objeto stub en la parte del servidor que se encargan de los detalles de la comunicacin entre proces os para un interface particular. COM crea el "proxy" en el proceso del cliente y lo conecta al stub. El objeto pr oxy suministra el puntero del interface al lciente. El cliente llama al interface del servidor a travs del proxy el cul re aliza el "marshalling" de los parmetros y la llamada al objeto servidor. Cuando se completa la llamada el stub realiza el "marshalling" los valores de retorno y los enva al proxy, que a su vez los devuelve al cliente. Este mismo sistema se usa cuando el cliente y servidor se encuentran en diferent es mquinas. Sin embargo la implementacin de "marshalling/unmarshalling" y la comunicacin varia. El cdigo de los objetos stub y proxy es creado por el compilador IDL de Microsoft a partir de un fichero IDL. Todos los objetos COM se registran en una base de datos, concretamente el regist ro del SO, cuando un cliente quiere usar un objeto COM sigue los siguientes pasos: - Llama al API de COM para que cree una nueva instancia de un objeto COM. - COM localiza a travs del registro, dnde se encuentra implementado el objeto COM e inicia el proceso servidor. - El proceso servidor crea el objeto y devuelve un puntero a la interface del ob jeto solicitada. - El cliente puede interactuar a travs de este puntero a la interface con la inst ancia del objeto COM. Un aspecto importante es que las instancias de objetos COM no tienen identidad, es decir, un lciente puede solicitar servicios a un tipo de objeto, pero no a una determinada instancia. Cada vez que se solicita un objeto, COM crea una nueva instancia. La principal ventaja de esta poltica es que las instancias se pu eden mantener en un pool, y devolverlas conforme se solicitan por los clientes. fffffiiiiiiiiiiiiiiiiiiiguuuuuuuuuuuuuuuuuuuuuuuuuurrrrrrrrrrrrraaaaaaaaaaaaaaaa aaaaaaaaaaaaa COM incluye interfaces y funciones API que permiten acceder a servicios del SO a dems de otros mecanismos necesarios en entornos distribuidos como servicio de nombres, eventos, etc.

http://books.google.com.pe/books?id=ZUznyReUPncC&pg=PA170&dq=com+dcom+interface+ pointer+,+stub&hl=es&ei=0NGRToXbO8Pk0QGe-PEK&sa=X&oi=book_result&ct=result&resnu m=2&ved=0CDQQ6AEwAQ#v=onepage&q=activex&f=false

También podría gustarte