Object Linking and Embedding
Object Linking and Embedding (OLE) é um sistema de objetos distribuídos e um protocolo desenvolvido pela Microsoft. Ele permite a um editor disponibilizar parte de um documento para outro editor, e então reimportá-lo. Por exemplo, um sistema de editoração eletrônica pode enviar texto para um processador de texto ou uma figura para um editor gráfico usando OLE. O maior benefício em usar essa tecnologia, além de reduzir o tamanho do arquivo do documento, é a habilidade em criar um arquivo mestre. Referências para dados nesse arquivo podem ser feitas, e o arquivo mestre pode então modificar os dados, que serão atualizados nos respectivos documentos referenciados.
Seu uso primário é para o gerenciamento de documentos compostos, mas é também usado para a transferência de dados entre diferentes aplicações, usando as operações arrastar e soltar e área de transferência. O conceito de embarcar é também central para usos como multimedia em páginas web, que tendem a embarcar vídeos animações e gravações de áudio em um documento de hipertexto.
OLE usa a arquitetura de cliente pesado, que significa que o tipo de arquivo ou a aplicação sendo embarcada deve estar presente na máquina sendo operada. Por exemplo, se uma planilha eletrônica do Microsoft Excel está sendo manipulada ou visualizada, deve existir uma cópia do Excel ou um leitor de arquivos Excel instalado no computador sendo operado.
Tecnologia
[editar | editar código-fonte]OLE 1.0
[editar | editar código-fonte]O OLE 1.0, lançado em 1990, foi uma evolução do original DDE, conceito desenvolvido pela Microsoft nas primeiras versões do Windows. Enquanto o DDE era limitado na quantidade de dados transferido entre aplicações, o OLE era capaz de manter conexões ativas entre dois documentos, ou mesmo embarcando um documento em outro.
Os servidores e clientes OLE comunicam com um sistema de bibliotecas utilizando tabelas de funções virtuais. Tais tabelas consistem em uma estrutura de ponteiros para função que o sistema de bibliotecas pode usar para comunica com o servidor ou com o cliente. As bibliotecas de servidor e de cliente (OLESVR.DLL
e OLECLI.DLL
, respectivamente) foram desenvolvidas originalmente para comunicar entre si usando a mensagem do Windows WM_DDE_EXECUTE
.
A OLE 1.0 posteriormente evoluiu para tornar-se uma arquitetura para componentes de software conhecida como Component Object Model (COM), e posteriormente DCOM.
Quando um objeto OLE é posicionado na área de transferência, ele é armazenado em formatos nativos do Windows, e também armazenado em seu próprio formato nativo. Esse formato nativo permite que uma aplicação que suporte OLE embarque uma porção de outro documento recortado ou copiado para a área de transferência.
OLE 2.0
[editar | editar código-fonte]A OLE 2.0 foi a evolução da primeira versão, compartilhando vários dos objetivos originais, mas foi reimplementada sobre a COM ao invés de usar tabelas de funções virtuais. Novas funcionalidades incluem automação e arrastar e soltar.