4.5 DCOM
(Distributed COM).
El Modelo de
Objetos de Componentes Distribuidos (Distributed
Component Object Model, DCOM)
es una tecnología propietaria de Microsoft para desarrollar componentes
de software distribuidos sobre
varias computadoras y que se comunican entre sí.
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 detalles muy bajos de
protocolos de red, por lo que uno se puede centrar en la realidad de
los negocios.
Actualmente
DCOM viene con los sistemas operativos Windows 2000, NT, 98
y también está disponible una versión para Windows 95
en la página de Microsoft. También hay una implementación de DCOM para Apple
Macintosh y se está trabajando en implementaciones para plataformas UNIX como
Solaris.
1.1 La arquitectura DCOM
1.1 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.
Figura
1.Componentes COM en el mismo proceso.
En
los actuales sistemas operativos, los procesos están separados unos de otros.
Un cliente que necesita comunicarse con un componente en otro proceso no puede
llamarlo directamente, y tendrá que utilizar alguna forma de comunicación entre
procesos que proporcione el sistema operativo. COM proporciona este tipo de
comunicación de una forma transparente: intercepta las llamadas del cliente y
las reenvía al componente que está en otro proceso. La siguiente figura ilustra
como las librerías de COM/DCOM proporcionan la forma de comunicar el cliente y
el componente:
Figura
2.Componentes COM en procesos distintos.
Cuando
el cliente y el componente residen en distintas máquinas, DCOM simplemente
reemplaza la comunicación entre procesos locales por un protocolo de red. Ni el
cliente ni el componente se enteran de que la unión que los conecta es ahora un
poco más grande.
La
Figura 3 representa la arquitectura DCOM en su conjunto: Las librería de COM
proporcionan servicios orientados a objetos a los clientes y componentes, y
utilizan RPC y un proveedor de seguridad para generar paquetes de red estándar
que entienda el protocolo estándar de DCOM.
Figura
3. DCOM: componentes COM en distintas máquinas.
1.2 Los Componentes y su reutilización
DCOM
toma ventaja de forma directa y transparente de los componentes COM y
herramientas ya existentes. 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.
Diseñando
para COM y DCOM se asegura que los componentes creados serán útiles ahora y en
el futuro.
Cuando
se comienza a implementar una aplicación distribuida en una red aparecen
distintos conflictos en el diseño:
Los
componentes que interactúan más a menudo deberían estar localizados más cerca.
Algunos
componentes solo pueden ser ejecutados en máquinas específicas o lugares
específicos.
Los
componentes más pequeños aumentan la flexibilidad, pero aumentan el tráfico de
red.
Los
componentes grandes reducen el tráfico de red, pero también reducen la
flexibilidad.
Con
DCOM, estos temas críticos de diseño pueden ser tratados se forma
bastante sencilla, ya que estos detalles no se especifican en el código fuente.
DCOM olvida completamente la localización de los componentes, ya esté en el
mismo proceso que el cliente o en una máquina en cualquier lugar del mundo. En
cualquier caso, la forma en la que el cliente se conecta a un componente y
llama a los métodos de éste es identica. No es solo que DCOM no necesite
cambios en el código fuente, sino que además no necesita que el programa sea
recompilado. Una simple reconfiguración cambia la forma en la que los
componentes se conectan entre sí.
La
independencia de localización en DCOM simplifica enormemente las tareas de los
componentes de aplicaciones distribuidas para alcanzar un nivel de
funcionamiento óptimo.
Con
la independencia de localización de DCOM, la aplicación puede combinar componentes
relacionados en máquinas "cercanas" entre si, en una sola máquina o
incluso en el mismo proceso. Incluso si un gran número de pequeños componentes
implementan la funcionalidad de un gran módulo lógico, podrán interactuar
eficientemente entre ellos.
Una
cuestión importante durante el diseño e implementación de una aplicación
distribuida es la elección del lenguaje o herramienta de programación. La
elección es generalmente un término medio entre el costo de desarrollo, la
experiencia disponible y la funcionalidad. Como una extensión de COM, DCOM es
completamente independiente del lenguaje. Virtualmente cualquier lenguaje puede
ser utilizado para crear componentes COM, y estos componentes puede ser
utilizado por muchos más lenguajes y herramientas. Java, Microsoft Visual C++,
Microsoft Visual Basic, Delphi, PowerBuilder, y Micro Focus COBOL interactúan
perfectamente con DCOM.
1.5 Independencia del protocolo
Muchas
aplicaciones distribuidas tienen que ser integradas en la infraestructura de
una red existente. Necesitar un protocolo específico de red, obligará a mejorar
todos los cliente, lo que es inaceptable en muchas situaciones. Los
desarrolladores de aplicaciones tienen que tener cuidado de mantener la
aplicación lo más independiente posible de la infraestructura de la red.
DCOM
proporciona esta transparencia: DCOM puede utilizar cualquier protocolo de transporte,
como TCP/IP, UDP, IPX/SPX y NetBIOS. DCOM proporciona un marco de
seguridad a todos estos protocolos.
Los
desarrolladores pueden simplemente utilizar las características proporcionadas
por DCOM y asegurar que sus aplicaciones son completamente independientes del
protocolo.
La
Figura 4 representa como un "componente de validación" puede ser
situado en la misma máquina, cuando el ancho de red entre la máquina
"cliente" y la máquina "middle-tier" es suficiente, y en la
máquina "servidor", cuando el cliente accede a la aplicación a través
de una red lenta.
Figura
4. Independencia de localización
Con
la independencia de localización de DCOM, la aplicación puede combinar
componentes relacionados en máquinas "cercanas" entre si, en una sola
máquina o incluso en el mismo proceso. Incluso si un gran número de pequeños
componentes implementan la funcionalidad de un gran módulo lógico, podrán
interactuar eficientemente entre ellos.
REFERENCIAS:
REFERENCIAS:
GCII. (2015). elai.upm. Recuperado el 5 de Julio de
2017, de elai.upm:
http://www.elai.upm.es/webantigua/spain/Investiga/GCII/areas/administracion/DCOM.htm
Herrera, Y. R. (s.f.). ecotec. Recuperado el 15 de Julio de 2017, de ecotec: http://www.ecotec.edu.ec/documentacion%5Cinvestigaciones%5Cdocentes_y_directivos%5Carticulos/5748_TRECALDE_00216.pdf
Herrera, Y. R. (s.f.). ecotec. Recuperado el 15 de Julio de 2017, de ecotec: http://www.ecotec.edu.ec/documentacion%5Cinvestigaciones%5Cdocentes_y_directivos%5Carticulos/5748_TRECALDE_00216.pdf