Disponible la nueva versión "donationware" 7.3 de OrganiZATOR
Descubre un nuevo concepto en el manejo de la información.
La mejor ayuda para sobrevivir en la moderna jungla de datos la tienes aquí.

Curso C++

[Home]  [Inicio]  [Índice]


1.4.4b2d  Librería de tipos

§1  Sinopsis

La tecnología de software evoluciona hacia sistemas interconectados. El tratamiento de la información ha ganado en complejidad, imponiéndose una arquitectura modular (de componentes) y transaccional; dos conceptos clave, junto con los de cliente/servidor, en la nueva arquitectura de software. Las aplicaciones se basan en componentes, objetos que interactúan con otros conjuntos de objetos, del Sistema Operativo o de otras aplicaciones, locales o remotas.

A este respecto, los Sistemas Windows han seguido un modelo denominado COM (Component Object Model). Un modelo de software cliente/servidor que permite la interacción entre aplicaciones [1]. El punto importante de esta tecnología es que permite la comunicación entre clientes y servidores mediante interfaces normalizadas.

En realidad COM nació por la necesidad de un mecanismo que permitiese que un elemento de software ofreciera servicios a otro. Esto supone que una aplicación (cliente) pueda manipular objetos implementados en otra aplicación distinta (servidor) y/o "exponer" objetos propios, de forma que otras aplicaciones puedan manipularlos. Observe que no es preciso que ambas aplicaciones estén escritas en el mismo lenguaje. De hecho, los objetos COM pueden escribirse en cualquier lenguaje (Java, C++, Pascal etc.) e implementarse en sus propios ejecutables o bajo la forma de librerías .DLL. A un cliente que esté utilizando un objeto COM le es indiferente en que lenguaje se ha escrito o como esté implementado, si se está ejecutando en una .DLL o en un proceso separado.


En la nomenclatura Windows estas manipulaciones de objetos de otras aplicaciones se denomina "automatización" (formalmente automatización OLE), y los objetos de cualquier aplicación (objeto servidor) puede ser manipulada siempre que exponga una interfaz adecuada (propiedades y métodos) que puedan ser accedidas desde otras aplicaciones (los clientes).

Los clientes "automatizados" pueden ser locales o remotos (incluso en una máquina accesible en una red).  Muchas aplicaciones comerciales, incluyendo algunas del propio Microsoft como Excel o Word disponen de esta interfaz, de forma que gran parte de su funcionalidad puede ser automatizada (monitorizada) desde otras aplicaciones.

Los clientes deben disponer de información sobre la interfaz del objeto servidor para poder manipularlo. Esta información se concreta en conocer el tipo de datos de las propiedades, así como valores devueltos y argumentos utilizados por los métodos. Si queremos que un cliente tenga estas habilidades, toda esta información (del servidor) debe ser enlazada con él durante su construcción. Esto puede hacerse de varias formas, pero la más adecuada es crear una librería de tipos.

Las librerías de tipos, son un tipo especial de librería de importación (estática), que se enlaza con el cliente y le proporciona información sobre la forma de acceder a la interfaz del servidor (en realidad informan sobre la forma pasar punteros de modo local o remoto -a través de redes- a los servidores).

Nota:  se utiliza el término librería de tipos cuando el objeto descrito en la librería no es una librería dinámica normal, sino un control ActiveX, un servidor OLE, un servidor COM.

  Inicio.


[1]  A su vez COM tiene su antecedente en la tecnología presentada en 1991 bajo las siglas OLE (Object Linking and Embedding).