You are on page 1of 28

COM/DCOM

COM/DCOM
Sistemas Distribuidos Julio Cesar C ardenas Narv aez Oscar Garc a Florez Pedro Guti errez Silvano Luis Miguel Cruz Perez
Instituto Tecnol ogico Superior de los R os

16 de abril de 2013
Equipo 3 COM/DCOM

COM/DCOM

Contenido
1

COM/DCOM Introducci on COM Objetivo principal de COM Modelo Cliente/Servidor Modelo COM Modelo de programaci on Diferencias entre COM y C++ DCOM Conclusi on Bibliograa
Equipo 3 COM/DCOM

COM/DCOM

Introducci on COM Objetivo principal de COM Modelo Cliente/Servidor Modelo COM Modelo de programaci on Diferencias entre COM y C++ DCOM Conclusi on Bibliograa

Contenido
1

COM/DCOM Introducci on COM Objetivo principal de COM Modelo Cliente/Servidor Modelo COM Modelo de programaci on Diferencias entre COM y C++ DCOM Conclusi on Bibliograa
Equipo 3 COM/DCOM

COM/DCOM

Introducci on COM Objetivo principal de COM Modelo Cliente/Servidor Modelo COM Modelo de programaci on Diferencias entre COM y C++ DCOM Conclusi on Bibliograa

Contenido
1

COM/DCOM Introducci on COM Objetivo principal de COM Modelo Cliente/Servidor Modelo COM Modelo de programaci on Diferencias entre COM y C++ DCOM Conclusi on Bibliograa
Equipo 3 COM/DCOM

COM/DCOM

Introducci on COM Objetivo principal de COM Modelo Cliente/Servidor Modelo COM Modelo de programaci on Diferencias entre COM y C++ DCOM Conclusi on Bibliograa

Introducci on
COM (Component Object Model) es la tecnolog a de denici on y manipulaci on de componentes de Microsoft que proporciona un modelo de programaci on y un est andar binario para los mismos. DCOM (de Distributed COM) es la tecnolog a que extiende COM para permitir a los objetos componentes residir en m aquinas remotas y est a disponible desde la aparici on de Windows NT 4.0. A Cuando en 1993 surge COM, tecnolog a de Microsoft, se avanz o en la posibilidad de comunicar aplicaciones escritas en distintos lenguajes.

Equipo 3

COM/DCOM

COM/DCOM

Introducci on COM Objetivo principal de COM Modelo Cliente/Servidor Modelo COM Modelo de programaci on Diferencias entre COM y C++ DCOM Conclusi on Bibliograa

Contenido
1

COM/DCOM Introducci on COM Objetivo principal de COM Modelo Cliente/Servidor Modelo COM Modelo de programaci on Diferencias entre COM y C++ DCOM Conclusi on Bibliograa
Equipo 3 COM/DCOM

COM/DCOM

Introducci on COM Objetivo principal de COM Modelo Cliente/Servidor Modelo COM Modelo de programaci on Diferencias entre COM y C++ DCOM Conclusi on Bibliograa

COM

Qu e es COM? es una especicaci on. es una porci on de c odigo que forma parte de varios sistemas operativos. es una losof a para el desarrollo de aplicaciones. es un est andar binario para la construcci on de componentes.

Equipo 3

COM/DCOM

COM/DCOM

Introducci on COM Objetivo principal de COM Modelo Cliente/Servidor Modelo COM Modelo de programaci on Diferencias entre COM y C++ DCOM Conclusi on Bibliograa

Contenido
1

COM/DCOM Introducci on COM Objetivo principal de COM Modelo Cliente/Servidor Modelo COM Modelo de programaci on Diferencias entre COM y C++ DCOM Conclusi on Bibliograa
Equipo 3 COM/DCOM

COM/DCOM

Introducci on COM Objetivo principal de COM Modelo Cliente/Servidor Modelo COM Modelo de programaci on Diferencias entre COM y C++ DCOM Conclusi on Bibliograa

Objetivo principal de COM


El objetivo principal de COM es proporcionar un medio por el que los clientes pueden hacer uso de los objetos servidores, sin tener en cuenta que pueden haber sido desarrollados por diferentes compa n as utilizando diferentes lenguajes de programaci on. Con el n de lograr este nivel de interoperabilidad, COM dene un est andar binario, que especica c omo se dispone un objeto en memoria principal en tiempo de ejecuci on. Cualquier lenguaje que pueda reproducir dicha disposici on en memoria podr a crear objetos COM.
Equipo 3 COM/DCOM

COM/DCOM

Introducci on COM Objetivo principal de COM Modelo Cliente/Servidor Modelo COM Modelo de programaci on Diferencias entre COM y C++ DCOM Conclusi on Bibliograa

Contenido
1

COM/DCOM Introducci on COM Objetivo principal de COM Modelo Cliente/Servidor Modelo COM Modelo de programaci on Diferencias entre COM y C++ DCOM Conclusi on Bibliograa
Equipo 3 COM/DCOM

COM/DCOM

Introducci on COM Objetivo principal de COM Modelo Cliente/Servidor Modelo COM Modelo de programaci on Diferencias entre COM y C++ DCOM Conclusi on Bibliograa

Modelo Cliente/Servidor
El uso de los componentes COM es un claro ejemplo de la arquitectura Cliente/Servidor. El objeto COM en s es el servidor, y es usado por un programa que hace de cliente. Existen varias formas de realizar la comunicaci on. Podemos encontrar los componentes como partes de un ejecutable ( como el caso de los productos de Microsoft Oce, o si implementamos nuestro propio componente y lo incluimos con un programa que los use ), dentro de una librer a de enlace din amico ( DLL ) o incluso en otra m aquina ( DCOM ).

Equipo 3

COM/DCOM

COM/DCOM

Introducci on COM Objetivo principal de COM Modelo Cliente/Servidor Modelo COM Modelo de programaci on Diferencias entre COM y C++ DCOM Conclusi on Bibliograa

Contenido
1

COM/DCOM Introducci on COM Objetivo principal de COM Modelo Cliente/Servidor Modelo COM Modelo de programaci on Diferencias entre COM y C++ DCOM Conclusi on Bibliograa
Equipo 3 COM/DCOM

COM/DCOM

Introducci on COM Objetivo principal de COM Modelo Cliente/Servidor Modelo COM Modelo de programaci on Diferencias entre COM y C++ DCOM Conclusi on Bibliograa

Modelo COM
En el modelo cl asico de programaci on orientada a objetos se suele identicar al objeto con su interfaz. De hecho, est a tan unida la interfaz al objeto que se puede decir que tal objeto es el que tiene tales funciones. Sin embargo, el modelo COM realiza la distinci on entre el objeto y las interfaces que implementan. As , para COM una interfaz es un conjunto de declaraciones de funciones que puede o no implementar un objeto. La denici on de Interfaz es : conjunto de funciones que se ponen a disposici on del p ublico. Suelen tener relaci on entre s . Las interfaces tambi en tiene un GUID ( denominado IID, o identicador de interfaz ). Un mismo objeto puede implementar ( y de hecho lo hace siempre ) varias interfaces.
Equipo 3 COM/DCOM

COM/DCOM

Introducci on COM Objetivo principal de COM Modelo Cliente/Servidor Modelo COM Modelo de programaci on Diferencias entre COM y C++ DCOM Conclusi on Bibliograa

Ejemplo:

Equipo 3

COM/DCOM

COM/DCOM

Introducci on COM Objetivo principal de COM Modelo Cliente/Servidor Modelo COM Modelo de programaci on Diferencias entre COM y C++ DCOM Conclusi on Bibliograa

Contenido
1

COM/DCOM Introducci on COM Objetivo principal de COM Modelo Cliente/Servidor Modelo COM Modelo de programaci on Diferencias entre COM y C++ DCOM Conclusi on Bibliograa
Equipo 3 COM/DCOM

COM/DCOM

Introducci on COM Objetivo principal de COM Modelo Cliente/Servidor Modelo COM Modelo de programaci on Diferencias entre COM y C++ DCOM Conclusi on Bibliograa

Modelo de programaci on
En el modelo de programaci on COM, los clientes COM se conectan a uno o m as objetos COM. Cada objeto COM expone sus servicios a trav es de una o m as interfaces, que no son m as que agrupaciones de funciones relacionadas sem anticamente. La implementaci on compilada de cada objeto COM est a contenida en un m odulo binario (exe o dll) denominado servidor COM. Un u nico servidor COM es capaz de contener la implementaci on compilada de varios objetos COM.

Equipo 3

COM/DCOM

COM/DCOM

Introducci on COM Objetivo principal de COM Modelo Cliente/Servidor Modelo COM Modelo de programaci on Diferencias entre COM y C++ DCOM Conclusi on Bibliograa

Un servidor COM puede estar enlazado al proceso cliente (in-process server), puede ejecutarse en un proceso distinto del cliente pero en la misma m aquina (local server) o bien, puede ejecutarse en un proceso separado en una m aquina distinta, incluso en un sistema operativo distinto (remote server). Para la comunicaci on con objetos situados en espacios de direcciones distintos del espacio de direcciones del cliente, se utilizan intermediarios en la forma de representantes y sustitutos.

Equipo 3

COM/DCOM

COM/DCOM

Introducci on COM Objetivo principal de COM Modelo Cliente/Servidor Modelo COM Modelo de programaci on Diferencias entre COM y C++ DCOM Conclusi on Bibliograa

Contenido
1

COM/DCOM Introducci on COM Objetivo principal de COM Modelo Cliente/Servidor Modelo COM Modelo de programaci on Diferencias entre COM y C++ DCOM Conclusi on Bibliograa
Equipo 3 COM/DCOM

COM/DCOM

Introducci on COM Objetivo principal de COM Modelo Cliente/Servidor Modelo COM Modelo de programaci on Diferencias entre COM y C++ DCOM Conclusi on Bibliograa

Diferencias entre COM y C++

COM es distinto a C++. Los objetos COM son bastantes m as complicados. Muchas de estas complicaciones vienen del hecho de la arquitectura Cliente/Servidor que se puede realizar a trav es de redes. Hay cuatro consideraciones b asicas que diferencian a C++ y COM:

Equipo 3

COM/DCOM

COM/DCOM

Introducci on COM Objetivo principal de COM Modelo Cliente/Servidor Modelo COM Modelo de programaci on Diferencias entre COM y C++ DCOM Conclusi on Bibliograa

Los objetos en C++ siempre se ejecutan en el mismo proceso. Los objetos COM pueden ejecutarse estando el cliente en otro proceso que el servidor, o incluso en otro ordenador. Los m etodos de los objetos COM se pueden llamar a trav es de una red. Los nombres de los m etodos de C++ deben de ser u nicos en el proceso y los nombres de los m etodos de COM deben de ser u nicos en el mundo. Los servidores COM pueden ser escritos en variedad de lenguajes y en sistemas operativos distintos, mientras que los objetos escritos en C++ son siempre escritos en C++.
Equipo 3 COM/DCOM

COM/DCOM

Introducci on COM Objetivo principal de COM Modelo Cliente/Servidor Modelo COM Modelo de programaci on Diferencias entre COM y C++ DCOM Conclusi on Bibliograa

Contenido
1

COM/DCOM Introducci on COM Objetivo principal de COM Modelo Cliente/Servidor Modelo COM Modelo de programaci on Diferencias entre COM y C++ DCOM Conclusi on Bibliograa
Equipo 3 COM/DCOM

COM/DCOM

Introducci on COM Objetivo principal de COM Modelo Cliente/Servidor Modelo COM Modelo de programaci on Diferencias entre COM y C++ DCOM Conclusi on Bibliograa

DCOM
En DCOM cuando el cliente necesita acceder a un objeto remoto, se crea un proxy local. A trav es del SCM (Service Control Manager) local se tiene la informaci on del sistema remoto. Tambi en puede ofrecer esta informaci on la Registry. El SCM local contacta al SCM remoto. Este activa el objeto remoto y pasa la referencia del objeto remoto al sistema local. Esa referencia llega al proxy del objeto y el cliente puede crear instancias del objeto remoto. EN este punto, el cliente est a en condiciones de tratar con el objeto remoto usando el proxy y RPC.
Equipo 3 COM/DCOM

COM/DCOM

Introducci on COM Objetivo principal de COM Modelo Cliente/Servidor Modelo COM Modelo de programaci on Diferencias entre COM y C++ DCOM Conclusi on Bibliograa

DCOM usa diferentes tipos de mensajes para invocar m etodos remotos. El paquete OBJREF se usa para codicar la respuesta de un sistema remoto, para identicar la instancia particular de un objeto. El paquete ORPCTHIS es usado por el cliente para invocar un m etodo. DCOM presenta algunos problemas, pues su mecanismo de garbage collection genera mucho tr aco. Para garantizar que todos los participantes de una invocaci on remota est an activos mientras se resuelve la llamada al m etodo, deben enviar aping a al server cada dos minutos.
Equipo 3 COM/DCOM

COM/DCOM

Introducci on COM Objetivo principal de COM Modelo Cliente/Servidor Modelo COM Modelo de programaci on Diferencias entre COM y C++ DCOM Conclusi on Bibliograa

Cuando el sistema sospecha que se perdi o una conexi on con el cliente, por ejemplo ante la p erdida de un ping, espera dos per odos de time out. Si luego de ese tiempo el cliente no respondi o con un ping, el server destruye el objeto remoto y restituye los recursos. En cuanto a la seguridad, DCOM permite seleccionar el grado de seguridad en la comunicaci on. Se puede transmitir texto claro, encriptar el header y los datos de la llamada al m etodo y otras alternativas

Equipo 3

COM/DCOM

COM/DCOM

Introducci on COM Objetivo principal de COM Modelo Cliente/Servidor Modelo COM Modelo de programaci on Diferencias entre COM y C++ DCOM Conclusi on Bibliograa

Contenido
1

COM/DCOM Introducci on COM Objetivo principal de COM Modelo Cliente/Servidor Modelo COM Modelo de programaci on Diferencias entre COM y C++ DCOM Conclusi on Bibliograa
Equipo 3 COM/DCOM

COM/DCOM

Introducci on COM Objetivo principal de COM Modelo Cliente/Servidor Modelo COM Modelo de programaci on Diferencias entre COM y C++ DCOM Conclusi on Bibliograa

conclusi on
Distributed Component Object Model (DCOM), en espa nol Modelo de Objetos de Componentes Distribuidos, es una tecnolog a propietaria de Microsoft para desarrollar componentes software distribuidos sobre varios ordenadores y que se comunican entre s . Extiende el modelo COM de Microsoft y proporciona el sustrato de comunicaci on entre la infraestructura del servidor de aplicaciones COM+ de Microsoft. La adici on de la D a COM fue debido al uso extensivo de DCE/RPC, o m as espec camente la versi on mejorada de Microsoft, conocida como MSRPC.
Equipo 3 COM/DCOM

COM/DCOM

Introducci on COM Objetivo principal de COM Modelo Cliente/Servidor Modelo COM Modelo de programaci on Diferencias entre COM y C++ DCOM Conclusi on Bibliograa

Contenido
1

COM/DCOM Introducci on COM Objetivo principal de COM Modelo Cliente/Servidor Modelo COM Modelo de programaci on Diferencias entre COM y C++ DCOM Conclusi on Bibliograa
Equipo 3 COM/DCOM

COM/DCOM

Introducci on COM Objetivo principal de COM Modelo Cliente/Servidor Modelo COM Modelo de programaci on Diferencias entre COM y C++ DCOM Conclusi on Bibliograa

Bibliograa

http://usuarios.multimania.es/andromeda studios /paginas/tutoriales/articulo02.htm

Equipo 3

COM/DCOM

You might also like