- •6. Системное программное обеспечение для коммуникаций
- •6.1. Общая характеристика коммуникаций
- •6.2. Концепции технологии Клиент-Сервер
- •6.3. Внутренние коммуникации между процессами
- •6.3.1. Неименованные каналы
- •6.3.2. Обмен сообщениями
- •1. Подготовка данных для передачи в Clipboard;
- •2. Открытие Clipboard
- •4. Закрытие Clipboard
- •6.3.5.1. Введение
- •6.3.5.2. Понятие документно-ориентированной среды
- •6.3.5.3. Принципы ole
- •6.3.5.4. Характеристика технологии ole 2.0
- •6.3.5.4.4. Дополнительные возможности ole 2.0:
- •6.3.5.4.5. Внутренние механизмы ole 2.0
- •6.3.5.4.6. Перспективы ole
- •6.3.5.4.7. Недостатки ole
- •6.3.5.5. Технология проектирования ole-контейнера
- •6.3.5.5.1. Трехуровневая адресация ole-объекта
- •6.3.5.5.2. Общая характеристика технологии создания ole-клиента
- •6.3.5.5.3. Методика создания приложения с ole-контейнером
- •1. Создание формы с mdi - многодокументным интерфейсом
- •2. Разработка процедуры вставки объектов
- •3. Разработка процедуры переноса объектов из Clipboard
- •4. Разработка процедуры перетаскивания объектов
- •5. Разработка процедур поддержки хранения объектов в файлах
- •6.3.5.5.4. Выводы
6.3.5.4.4. Дополнительные возможности ole 2.0:
Развитие метода Drag-and-Drop для перемещения любых объектов внутри любых окон, а не только файлов из File Manager;
Возможность создания вложенных объектов;
Возможность частичного настраивания связей при перемещении документов из каталога в каталог;
Возможность выбора способа внедрения объекта в зависимости от цели, что позволяет экономить память, например, можно внедрить таблицу из Excel в Word как таблицу (для активного редактирования), а можно - только как битовый образ (только для отображения).
6.3.5.4.5. Внутренние механизмы ole 2.0
OLE 2.0 - это набор интерфейсов, позволяющих клиенту и серверу обмениваться данными. Протокол обмена называется UTD - Uniform Data Transfer (Унифицированная передача данных). UTD - это расширение протокола обмена через Clipboard, предусматривающее механизмы уведомления об изменении данных и переговоры о форматах.
При этом нет ограничений на размер данных, т.к. можно передавать и через диск, или пользоваться передачей ссылки, а не самих данных.
Самое важное в механизмах OLE 2.0 - это отказ от протокола DDE, основанного на механизме передачи сообщений, в пользу протокола COM - Component Object Model, основанного на механизме удаленных процедурных вызовов - RPC Remote Procedure Call. COM - это протокол низкого уровня OLE, предусматривающий набор стандартов для реализации объектов, способы коммуникации объектов друг с другом и набор функций API.
СОМ - это технология, которая лежит под OLE, но сама не является частью OLE.
СОМ - это способ реализации объектов на уровне ОС. Это означает, что объекты СОМ могут быть интегрированы в саму ОС и действовать в качестве естественного ее расширения.
Если объекты СОМ располагаются в DLL, то они становятся доступными из различных языков, таким образом, объекты СОМ разрабатываются для преодоления границ между программами, языками, операционными системами и машинами.
Конкурентными технологиями являются CORBA и SOM.
Объекты СОМ могут размещаться либо в DLL, либо в исполняемых модулях, или, со временем, на удаленных машинах. Когда они размещены в DLL, то известны под именем серверов внутренней обработки. При размещении внутри исполняемого модуля, их называют локальными серверами. При размещении на удаленной машине их называют распределенными объектами.
Взаимосвязь уровней представлена ниже:
6.3.5.4.6. Перспективы ole
OLE из средства обмена данными превратилось в средство взаимодействия приложений и хранения данных;
В OS Windows OLE является основой объектно-ориентированного пользовательского интерфейса;
В будущих версиях Windows OLE, основанная на RPC, будет сетевой технологией OLE 3.0, позволяющей клиенту и серверу находиться на разных физических машинах.
6.3.5.4.7. Недостатки ole
чрезвычайно сложная технология для разработчиков;
некоторая несогласованность в интерфейсах разных приложений;
некоторое расхождение в понятиях "объекта" в OLE и ООП;
ненасытность в отношении аппаратных ресурсов;
трудности перевода на сетевую технологию, связанные с изначальной ориентированностью протокола UTD на одиночную машину, и состоящие в больших объемах передаваемых данных.