9.2. Технология СОМ

Модель СОМ построена по принципу архитектуры «клиент – сервер». Сервер предоставляет список возможных действий (функций), которые могут использоваться клиентским процессом. Таким образом, серверный процесс позволяет обрабатывать запросы клиента, выполняя некоторые действия. Когда взаимодействие между клиентом и сервером подразумевает обмен данными, эти данные передаются в качестве параметров функций. При необходимости клиент также может экспортировать функции, которые могут быть вызваны сервером.

В основе СОМ лежат ключевые понятия, которые характерны и для объектно-ориентированного программирования: инкапсуляция, наследование и полиморфизм. Рассмотрим их применительно к объектам СОМ.

Инкапсуляция позволяет скрыть методы (функции) и данные от использования другими объектами. Этот механизм необходим для обеспечения безопасности и надежности конечной системы. Термин «метод» использован не случайно, объекты СОМ строятся по принципу классов в программировании (класс имеет название CoClass, приставка Со говорит о том, что это класс СОМ).

Наследование позволяет многократно использовать готовые решения. Создавая объект и наследуя некоторые свойства (данные) и методы (функции), мы можем использовать их в дальнейшем. Механизм наследования в связке с принципом полиморфизма позволяет создавать иерархии СОМ-классов для эффективного решения любых задач. Кроме наследования, часто используется и агрегация – внедрение ранее реализованных объектов внутрь вновь разрабатываемых.

Полиморфизм позволяет переопределять реализацию (поведение) унаследованных функций и данных. Это дает возможность более гибко строить иерархию классов, снижая тем самым сложность реализации программ.

Изначально технология СОМ обеспечивала межпроцессное взаимодействие только на локальном компьютере. Эволюция СОМ привела к созданию DCOM (Distributed СОМ, распределенная СОМ), позволяющей работать с объектами, которые расположены на различных и удаленных друг от друга компьютерах.

На данный момент DCOM является межплатформенной технологией. Существуют средства для поддержки DCOM в различных UNIX-системах (в том числе Linux), Solaris, MacOS, VxWorks.

Загрузка...