DDE (Dynamic Data Exchange) – Windows пен OS/2 жүйелеріндегі бағдарламалар арасындағы байланыс технологиясы. Ескірген, бірақ үйлесімділік үшін сақталады.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Компьютерлік есепте, динамикалық деректер алмасу (DDE) – Microsoft Windows және OS/2 жүйелерінің алғашқы нұсқаларында қолданылған процестер аралық байланыс технологиясы. DDE бағдарламаларға басқа бағдарламалар ұсынған объектілерді өңдеуге және осы объектілерге әсер ететін пайдаланушы әрекеттеріне жауап беруге мүмкіндік береді. DDE технологиясы Object Linking and Embedding (OLE) арқылы ішінара ауыстырылды және қазіргі таңда Windows жүйелерінде тек бұрынғы үйлесімділікті сақтау мақсатында қолдауға алынып келеді.
In computing, Dynamic Data Exchange (DDE) is a technology for interprocess communication used in early versions of Microsoft Windows and OS/2. DDE allows programs to manipulate objects provided by other programs, and respond to user actions affecting those objects. DDE was partially superseded by Object Linking and Embedding (OLE), and is currently maintained in Windows systems only for the sake of backward compatibility.
Тарих және сәулет
Динамикалық деректер алмасу 1987 жылы Windows 2.0 нұсқасымен бірге енгізілді, бұл бір бағдарламаның екінші бағдарламамен байланысуына немесе оны басқаруына мүмкіндік беретін процестер арасындағы байланыс әдісі болды, бұл Sun компаниясының RPC (Remote Procedure Call) сияқты. Сол кезде операциялық жүйе мен клиенттік бағдарламалар арасындағы байланысқа жалғыз әдіс – "Windows Messaging Layer" болды. DDE бұл протоколды кеңейтіп, клиенттік бағдарламалар арасында хабарлама тарату арқылы тікелей байланыс орнатуға мүмкіндік берді. DDE хабарлама тарату арқылы жұмыс істейтіндіктен, хабарламаларды өңдемейтін кез келген терезе басқару кодына осал. Бұл мәселе DDE жобаланған кезде ескерілмеді, себебі DDE алдын ала жоспарланған көп тапсырмалылықтан бұрын пайда болды. Сонымен қатар, терезені басқаруға қабілетті кез келген код DDE хабарламасына жауап бере алады; DDE бастамашысы күтілетін және күтілмеген жауаптарды ажыратуы тиіс. DDE қатысушылары әдетте ізделінетін ақпаратты иерархиялық жол кілттері арқылы көрсетеді. Мысалы, Microsoft Excel-дегі жасуша DDE үшін "қосымша" атауымен белгілі болды. Әрбір қосымша ақпаратты "тақырып" деп аталатын топтарға бөліп ұйымдастыра алады, ал әрбір тақырып жеке деректерді "элемент" ретінде ұсына алады. Мысалы, егер пайдаланушы Microsoft Excel-ден "Book1.xls" атты электрондық кестедегі бірінші қатар мен бірінші бағандағы мәнді алуды қаласа, қосымша "Excel", тақырып "Book1.xls" және элемент "r1c1" болар еді. Содан кейін жасушадағы Excel әрекеттерінен туындаған ішкі өзгерістер қосымша хабарламалар арқылы шақырушы қосымшаға кері хабарланады.
Dynamic Data Exchange was first introduced in 1987 with the release of Windows 2.0 as a method of interprocess communication so that one program could communicate with or control another program, somewhat like Sun's RPC (Remote Procedure Call). At the time, the only method for communication between the operating system and client applications was the "Windows Messaging Layer." DDE extended this protocol to allow peer to peer communication among client applications, via message broadcasts. Because DDE runs via message broadcasts, it is vulnerable to any window management code that does not pump messages. This problem was not considered during the design of DDE, because DDE predates pre emptive multitasking. Moreover, any code managing a window handle can respond to a DDE broadcast; the initiator of DDE must distinguish between expected and unexpected responses. DDE interlocutors usually express what information they seek in terms of hierarchical string keys. For example, a cell in Microsoft Excel was known to DDE by its "application" name. Each application could further organize information by groups known as "topic" and each topic could serve up individual pieces of data as an "item". For example, if a user wanted to pull a value from Microsoft Excel which was contained in a spreadsheet called "Book1. xls" in the cell in the first row and first column, the application would be "Excel", the topic "Book1. xls" and the item "r1c1". Internal changes in the cell due to Excel actions would then be signaled (in reverse) to the calling application via additional message broadcasts.
Заманауи автоматтандыру технологияларымен байланыс
DDE көбінесе арнайы жасалған бағдарламалар арқылы стандартты бағдарламаны басқару үшін қолданылады. Мысалы, ішкі қолданба DDE-ді Microsoft Excel электрондық кестесін ашу және деректермен толтыру үшін пайдалана алады, Excel-мен DDE байланысын орнатып, оған DDE командаларын жіберу арқылы. Бұл мүмкіндік негізінен Компоненттік Объект Моделі технологиялар жиынтығымен ығыстырылды. Microsoft Windows 95 нұсқасы шыққаннан бері DDE-ді ішкі қолдануды тоқтатты. Мысалы, Excel енді кеңейтілген OLE Automation нысандар моделін ұсынады, Excel-мен байланыс орнатудың ұсынылатын тәсілі осы. Дегенмен, бұл техника әлі де қолданыста, әсіресе қаржылық деректерді тарату саласында. DDE, әдеттегі Windows GUI бағдарламасына қарағанда аз операциялық жүйе компоненттерін қажет ететіндіктен, тәуелділіктерін азайтуға тырысатын бағдарламалар үшін [сирек қолданылатын] балама болып табылады.
The common use of DDE is for custom developed applications to control off the shelf software. For example, a custom in house application might use DDE to open a Microsoft Excel spreadsheet and fill it with data, by opening a DDE conversation with Excel and sending it DDE commands. This feature has mainly been superseded by the Component Object Model suite of technologies. Microsoft has not used DDE internally since the release of Windows 95. For example, Excel now exposes an extensive OLE Automation object model, which is the recommended method for communicating with Excel. The technique is, however, still in use, particularly for distribution of financial data. Because DDE does not require more operating system components than a conventional Windows GUI program, it is also a [little used] alternative for programs seeking to minimize their dependencies.