Está en la página 1de 12

INSTITUTO TECNOLOGICO SUPERIOR DE CINTALAPA

PROGRAMACIÓN EN AMBIENTE CLIENTE SERVIDOR

LUIS GERMAN MONTESINOS ALFARO

ELABORAR INVESTIGACION DE LA UNIDAD IV

INGENIERÍA INFORMÁTICA

7° semestre grupo “E”

ANTONIO DE JESÚS GÓMEZ MORALES

04/11/2021

NUMERO DE CONTROL: 18887007

CINTALAPA DE FIGUEROA, CHIAPAS


INTRODUCCION

Este documento el cual trata de un trabajo de investigación, nos da a conocer la


unidad 4 de la materia programación en ambiente cliente servidor.
El cual en esta unidad nos habla sobre las COM/DCOM las cuales, desenglosa la creación
de las COM y así mismo la creación del cliente COM.
El Component Object Model o en sus siglas (COM) nos da a entender que sirven para que la
comunicación entre los objetos de los ordenadores diferentes sea soportada entre sí.
4.1. Creación de Servidores COM.

Microsoft Distributed COM (Component Object Model) sirve para soportar


comunicación entre objetos en ordenadores distintos, en una LAN, WAN, o incluso en
Internet.
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.

SERVIDOR
Es una aplicación que ofrece un servicio a usuarios de Internet, el servidor es un
programa que recibe una solicitud, realiza el servicio requerido y devuelve los
resultados en forma de una respuesta. Generalmente un servidor puede tratar
múltiples peticiones (múltiples clientes) al mismo tiempo.

Las funciones que lleva a cabo el proceso servidor se resumen en los siguientes
Puntos:
• Aceptar los requerimientos de bases de datos que hacen los clientes.
• Procesar requerimientos de bases de datos.
• Formatear datos para trasmitirlos a los clientes.
• Procesar la lógica de la aplicación y realizar validaciones a nivel de bases de datos.
El uso de los componentes COM es un claro ejemplo de la arquitectura
Cliente/Servidor. El objeto COM en sí es el servidor, y es usado por un programa que
hace de cliente. Existen varias formas de realizar la comunicación. Podemos
encontrar los componentes como partes de un ejecutable (como el caso de los
productos de Microsoft Office, o si implementamos nuestro propio componente y lo
incluimos con un programa que los use), dentro de una librería de enlace dinámico
(DLL) o incluso en otra máquina (DCOM).

Tipos de Servidores COM


Anteriormente hemos visto que existen varios tipos distintos de servidores COM.
Entre ellos están los objetos COM que se “alojan” en DLLs, los que se alojan en un
ejecutable y los que se alejan en otra máquina de una red. Vamos a ver el problema
de la comunicación entre cliente y servidor (para el paso de parámetros).

SERVIDORES COM EN DLL


Esta es la forma más sencilla de funcionamiento del modelo COM. Cliente y Servidor
comparten un espacio de direcciones y un mapa de memoria. La carga del objeto
COM desde el DLL se hace de forma transparente al usuario. La comunicación se
puede realizar con el paso de parámetros normal fijado para una DLL (incluyendo eso
sí, como parámetros también, un puntero a la instancia del objeto).
Es el programa cliente el que realiza la creación de memoria para comenzar la
creación del objeto COM. Al entrar en ejecución el constructor del objeto, éste podría
realizar peticiones de memoria dinámica.
SERVIDORES COM EN EXE
Son llamados servidores locales. Se ejecutan en el mismo ordenador que el cliente,
pero en procesos distintos. La comunicación la gestiona el sistema operativo. No hace
falta que esté el ejecutable del servidor funcionando, pues el sistema es capaz de
ejecutarlo. El “exe” contiene una parte que se encarga de la gestión de memoria inicial
que requieren los objetos COM.

SERVIDORES COM REMOTOS O DCOM


Cliente y servidor se encuentran en ordenadores distintos. La comunicación la
gestiona el sistema operativo. Internamente, Microsoft usa el protocolo RPC para
realizar la comunicación. Sin embargo, el programa servidor debe de estar
ejecutándose.
A la hora de la práctica, hay poca diferencia en la programación. Las funciones
miembros se llaman de la misma forma, los objetos se crean prácticamente igual (en
servidores remotos se usa la función CoCreateInstanceEx, la cual tiene un parámetro
que identifica al ordenador servidor). Pero, si los objetos se usan igual, ¿cómo se
puede conseguir entonces el efecto de llamadas a función? Es decir, ¿cómo podría
usarse?

Objeto1->Funcion1 (parámetros);

El cliente no tiene constancia entonces de que tiene establecer una conexión por red.
Es el sistema operativo el que tiene que poner un proxy que “simule” que las funciones
están accesibles. Y la llamada a la Funcion1 realmente estará llamando a una función
local gestionada por el sistema operativo que realice la comunicación con el otro
extremo.
4.2. Creación de un cliente COM.
El cliente es una aplicación informática o un ordenador que consume un servicio
remoto en otro ordenador conocido como servidor, normalmente a través de una red
de telecomunicaciones. También se puede definir un cliente es cualquier cosa (que
no sea un servidor) que se conecta a un servidor.

En los componentes COM no existe el concepto de herencia, para la reutilización se


utiliza:
COMPOSICIÓN o AGREGACIÓN.

COMPOSICIÓN
•En la composición el objeto COM simplemente actúa a su vez como cliente del objeto
COM que contiene.

AGREGACIÓN
•Se expone directamente la interfaz del objeto COM agregado, de modo que el cliente
puede acceder de forma transparente a las interfaces de los dos objetos COM.
COM+ es una ampliación al modelo de componentes COM para la construcción de
aplicaciones empresariales, se encarga de proporcionar una serie de servicios:
Seguridad de grano fino, controla el acceso a cada método.
Escalabilidad, mediante balanceo de carga y “object pooling”
Manejo de transacciones, a través de MTS (Microsoft Transactional server).

Implementación
Se va a construir un objeto COM capaz de almacenar la siguiente información sobre
un usuario:
Age -> short
Name -> LPSTR
Sex -> unsigned char

4.3. Automatización
Es un mecanismo formal de comunicación entre procesos basado en COM.
Facilita:
Una infraestructura que permite que aplicaciones llamadas automation controllers
para que puedan acceder, manipular y compartir automation objects (por ejemplo,
propiedades o métodos de otras aplicaciones).
El controlador es el "cliente" y, la aplicación que exporta los objetos de
automatización, el servidor.
Los componentes COM se pueden agrupar básicamente en tres categorías.

• In-Process
• Locales
• Remotos

Los componentes In-Process se cargan en el mismo espacio de procesos que la


aplicación cliente. Estos componentes se implementan como librerías dinámicas
(DLL) por lo cual se minimiza el tiempo requerido para la invocación de los métodos.
Por otra parte, como el componente comparte el espacio de direcciones de la
aplicación, una falla en el componente puede causar daños en la aplicación. Los
componentes In-Process no son programas ejecutables, por lo tanto, solo pueden
usarse en el contexto de un programa que los invoca. Los controles ActiveX son
componentes In-Process.

Los componentes locales se ejecutan en un proceso separado en el mismo


computador mientras que los componentes remotos se ejecutan en otro computador.
La aplicación cliente no necesita saber dónde reside el componente. Cuando el
componente es remoto, DCOM crea un proxy que intercepta las referencias a la
interface del objeto y luego usa RPC para ejecutar la instancia “real” del objeto

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.
ATL incluye un asistente de objeto que establece la estructura primaria de los objetos
muy rápidamente con un mínimo de codificación manual.
En el lado del cliente COM ATL proporciona punteros inteligentes que tienen que ver
con el recuento de referencias COM.

Clases de apoyo
ATL incluye muchas RAII clases para simplificar la gestión de tipos COM.
Las clases más comúnmente utilizados son:
• CComPtr <T> de propósito general Smart-puntero,
• CComBSTR envoltorio BSTR,
• CComVariant envoltorio VARIANTE, y
• CComSafeArray <T> envoltorio SAFEARRAY.

Apoyo Compiler COM


Aunque no es formalmente parte de ATL, Microsoft Visual C ++ también incluye
adicional de C ++ clases RAII para simplificar la gestión de tipos COM.
Estos apoyos compilador COM clases pueden ser utilizados como reemplazo para o
en combinación con ATL, e incluye:
_com_ptr_t smart-puntero que decora el nombre de la interfaz COM con un sufijo
"PTR",
_bstr_t envoltorio BSTR,
_variant_t envoltorio VARIANTE, y
_com_error envoltorio HRESULT.

4.5. DCOM (Distributed COM).


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.

COM/DCOM se utilizan para automatizar los procedimientos, estos al automatizar los


servidores nos permitieron acceder a los objetos y la funcionalidad con la que está
creado, los servidores que están disponibles, estos objetos permiten a los
proveedores mejorar las aplicaciones para poder compartirse entre sí.
El modelo COM fue una herramienta creada mediante los servidores del modelo c++
y solucionar problemas al conectarse a una red y tener viabilidad para reestructurar
por algunos fallos.

REFERENCIAS:
U., & Perfil, V. T. M. (n.d.). COM/DCOM (Component Object Model / Distributed COM).

DCOM/COM. Retrieved November 4, 2021, from

http://programacionambienteclienteservidor.blogspot.com/2014/11/comdcom-

component-object-model.html
Löpëz, Ï. (n.d.). Unidad 4 COM-DCOM Component Object Model-Distributed COM. Scribd.

Retrieved November 4, 2021, from

https://es.scribd.com/document/332071845/Unidad-4-COM-DCOM-Component-

Object-Model-Distributed-COM

Avilez, J. A. M., & Perfil, V. T. M. (n.d.). Unidad 4 COM/DCOM. com. Retrieved November

4, 2021, from https://comdcom96.blogspot.com/p/unidad-4-comdcom.html

También podría gustarte