OLE 자동화

마이크로소프트 윈도우 애플리케이션 프로그래밍에서 OLE 자동화(OLE Automation, 나중에는 간단히 자동화로 이름이 변경됨)는
마이크로소프트가 개발한 프로세스 간 통신(IPC) 매커니즘이다. 컴포넌트 오브젝트 모델(COM)의 하위 집합에 기반을 두며, 스크립트 언어(원래는 비주얼 베이직)를 통해 사용되도록 고안되었으나 지금은 윈도우에서 여러 언어를 통해 사용할 수 있다. 모든 자동화 오브젝트들은 IDispatch 인터페이스의 구현이 요구된다.
"자동화 컨트롤러"라는 이름의 응용 프로그램들이 다른 응용 프로그램들이 내보낸 공유 "자동화 오브젝트"를 접근하고 조작(예: 속성 설정 또는 메소드 호출)할 수 있는 인프라스트럭처를 제공한다. 애플리케이션이 다른 애플리케이션을 통제하는 더 오래된 매커니즘인 동적 데이터 교환(DDE)를 대체한다. DDE처럼 OLE 자동화에서 자동화 컨트롤러는 "클라이언트"이며 자동화 오브젝트를 내보내는 애플리케이션은 "서버"이다.

이름과 대조적으로 자동화 오브젝트는 반드시 마이크로소프트 OLE를 사용할 필요는 없으나 자동화 오브젝트들 가운데 일부는 OLE 환경에서 사용이 가능하다. 이러한 혼동은 마이크로소프트의 초기 OLE 정의에 그 뿌리를 두고 있으며 이전에는 다소 COM과 동의어로 사용되기도 했다.

사용

지원 언어 
자동화는 다음을 포함한 다양한 언어를 지원한다:

 ABAP
 C
 C++ (컴파일러 COM 지원,
MFC 또는 ATL 등의 라이브러리와 함께)
 C#
 비주얼 베이직, 비주얼 베이직 포 애플리케이션
 델파이
 마이크로소프트 닷넷 언어
 APL (대부분 윈도우 버전)
 자바 (서드파티 도구를 통해서만)
 J스크립트 and VB스크립트
 오픈 오브젝트 Rexx
 펄
 PHP
 파워빌더
 파이썬
 루비 (표준 루비 1.8.x 이상 배포판에 포함된 'win32ole'라이브러리를 통해)
 Tcl
 비주얼 데이터플렉스
 WinBatch

같이 보기 
 액티브X
 액티브 스크립팅
 객체 연결 삽입 (OLE)
 컴포넌트 오브젝트 모델 (COM)

각주

외부 링크 
OLE Automation General paper on the introduction and problems implementing OLE.
"VOLE - A Neat C++ COM/Automation Driver" — an open-source, compiler-independent C++ COM Automation driver library, for use when having to drive IDispatch directly. VOLE is highly robust, fully encapsulates all "low-level" aspects of IDispatch, and is very flexible, taking and returning normal C++ types.
 
 
 
  — full printed documentation of the object model of Microsoft Office

객체 지향 프로그래밍
마이크로소프트 API