Object Linking and Embedding

Una tabla creada en OpenOffice Calc embebida en un documento de OpenOffice Writer como un objeto OLE.

Object Linking and Embedding (OLE), cuya traducción literal es "incrustación y enlazado de objetos", es el nombre de un sistema de objetos distribuido y un protocolo desarrollado por Microsoft.

OLE permite a un editor encargar a otro la elaboración de parte de un documento y posteriormente volverlo a importar. Por ejemplo, un sistema de publicación de escritorio puede enviar un poco de texto a un procesador de textos o una imagen a un editor de bitmap usando OLE. La ventaja principal de usar OLE, además de que el tamaño del archivo es menor, es la de poder crear un archivo principal. Se puede hacer una referencia a los datos de ese archivo, con lo que todo cambio posterior en el archivo principal se reflejará en el documento referenciado.

Su uso principal es el manejo de documentos compuestos (compound documents), pero también puede ser usado para transferir datos entre aplicaciones diferentes mediante " arrastrar y soltar" (Drag 'n drop) o el portapapeles. El concepto de "incrustación" (embedding) es clave también en páginas web multimedia, que suelen contener videos, animaciones (incluidas las animaciones Flash) y archivos de música referenciados dentro del código HTML.

Sin embargo, OLE se fundamenta en una arquitectura de tipo « cliente pesado» (fat client), que requiere que todos los archivos y recursos incrustados residan en la máquina local, es decir, aquella en la que se trabaja. Por ejemplo, si un usuario quisiera procesar una hoja de cálculo de Microsoft Excel, o incluso sólo visualizarla, debería tener una copia de Excel previamente instalada en su equipo (o al menos un visor compatible de planillas Excel).

Tecnología

OLE 1.0, lanzado en 1990, fue la evolución de su antecesor Dynamic Data Exchange (DDE), concepto que Microsoft desarrolló en las primeras versiones de Windows. Mientras DDE fue limitado a transferir una limitada cantidad de información entre dos aplicaciones, OLE fue capaz de mantener enlaces activos entre dos documentos o incluso incrustar un tipo de documento dentro de otro.

Servidores y clientes OLE se comunican con las bibliotecas del sistema usando "Tablas de Funciones Virtuales" (virtual function tables o VTBL). La VTBL es una estructura de funciones de punteros que el sistema de biblioteca puede usar para comunicarse con el cliente o con el servidor. Las bibliotecas del servidor y el cliente OLESVR.DLL y ALECLI.dll, fueron originalmente diseñadas para comunicarse entre ellas usando mensajes Windows WM_DDE_EXECUTE.

Posteriormente, OLE 1.0 se convirtió en una arquitectura para "componentes de software" ( software componentry) más conocida como COM y luego DCOM.

Cuando un objeto OLE es colocado en el portapapeles, este es almacenado en formatos nativos de Windows (como son bitmap o metafile), o en su propio formato nativo. Este formato nativo permite a una aplicación OLE encajar una porción de otro documento cortado o copiado en el portapapeles del usuario, almacenándolo en el documento actual.

Other Languages