OLE Automation
Origem: Wikipédia, a enciclopédia livre.
OLE Automation (posteriormente renomeado pela Microsoft para somente Automation[1][2], apesar do termo antigo ainda ser bastante usado) é mecanismo para a comunicação entre processos baseado em Component Object Model (COM)[3] introduzido pela Microsoft. Ele fornece uma infraestrutura na qual aplicações (chamadas controladores de automação) podem acessar e manipular dados compartilhados (chamados objetos de automação) que são exportados por outras aplicações. Ela é uma evolução à Dynamic Data Exchange, um mecanismo mais antigo para que aplicações controlem umas as outras. Assim como em DDE, em OLE Automation o controlador de automação é o cliente e a aplicação exportando os objetos de automação é o servidor.
Índice |
[editar] Uso
A Automation foi desenvolvida com a facilidades dos scripts em mente, de forma que os controladores pudessem fornecer linguagens como o Visual Basic for Applications pra usuários finais, permitindo que eles controlem objetos de automação através de scripts.
[editar] Interfaces
Um objeto de automação é simplesmente um objeto COM que implementa uma interface IDispatchM
. Essa interface expõe quatro métodos, entre eles Invoke
: esse método permite chamar métodos de uma classe pelo nome, com uma quantidade arbitrária de parâmetros. Nem o nome do método nem a quantidade (e seus respectivos tipos de dado) de parâmetros precisam ser conhecidos em tempo de compilação. A maioria dos componentes COM existentes são compatíveis com Automation.
[editar] Suporte em linguagens
Automation (diferente do resto da COM) é disponível para uma variedade de linguagens, incluindo:
- C++ (diretamente ou através de bibliotecas como MFC ou ATL)
- Visual Basic e Visual Basic for Applications
- Delphi[4]
- Linguagens da Microsoft .NET
- Java (não nativamente)
- JScript e VBScript
- Perl
- PHP[5]
- PowerBuilder
- Ruby (a partir do padrão 1.8.x)
[editar] Notas e referências
- ↑ Microsoft Corporation. Automation (MFC). MSDN.com.
- ↑ David J. Kruglinski; Scott Wingo; George Shepherd. Programming Microsoft Visual C++ 6.0. 5.ed. Redmond: Microsoft Press, 1998. ISBN 1-57231-857-0
- ↑ Richard Potter (18 de abril de 1999). OLE Automation.
- ↑ OLE Automation using Delphi.
- ↑ PHP: COM and .Net (Windows) (25 de julho de 2006).
[editar] Ver também
- Object Linking and Embedding (OLE)
- Component Object Model (COM)