OLE Automation (posteriormente renomeado pela Microsoft para somente Automation, apesar do termo antigo ainda ser bastante usado) é mecanismo para a comunicação entre processos baseado em Component Object Model (COM) 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.
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.
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.
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 Linguagens da Microsoft .NET Java (não nativamente) JScript e VBScript Perl PHP PowerBuilder Ruby (a partir do padrão 1.8.x)
Notas e referências
Ver também Object Linking and Embedding (OLE) Component Object Model (COM)
Categoria:Interfaces de programação de aplicações da Microsoft Categoria:Computação concorrente Categoria:Microsoft Categoria:Tecnologia da informação