- Object Linking and Embedding
-
Object Linking and Embedding (OLE) cuya traducción literal es "incrustación y enlazado de objetos" es el nombre de un sistema de objeto 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 usando arrastrar y soltar y operaciones del portapapeles (clipboard). El concepto de "incrustación" ("embedding") es también de uso central en páginas web multimedia, las cuales tienden a contener vídeos, animaciones (incluidas las animaciones Flash) y archivos de música dentro del código HTML. Sin embargo, OLE usa una arquitectura denominada fat client (cliente pesado), la cuál significa que el tipo de archivo o la aplicación que va a ser incrustada debe estar presente en la máquina en la cuál esta va a trabajar. Por ejemplo, si una hoja de cálculo de Microsoft Excel está por ser procesada o incluso solo visualizada, debería haber una copia de Excel o un visor de Excel instalado en la máquina del usuario.
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 VTBLS. The VTBL es una estructura de funciones 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, éste es almacenado en formatos nativos de Windows (como son el bitmap o el 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.
Contenido
OLE 2.0
OLE 2.0 fue la evolución de OLE 1.0, compartiendo muchas de las mismas metas, pero se volvió a implementar basándolo en COM en vez de usar VTBLs. Algunas características fueron in-place activation, OLE automation y drag-and-drop.
ActiveX
En 1996, Microsoft renombró la tecnología OLE 2.0 en ActiveX. Esta versión de OLE es comúnmente usada por diseñadores Web para incrustar archivos multimedia.
Como consecuencia de perder en un pleito, la patente con Eolas, Microsoft anunció el 2 de diciembre de 2005, “después de una próxima actualización, los usuarios del Microsoft Internet Explorer no podrán interactuar directamente con los controles de Microsoft ActiveX cargados por medio de APPLET, EMBED, OBJECT [1]. Funcionalmente esto significa que los usuarios del Internet Explorer deberán “activar” objetos como FLASH y películas QuickTime antes de que puedan interactuar con ellas. Los objetos todavía se muestran (visualizan), pero el usuario no puede hacer nada con ellos (por ejemplo, pausar una película) hasta que los activen. Cuando los usuarios muevan su cursor sobre uno de estos objetos, una ventana emergente le avisará "haga clic para activar y usar este control". Cuando hagan esto sobre el objeto, podrán usarlos de manera normal. No vale de nada que la patente cubra sólo objetos directamente embebidos en el documento HTML, de esta manera los objetos siguen estando embebidos en las páginas web a través de la ejecución de un pequeño JavaScript que llama a document.write para generar los tags necesarios para incrustar el objeto ActiveX.
Véase también
- OLE Automation
- OLE DB
- OPC
- Component Object Model (COM)
- Distributed Component Object Model (DCOM)
- Dynamic Data Exchange (DDE)
- Microsoft .NET
- KParts y Bonobo en Unix y derivados.
Enlaces externos
- Ryan Naraine, "Microsoft Bows to Eolas, Revamps IE's Multimedia Handling", December 2, 2005.
- "Activating ActiveX Controls" — Microsoft's workaround for the ActiveX issue.
- "Activate ActiveX" — an unofficial workaround for the ActiveX issue.
- "How to stop an ActiveX control from running in Internet Explorer"
- "Corrección a IE7 para no tener que hacer clic para activar los controles ActiveX"
- "jActivating" - Unobstrusive workaround for the ActiveX issue
Categoría:- Interfaces de programación de aplicaciones de Microsoft
Wikimedia foundation. 2010.