sábado, 15 de julio de 2017

UNIDAD 4 COM/DCOM


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.


Resultado de imagen para com dcom

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.

Resultado de imagen para com dcom creacion del cliente

 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.

Resultado de imagen para COM 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 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).


Resultado de imagen para COM DCOM

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.






4 comentarios:

  1. How to Make Money in Baccarat - FaBCasino
    Learn how to 온카지노 make money in casino games The only real money baccarat game where players can play real money, you 1xbet can play 바카라사이트 it on the go.

    ResponderEliminar
  2. Slots and Casino | Job fair results - KTM Hub
    Results 1 - 20 of 106 — You 순천 출장안마 can also use 영천 출장마사지 the online 경기도 출장샵 casino games 군산 출장샵 you love, such as slots, 상주 출장샵 blackjack, roulette, and more.

    ResponderEliminar