TECNOLOGICO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE IGUALA
MAESTRO: M.C. VÍCTOR MANUEL
JACOBO ADÁN
MATERIA: PROGRAMACION EN AMBIENTE CLIENTE/SERVIDOR
ALUMNO: JAVIER AGUSTIN MARTINEZ AVILEZ
Introducción:
Que es COM y DCOM
Primero COM en microsoft es la comunicación entre objetos para la comunicación
de ordenadores distintos en una red LAN , WAN incluso en internet ahora con
DCOM una aplicación puede ser distribuida en lugares donde dan más
sentido al cliente como vemos DCOM es la evolución por así decirlo de COM y al
hacer una aplicación en DCOM esta maneja bajos protocolos de red .
Contenido:
4.1 Creación 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. La Figura 1
ilustra esto en la notación de COM
Los Componentes y su reutilización
Muchas aplicaciones distribuidas no están
desarrolladas
Al existir infraestructuras de hardware,
software, componentes, al igual que herramientas, se necesita poder integrarlas
y nivelarlas para reducir el desarrollo y el tiempo de trabajo y coste. DCOM
toma ventaja de forma directa y transparente de los componentes COM y
herramientas ya existentes. Un gran mercado de todos los componentes
disponibles haría posible reducir el tiempo de desarrollo integrando soluciones
estandarizadas en las aplicaciones de usuario. Muchos desarrolladores están
familiarizados con COM y pueden aplicar fácilmente sus conocimientos a las
aplicaciones distribuidas basadas en DCOM.
Cualquier componente que sea desarrollado
como una parte de una aplicación distribuida es un candidato para ser
reutilizado. Organizando los procesos de desarrollo alrededor del paradigma de
los componentes permite continuar aumentando el nivel de funcionalidad en las
nuevas aplicaciones y reducir el tiempo de desarrollo.
Diseñando para COM y DCOM se asegura que
los componentes creados serán útiles ahora y en el futuro.
4.2 Creación del 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.
DCOM
En el menú Archivo , seleccione la opción Nuevo proyecto,
seleccione EXE estándar y, a continuación, haga clic en Aceptar.
De forma predeterminada, se crea Form1.
En el menú Proyecto, haga clic en la opción Propiedades del
proyecto y, a continuación, seleccione la ficha General.
En el campo Nombre de proyecto, escriba DCOMDemo_Cli.
En el campo Descripción del proyecto, escriba DCOMDemo_Cli
Proyecto - Cliente.
En el menú Proyecto, haga clic en Referencias. En la lista de
referencias disponibles, seleccione DCOMDemo_Svr - Servidor.
Coloque un botón de comando en Form1 y cambie el título del botón
por Ejecutar.
Coloque el código siguiente en el evento de clic del botón
En el menú Archivo, seleccione Guardar como y, a
continuación, guarde el proyecto en la carpeta c:\DCOMDemo\Client del cliente.
Presione la tecla F5 para ejecutar el cliente en el IDE y probarlo.
En el menú Archivo, seleccione Generar DCOMDemo_Cli para
compilar el cliente y, a continuación, cierre Visual Basic.
4.3 Automatización:
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 guión 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 Template Library)
Active (ATL) Template 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
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 deserializar 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).
Conclusión:
En conclusión COM/DCOM para poder usarlo necesitamos una licencia
para poder utilizarlo ya que es Microsoft y tiene restringido poder
piratearlo para finalizar COM Y DCOM son Modelos de Objetos de
Componentes soportan comunicación entre ordenadores claro solo usando el
sistema operativo de Windows DCOM es la evolución de COM solo que esta
maneja ciertos protocolos un poco muy bajo que COM.
No hay comentarios:
Publicar un comentario