Визуальное программирование и MFC


Автоматизация как механизм обмена информацией


Вероятнее всего, что в ближайшее время наиболее важными из всех указанных типов серверор станут серверы автоматизации ActiveX.

Автоматизация - это механизм обмена информацией между процессами (interprocess communications, IPC) в среде Windows, с помощью которого одна прикладная программа или компонент может управлять другой или автоматизировать (automate) ее. Система OLE-автоматизация отличается от высокопроизводительных программ IPC, предусмотренных в Win32, поскольку она обеспечивает лишь выполнение базовых функций, позволяющих связываться и обмениваться информацией обособленным программным модулям. Задача же разработчика - назначить имена межпрограммных интерфейсов и указать способы их использования.

Традиционно проблемы, связанные с IPC, решались в Windows с помощью динамического обмена данными (DDE). DDE - это метод обмена сообщениями, при котором одна программа (клиент DDE) может запрашивать данные у другой (сервера DDE). Существуют три основных типа транзакций или процедур DDE.

  • "Холодная" связь, при которой клиент запрашивает данные у сервера.
  • "Теплая" связь, при которой клиент запрашивает у сервера уведомление о любом изменении указанных данных.
  • "Горячая" связь, при которой сервер посылает клиенту как уведомление, так и сами указанные данные при каждом их изменении.

Все эти сценарии можно реализовать и с помощью средств OLE-автоматизации, причем этот путь обладает некоторыми очевидными преимуществами.

Во-первых, механизм DDE обеспечивает обмен информацией между процессами с помощью системы обработки сообщений, принятой в Windows, в то время как OLE-автоматизация базируется на функциях: она позволяет использовать предоставленные компонентом функциональные объекты для обращения к возможностям сервера и информации.

Во-вторых, система сообщений DDE налагает некоторые ограничения: и программы-клиенты, и программы-серверы DDE должны быть разработаны таким образом, чтобы прикладная программа корректно использовала DDE.


Начало  Назад  Вперед