PROGRAMACION EN AMBIENTE
CLIENTE-SERVIDOR
UNIDAD 5.- SERVICIOS WEB XML
PROFESOR: TORRES BAEZ HUGO
ALBERTO
ALUMNA: RANGEL RODRIGUEZ GABRIELA
7° SEMESTRE
|
NO
DE CONTROL
|
11020270
|
4.1 CREACIÓN DE SERVIDORES COM
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 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 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 (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).
No hay comentarios:
Publicar un comentario