Source: DataSheet. COMsource for Solaris, Tru64 UNIX and other Platforms (The Open Group).
This article.
Russian translate.


Технические Характеристики
COM-источника для Solaris, Tru64 UNIX и других платформ

Обзор COM-источника

Клиент/Сервер

Обзор COM-источника

Обратите внимание: “COM-источник для Solaris, Tru64 UNIX и других платформ” называется “COM-источником” (COMsource) на всём протяжениии этого документа.

COM-источник The Open Group предоставляет объектно-базовую, распределённую, программную модель, призванную содействовать интероперабельности программного обеспечения (ПО). Это открытые системы, осуществляющие промежуточную разработку Component Object Model (COM) от Microsoft для Windows платформы. COM-источник предоставляет все базовые функции, библиотеки и инструменты, которые требуют применения COM. С COM-источником, независимые поставщики ПО могут легко портировать свои COM-приложения в non-Microsoft платформы.

COM реализует двоичный стандарт, который позволяет двум или нескольким приложениям или "компонентам" работать сообща, вне зависимости от того, были ли они написаны различными поставщиками, на разных языках, в разное время, запускаются на различных платформах различных операционных систем (ОС). DCOM, the Distributed Component Object Model, расширяет COM-модель и обеспечивает приложениям возможность взаимодействовать удалённо через сеть.

Используя эту модель программирования, C++, Visual C, Visual Basic, или Java-программист инкапсулирует приложение в ПО компонентных объектов. Компонентный объект это многоразовый фрагмент двоичного кода, написанный на стандартных интерфейсах, определённых COM, который может соединяться с другими компонентными объектами также написанных на этих стандартных интерфейсах. Таким образом, программист может написать приложение однажды и предоставить его возможности в распоряжении других приложений. С DCOM, программистское клиентское приложение может быть использовано другими приложениями на удалённом сервере.

Преимущества COM-источника

COM-источник обеспечивает инфраструктуру, необходимо писать портативные, совместимые клиенты и серверы. Инфраструктура, в том числе функции, такие как именование (Monikers), хранение (Structured Storage), клиентский доступ из клиентских скриптов, легко программируется в пользовательских приложениях и средствах управления (Automation), является полной и переносимой.

COM-источник позволяет:

  • Представлять COM-интерфейсы для наследия UNIX приложений, представляя доступ к этим приложениям со стороны клиентов Windows
  • Развёртывать COM-серверы в UNIX, это им позволяет воспользоваться преимуществами UNIX – надёжностью, масштабируемостью и потенциалом многопроцессной обработки
  • Расширить COM промежуточной инфраструктурой в UNIX, обеспечивая основу для гетерогенных UNIX/Windows операционных сред и созданию благоприятных приложений на UNIX системах, воспользоваться COM возможностями, такими как многократно используемые объекты, которые могут быть обновлены без перекомпиляции, независимости языка, и независимости версии
Технология COM-источника

Технология COM-источника, поставляемая The Open Group включает в себя следующие компоненты:

  • COM, лежащая в архитектуре, которая формирует основу для более высокого уровня услуг ПО, такими как те, которые предусмотрены в OLE. Это включает в себя:
  • Распределённые возможности, обычно называемые как DCOM
  • Service Control Manager - часть COM-библиотеки, отвечает за размещение класса реализаций, осуществляемых в библиотеках, локальных процессах или удалённых серверах
  • Structured Storage – обеспечивает богатый, на основе транзакций, иерархический формат файла, что позволяет COM-приложениям создавать файлы, которые могут быть распространены через приложения и платформы
  • Monikers – даёт ссылки на объекты хранящиеся постоянно; обеспечивает стойкие, умные имена
  • Automation - позволяет выявить объекты, функциональные возможности высокого уровня, языков программирования и скриптовых сред
  • Remote Procedure Call (RPC), осуществляет Distributed Computing Environment (DCE) RPC спецификации, на которой базируется COM.
  • Компилятор язык определения интерфейсов – Microsoft Interface Definition Language (MIDL), используется для создания интерфейса компонентных объектов.
  • Реестр, база данных COM-компонентов и их конфигурационной информации.
  • Провайдер Распределённой Безопасности в Windows NT – Distributed Security provider (NTLM SSP), провайдер безопасности, который поддерживает Распределённую модель безопасности Windows NT.

COM-источник на базе кода включённого в Microsoft NT версии 4.0, до и в том числе с пакетом обновлений 3 (за исключением функциональности, которая не UNIX; например, заимствование).

Component Object Model

COM-модель призвана содействовать совместимости ПО, разрешает многочисленным, разнообразным приложениям работать совместно. Для поддержки этих особенностей взаимодействия, COM определяет и реализует механизмы, позволяющие подключаться приложениям друг к другу как "компонентные объекты".

Компонентный объект это сбор соответствующих функций и функции связанного состояния. Иными словами, COM, как и традиционная система обслуживания API, обеспечивает операции, через которые клиент некоторого сервиса может соединяться с несколькими провайдерами. Но как только устанавливается соединение, COM меняет картину. COM служит для соединения клиента и объекта, но как только соединение установлено, клиент и объект общаются напрямую без вынужденных накладных расходов через центральную часть API кода.

Основная сила COM-модели заключается в том, что компонентные объекты могут развиваться постепенно или изменяться без необходимости одновременного развития или изменять существующие клиенты объекта. Компонентные объекты могут легко продолжать оказывать поддержку интерфейсам, которые связывают с существующими клиентами в то время как предоставляются новые интерфейсы, через которые они общаются с новыми клиентами.

Distributed Component Object Model

DCOM, распределённая реализация COM, находится в сердцевине технологии COM-источника. COM предоставляет модель объектов, организованных в классы, поддерживаемые методы организованы в интерфейсы. К этому DCOM добавляет:

  • Поддержку прозрачности локализации применения методов в объектах
  • Возможность автоматической загрузки и начала запуска серверов по мере необходимости
  • Интерфейсы, которые позволяют написать сложный класс, который предоставляет более высокий уровень производительности и поддержки для удалённых клиентов

Сам DCOM делится на слои, на вершине выполняется удалённый вызов процедур (RPC), который обеспечивает надёжную связь в различных транспортных протоколах сети, в частности, Transmission Control Protocol (TCP) и User Datagram Protocol (UDP).

Слои Интерфейсов

Верхний слой COM, включается в COM-источник – интерфейсы, которые поддерживают конструкцию объектно-ориентированных сервисов:

Service Control Manager

Service Control Manager (SCM) является компонентом библиотеки COM, ответственен за размещение класса реализаций и запуска их. SCM гарантирует, что когда клиент производит запрос, соответствующий сервер подключён и готов к приёму запроса. SCM ведёт базу данных информационного класса, основанного на системном реестре, который клиент кеширует локально через библиотеку COM.

Structured Storage Library

Традиционные файловые системы сталкиваются с трудностями при попытке эффективно хранить несколько типов объектов в одном документе. COM обеспечивает решение: файловую систему в файл. Структурированное хранение COM определяет, каким образом рассматривать отдельный файл как структурированную коллекцию двух типов объектов, которые действуют подобно каталогам и файлам?хранилищ и потоков. Такая схема снижает эффективность штрафов и накладных расходов, связанных с хранением отдельных объектов в плоском файле. COM-компоненты могут использовать хранение и поток объектов для организации и хранения устойчивых данных так, что множественные компоненты или приложения могут хранить информацию в отдельном файле.

Хотя приложение или компонент разработчик может реализовать в виде структурированного хранилища объектов, COM предоставляет стандартную реализацию, называемую Compound Files, которая входит в COM-источник. Compound Files содержит следующие функции:

  • Файловая система (ФС) и платформенная независимость – с тех пор, как Compound Files реализация проходит поверх существующих плоских файловых систем, соединяющих файлы, хранящиеся в NT, UNIX, Macintosh, или любой другой файловой системе, могут быть открыты в приложениях, использующих любую из другую ФС.
  • ‘Обозреваемость’ – отдельные объекты в комплексе файлов сохраняются в стандартном формате и могут быть получены с помощью стандартных интерфейсов и API-функций. Следовательно, любая браузер утилита использует эти интерфейсы и API-функции, может выводить список объектов в файле, даже если данные в том или ином объекте могут находиться в собственном формате.
  • Доступ к Некоторым внутренним данным - Compound Files предусматривает осуществление стандартных способов написания некоторых типов данных (свойства сводной информации документа, как пример). Приложения могут читать эти данные с помощью структурированного хранения интерфейсов и API-функций.

Monikers

Monikers обеспечивают устойчивые, умные имена. Имена могут представлять много разных образований. Например, имя может представлять файл, запрос базы данных, диапазон данных в файле – таких, как диапазон ячеек электронной таблицы или параграф в документе, или пункт или кусок кода в системе, который может выполнять частные операции. В мире, где клиенты должны знать значение имени, чтобы пользоваться им, для других клиентов в конечном итоге приходиться писать индивидуальный код для каждого типа имени, это означает, что приложение растёт монолитно в размере и сложности. Monikers решают эту проблему.

В COM, правильная работа с частным именем – это инкапсуляция внутри себя имени, где имя становится объектом, именуемым как moniker, который реализует связанно-именные интерфейсы. Каждый класс-moniker имеет свою собственную семантику по отношению рода объекта или операции, на которые он может сослаться, что зависит только от самого moniker’а. Пока класс-moniker сам осуществляет операции, необходимые для определения некоторых общих типов объекта или какой-либо общий вид деятельности, каждый отдельный объект-moniker хранит свои собственные данные, которые идентифицируют конкретный объект или операцию.

Monikers обеспечивают идеальную модель, позволяющую приложениям интегрироваться с новыми сервисами имён. Например, если существует такая штука как класс DCE-moniker, это позволит DCE-серверам или DCE-серверу данных рассматриваться в виде объектов. Monikers могли бы предоставить средства для дальнейшей интеграции DCE-услуг для приложений основанных на COM-источнике.

Automation

Automation позволяет COM-объектам показывать функциональность среды программирования высокого уровня, такой как визуальные средства разработки. Языки сценариев могут использовать COM-компоненты, которые поддерживают автоматизацию. Automation добавляет следующие возможности COM:

  • Позднее связывание, динамический вызов метода
  • Небезопасный тип вызова метода, который полезен для ‘типизации’ среды программирования
  • Национально независимый язык программирования позволяет программистам использовать их родной язык в их исходном коде

Uniform Data Transfer

COM предоставляет стандартный механизм для передачи структурированных данных между компонентами. Это механизм данных объекта. Обмен указателями на данные объекта, поставщики и пользователи данных могут управлять передачей данных на единой основе, независимо от формата данных, типа передачи данных, или целевого устройства, на котором он будет оказан.

Persistent Objects

COM-объекты могут сохранить своё внутреннее состояние, когда об этом попросит клиент. COM определяет стандарты, с помощью которых клиенты могут запрашивать объекты для инициализации, загружать, и сохранять данные. Это клиентская ответственность за управление местом, где хранятся устойчивые данные объекта, но не формат данных. COM-объекты, которые которые соблюдают эти стандарты называют постоянными объектами (persistent objects).

Connectable Objects

Connectable Objects, предоставляют возможность для общих объектов для поддержки следующих ‘исходящих’ интерфейсов:

  • Знание своего существования для исходящего интерфейса, такого как набор событий
  • События, уведомления, и запросы
  • Подключение и отключение от ‘поглотителей’
  • Перечисление существующих соединений

Object Linking and Embedding

Хотя COM-источник не включает API для объектов связи и встраивания (OLE), или ActiveX Controls, он не предусматривает основные технологии на которых они (или схожие технологии) могут быть построены.

Microsoft RPC

Удалённый вызов процедур от Microsoft (MS-RPC) осуществляется, и полностью совместим с The Open Group Распределённым компьютерным окружением (DCE) RPC системы.

RPC это механизм соединений, который облегчает коммуникацию клиент-сервер, поэтому компонент может эффективно пользоваться ресурсами, распределёнными по всей сети. Используя Язык определения интерфейсов от Microsoft (MIDL), программисты могут создать вызовы компонентов, которые могут располагаться в любом месте сети.

Microsoft Interface Definition Language

Язык определения интерфейсов от Microsoft (MIDL) – это язык для описания интерфейсов. MIDL компилятор включается в состав COM-источника, что превращает MIDL описания в прокси и заглушки, которые потом могут быть загружены в клиенты и серверы соответственно. Прокси и заглушки затем могут взаимодействовать с компонентом RPC времени выполнения, так что вызовы метода могут прозрачно общаться через сеть. MIDL совместим с, и является дополнением IDL от DCE.

Registry

Реестр представляет собой базу данных, которой COM-компоненты пользуются для хранения и поиска конфигурации и инициализации данных. Эти данные хранятся в непрозрачных бинарных файлах. COM-источник включает инструменты реестра, такие как sermon (проповедь – один из вариантов перевода, долго плакал J) и regsvr, которые позволяют вам изменять содержимое реестра.

Windows NT Distributed Security Provider

Windows NT Распределённый провайдер безопасности (также называется NT Lan Manager (NTLM) Security Provider) поддерживает Windows NT распределённую модель безопасности и является стандартом в обеспечении безопасности для NT на базе локальной сети. NTLM SSP позволит клиентам и серверам на платформах открытых систем, поддерживающих COM-источник, иметь возможность использовать элементы защиты NTLM для обеспечения их взаимосвязей с клиентами и серверами на других машинах в сети.

COMsource from The Open Group

Open Group предлагает две переносные и совместные ссылки реализации на Solaris и Tru64 UNIX операционных системах, и способность портироваться в другие операционные системы. Эти ссылки реализации включают исходный код, тест совместимости сюиты и набор документации.

Тест совместимости предоставляет возможность тестировать производные разработанные проекты от COM-источника для совместимости с существующим COM или COM-источником ссылки реализации. До распространения каких-либо производных работ, заявления о совместимости должны быть предоставлены The Open Group, который удостоверится, что портированный продукт прошёл тест совместимости.

О COM-источнике детальную информацию можно можно найти по адресу: www.opengroup.org/comsource. Вы также можете связаться с офисом The Open Group в Сан-Франциско, штат Калифорния (415) 374-8280; FAX: (415) 374-8293.

COM-источник для Solaris, Tru64 UNIX и других платформ был выпущен под эгидой The Open Group Pre-структурированной технологии (PST), процесса для совместного развития технологии, промышленных партнёров Compaq Computer Corporation, Hewlett-Packard Company, Microsoft Corporation, Siemens AG и The Open Group.


ActiveX, Microsoft, Visual Basic, Windows, и Windows NT являются зарегистрированными товарными знаками корпорации Microsoft. UNIX является зарегистрированной товарной маркой The Open Group в США и других странах.

Другие продукты и названия компаний здесь могут быть товарными марками их соответствующих владельцев.

The Open Group


Source: DataSheet. COMsource for Solaris, Tru64 UNIX and other Platforms (The Open Group).
This article.
Russian translate.