동적 데이터 교환
Dynamic Data Exchange컴퓨팅에서 DDE(Dynamic Data Exchange)는 Microsoft Windows 및 OS/2의 초기 버전에서 사용된 프로세스 간 통신 기술입니다.DDE를 사용하면 프로그램이 다른 프로그램에서 제공하는 개체를 조작하고 이러한 개체에 영향을 미치는 사용자 작업에 응답할 수 있습니다.DDE는 OLE(Object Linking and Embedding)로 부분적으로 대체되었으며 현재는 하위 호환성을 위해 Windows 시스템에서만 유지되고 있습니다.
역사와 아키텍처
Dynamic Data Exchange는 1987년 프로세스 간 통신 방법으로 Windows 2.0 출시와 함께 처음 도입되었으며, Sun의 RPC(Remote Procedure Call)[1]처럼 한 프로그램이 다른 프로그램과 통신하거나 제어할 수 있게 되었습니다.당시 운영체제와 클라이언트 애플리케이션 간의 유일한 통신수단은 "Windows 메시징 레이어"였습니다.DDE는 이 프로토콜을 확장하여 메시지 브로드캐스트를 통해 클라이언트 애플리케이션 간에 피어 투 피어 통신을 가능하게 했습니다.
DDE는 메시지브로드캐스트를 통해 실행되므로 메시지를 전송하지 않는 창 관리 코드에 취약합니다.DDE는 프리엠프티브멀티태스킹보다 [2]앞서기 때문에 DDE 설계에서는 이 문제는 고려되지 않았습니다.
또한 창 핸들을 관리하는 모든 코드는 DDE 브로드캐스트에 응답할 수 있습니다.DDE의 이니시에이터는 예상 응답과 예상하지 못한 응답을 구분해야 합니다.DDE 인터로케이터는 보통 계층형 문자열 키로 원하는 정보를 표현합니다.예를 들어, Microsoft Excel의 셀은 DDE에 「어플리케이션」명으로 인식되었습니다.각 애플리케이션은, 「토픽」이라고 불리는 그룹 마다 정보를 한층 더 정리할 수 있습니다.또, 각 토픽은, 개개의 데이터를 「항목」으로서 제공할 수 있습니다.예를 들어 사용자가 첫 번째 행과 첫 번째 열의 "Book1.xls"라는 스프레드시트에 포함된 Microsoft Excel에서 값을 가져오려면 응용 프로그램은 "Excel", "Book1.xls" 항목 및 "r1c1" 항목이 됩니다.Excel 액션에 의한 셀의 내부 변경은 (역방향으로) 추가 메시지브로드캐스트를 통해 발신측 애플리케이션에 시그널링 됩니다.
최신 자동화 기술과의 관계
DDE의 일반적인 용도는 커스텀 개발 어플리케이션으로 시판 소프트웨어를 제어하는 것입니다.예를 들어 커스텀 사내 애플리케이션에서는 DDE를 사용하여 Excel과의 DDE 대화를 열고 DDE 명령을 전송함으로써 Microsoft Excel 스프레드시트를 열고 데이터를 채울 수 있습니다.이 기능은 주로 Component Object Model 기술 스위트로 대체되었습니다.Microsoft는 Windows 95 [3]출시 이후 DDE를 내부적으로 사용하지 않았습니다.예를 들어 Excel은 Excel과의 통신에 권장되는 광범위한 OLE Automation 개체 모델을 제공합니다.그러나 이 기법은 특히 재무 [4]데이터의 분배에 여전히 사용되고 있다.DDE는 기존의 Windows GUI 프로그램보다 더 많은 운영체제 컴포넌트를 필요로 하지 않기 때문에 의존성을 최소화하고자 하는 프로그램에게는 [거의 사용되지 않는] 대안이기도 합니다.
NetDDE
Wonderware는 NetDDE라고 불리는 DDE용 확장을 개발했습니다.이 확장 기능을 사용하여 네트워크 내의 다른 컴퓨터에서 실행되는 DDE 인식 애플리케이션 간의 DDE 대화에 필요한 네트워크 연결을 시작 및 유지하고 데이터를 투과적으로 교환할 수 있습니다.DDE 컨버세이션은 클라이언트응용 프로그램과 서버 응용 프로그램 간의 대화입니다.NetDDE는 DDE 및 DDE 관리 라이브러리(DDEML)와 함께 애플리케이션에서 사용할 수 있습니다.
/Windows/SYSTEM32
DDESHARE.EXE (DDE Share Manager)
NDDEAPIR.EXE (NDDEAPI Server Side)
NDDENB32.DLL (Network DDE NetBIOS Interface)
NETDDE.EXE (Network DDE - DDE Communication)
NetDDE 라이브러리 파일
Microsoft 는, Windows for Workgroups 에서 Windows XP 에 이르는 다양한 버전의 Windows 에 포함시키기 위해서, 제품의 기본 버전(NetBIOS 프레임 전용)을 라이센스 취득했습니다.또한 Wonderware는 TCP/IP를 지원하는 향상된 버전의 NetDDE를 자사 고객에게 판매했습니다.이 테크놀로지는 SCADA 분야에서 광범위하게 사용되고 있습니다.NetDDE 를 사용하는 기본적인 Windows 애플리케이션은, Clipbook Viewer, WinChat, 및 Microsoft Hearts 입니다.
NetDDE는 Windows Server 2003 및 Windows XP Service Pack 2에 포함되어 있지만 기본적으로는 비활성화되어 있습니다.Windows [5]Vista에서는 완전히 삭제되어 있다.다만, 이것에 의해, 기존의 버전의 NetDDE 가 인스톨 되어 그 이후의 버전의 Windows 로 기능하는 것을 막을 수 없습니다.
「 」를 참조해 주세요.
- 액티브X
- 컴포넌트 객체 모델(COM)
- 분산 컴포넌트 오브젝트 모델(DCOM)
- Microsoft.그물
- 옵서버 패턴
레퍼런스
- ^ "Net DDE to DOT NET Remoting". 2006-01-12. Archived from the original on 2010-11-11.
- ^ Chen, Raymond (27 Jun 2005). "Why are there broadcast-based mechanisms in Windows?". The Old New Thing. Archived from the original on 16 Dec 2009.
- ^ Chen, Raymond (26 Feb 2007). "Please feel free to stop using DDE". The Old New Thing. Archived from the original on 15 Mar 2019.
- ^ Joel Spolsky - Fog Creek 소프트웨어 토론 포럼 코멘트
- ^ NetDDE는 Windows Vista에서 삭제되어 있다.
원천
- 찰스 페트졸드.Windows 95용 프로그래밍의 "다이나믹 데이터 교환"을 참조하십시오.Microsoft Press.