INSTITUTO TECNOLÓGICO DE IGUALA
NOMBRE DEL ALUMNO: CRSITOFER YAIR MARTINEZ
MOLINA
NOMBRE DEL PROFESOR: M.C. VÍCTOR MANUEL JACOBO
ADÁN
MATERIA: PROGRAMACION EN AMBIENTE CLIENTE /
SERVIDOR
UNIDAD: 4. COM / DCOM
INTRODUCCION
Microsoft Distributed COM (DCOM) extiende COM (Component
Object Model) para soportar comunicación entre objetos en ordenadores
distintos, en una LAN, WAN, o incluso en Internet. Con DCOM una aplicación
puede ser distribuida en lugares que dan más sentido al cliente y a la
aplicación.
Como DCOM es una evolución lógica de COM, se pueden
utilizar los componentes creados en aplicaciones basadas en COM, y trasladarlas
a entornos distribuidos. DCOM maneja detales muy bajos de protocolos de red,
por lo que uno se puede centrar en la realidad de los negocios: proporcionar
soluciones a clientes.
Video de la introducción
Video de la introducción
CONTENIDO
4.1 CREACION DE SERVIDORES
DCOM
es una extensión de COM, y éste define como los componentes y sus clientes
interactúan entre sí. Esta interacción es definida de tal manera que el cliente
y el componente pueden conectar sin la necesidad de un sistema intermedio. El
cliente llama a los métodos del componente sin tener que preocuparse de niveles
más complejos.
DCOM
es una evolución lógica de COM, se pueden utilizar los componentes creados en
aplicaciones basadas en COM, y trasladarlas a entornos distribuidos. DCOM
maneja detales muy bajos de protocolos de red, por lo que uno se puede centrar
en la realidad de los negocios: proporcionar soluciones a clientes.
La
arquitectura DCOM
DCOM
es una extensión de COM, y éste define como los componentes y sus clientes
interactúan entre sí. Esta interacción es definida de tal manera que el cliente
y el componente pueden conectar sin la necesidad de un sistema intermedio. El
cliente llama a los métodos del componente sin tener que preocuparse de niveles
más complejos
4.2 CREACION DE CLIENTE COM
4.2 CREACION DE CLIENTE COM
El cliente debe
realizar las siguientes tareas:
Iniciar la librería
COM
Obtener la interfaz
Manipular el objeto
a través de su interfaz
Liberar las
interfaces
Finalizar la
librería COM
Para iniciar la
librería COM hay que llamar al método del API COM CoInitialize:
hr
= CoInitialize(NULL);
if ( SUCCEEDED(hr) )
{
...
}
El método
CoInitialize inicializa la librería en el thread de ejecución desde el que se
invoque. Es necesario llamar a CoInitialize desde cada thread de la aplicación
que quiera acceder a objetos COM.
OBTENER LA INTERFAZ
Para obtener la
interfaz inicial llamamos al método CoCreateInstance, este creará una nueva
instancia de un objeto COM y nos devolverá un puntero a su interfaz.
IUnknown
*pIUnknown = NULL;
hr = CoCreateInstance(CLSID_UserInfo, NULL,
CLSCTX_INPROC_SERVER, IID_IUnknown,
(LPVOID *)&pIUnknown);
if (SUCCEEDED(hr))
{....}
A través del
puntero a IUnknow obtener el puntero a la interfaz IUserInfo
hr
= pIUnknown->QueryInterface(IID-IUserInfo,
(LPVOID
*)&pIUserInfo);
if (SUCCEEDED(hr))
{\\manipulación
del objeto}
LIBERAR LAS
INTERFACES
para liberar las
interfaces hay que llamar al método Release, si el objeto COM no tiene más
interfaces referenciadas se borrara automaticamente:
pIUserInfo->Release();
pIUnknown->Release();
FINALIZAR LAS
LIBRERIAS
La librería COM se
finaliza a través del método CoUninitialize, una vez llamado a este método no
se podrá seguir llamando a funciones de la librería COM ni manipulando objetos
COM.
4.3 AUTOMATIZACION
Basado
en la Biblioteca de plantillas estándar (STL), ATL amplía el entorno de
desarrollo de Visual Studio con asistentes utilizados para la automatización
objeto COM. ATL facilita la programación de objetos COM para la invocación guion
de páginas Active Server (ASP). ATL se puede utilizar para crear una variedad
de objetos, incluyendo cuadros de diálogo y los controles de Internet Explorer.
ATL soporta características de COM clave, como los controles ActiveX,
interfaces duales y puntos de conexión.
4.4 ATL
Active (ATL) Témplate Library es un conjunto de clases de
C++ basadas en plantillas que permiten crear objetos pequeños, rápidos (COM)
del modelo de objetos componentes. Tiene compatibilidad especial para
características COM clave, incluidas las implementaciones comunes, interfaces
duales, interfaces COM estándar de enumeradores, puntos de conexión, rasga
interfaces, y controles ActiveX.
Si tiene muchos programación ATL, deseará obtener más
información sobre atributos, una característica nueva de Visual C++ .NET que
está diseñado para simplificar la programación COM. Para obtener más
información, vea Programación con atributos.
4.5 DCOM
4.5 DCOM
Distributed
Component Object Model (DCOM), en español 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ón entre la infraestructura del servidor de aplicaciones COM+ de
Microsoft. Ha sido abandonada en favor del framework .NET.1 2
La
adición de la "D" a COM fue debido al uso extensivo de DCE/RPC, o más
específicamente la versión mejorada de Microsoft, conocida como MSRPC.
En
términos de las extensiones que añade a COM, DCOM tenía que resolver los
problemas de
Aplanamiento - Serializar y desrealizar los
argumentos y valores de retorno de las llamadas a los métodos "sobre el
cable".
Recolección de basura distribuida,
asegurándose que las referencias mantenidas por clientes de las interfaces sean
liberadas cuando, por ejemplo, el proceso cliente ha caído o la conexión de red
se pierde.
Uno
de los factores clave para resolver estos problemas es el uso de DCE/RPC como
el mecanismo RPC subyacente bajo DCOM. DCE/RPC define reglas estrictas en
cuanto al aplanamiento y a quién es responsable de liberar la memoria.
DCOM
fue uno de los mayores competidores de CORBA. Los defensores de ambas
tecnologías sostenían que algún día serían el modelo de código y servicios sobre
Internet. Sin embargo, las dificultades que suponía conseguir que estas
tecnologías funcionasen a través de cortafuegos y sobre máquinas inseguras o
desconocidas, significó que las peticiones HTTP normales, combinadas con los
navegadores web les ganasen la partida. Microsoft, en su momento intentó y
fracasó anticiparse a esto añadiendo un transporte extra HTTP a DCE/RPC
denominado "ncacn_http" (Connection-based, over HTTP).
REFERENCIAS
Ø Berger, Dan (2004). «COM:
A Brief Introduction». African History en About.com. Consultado
el 6 de febrero de 2006.
Ø Microsoft Corp. (2006). «Component
Object Model». Archivado desde el
original el 26 de noviembre de 2015. Consultado el 6 de febrero de
2006.
Ø Box, Don (1998). Essential COM. Addison-Wesley Object
Technology Series. ISBN
0-201-63446-5.
CONCLUSION
Bueno para concluir este tema me pareció antes que nada
muy interesante debido a que es una forma de mantener una comunicación más
amplia de lo antes mencionado ejerciendo una conexión entre un cliente y un
servidor en este caso se mantiene algo similar pero más avanzado y
requerimientos de un componente como bien menciona sus siglas el tema de COM
por que como sabemos esta conexión por decirlo así se mantiene en empresas de
alto prestigio para utilizar este componente es confiable y además no olvidemos
que basado en Microsoft ,con ello lo
implementamos en una conexión a la web en distintas topologías es un sistema considerado distribuido o se centraliza
en distintos clientes.
Video de la conclusion
Video de la conclusion