1 ИССЛЕДОВАНИЕ ВОЗМОЖНОСТЕЙ COM- ТЕХНОЛОГИИ ДЛЯ ПОСТРОЕНИЯ РАСПРЕДЕЛЕННЫХ ПРОГРАММНЫХ ПРОДУКТОВ Component Object Model Министерство образования и науки.

Презентация:



Advertisements
Похожие презентации
COM (Component Object Model) – модель многокомпонентных объектов.
Advertisements

АИС Аптекарь 8.1 Интеграция программной функции. Ателье Информационных Систем Специализация - разработка систем автоматизации аптек и аптечных сетей.
OpenGL и Direct3D сравнение стандартов Выполнил: Пенкин А. Группа И-204.
1 Современные системы программирования. Часть 2. Системное и прикладное программное обеспечение Малышенко Владислав Викторович.
ООП Лекция 1. Основные понятия. Литература Шилдт Г. С#: полное руководтво.-М.:ООО Вильямс, с. Культин Н.Б. Microsoft Visual C# в задачах и.
Разработка модели и реализация системы администрирования web-сайта Магистрант математического факультета Антоник Денис Владимирович руководитель Переверзева.
Реализация инженерного пульта в составе вычислительного комплекса Эльбрус-S2 Выполнил: Иванов Сергей, гр.513 Научный руководитель: Костенко Виталий Олегович.
Delphi. 11 класс.. Познакомиться с понятиями : Инкапсуляция Интерфейс объекта Классы, экземпляр класса Наследование, иерархия полиморфизм.
Реестр (Registry) – это база данных для хранения информации о системной конфигурации аппаратуры, о Windows и о приложениях Windows. Информация хранится.
Загруженная в оперативную память программа (ЕХЕ-файл) становится процессом. Процесс - это выполняемая программа, процесс имеет свою память, описатели.
ГСНТИ задание 2.2«Разработать сервер доступа к библиотечным информационным ресурсам по протоколу z39.50 и систему обслуживания по принципу «Одно.
1 Диаграммы реализации (implementation diagrams).
Информационные технологии Стандартные библиотечные функции манипулирование данными преобразование и шифрование определение пользователями функций.
WEB- ТЕХНОЛОГИИ Лекция 6. Понятие Web- сервисов 1 Интерфейс в глобальную сеть для некоторого абстрактного программного обеспечения, этот интерфейс позволяет.
Алексей Игнатенко. Независимый программный модуль, обычно подключаемый на этапе выполнения программы.
Полиморфизм. Полиморфизм – это свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта.
КОМПЬЮТЕРНЫЕ СЕТИ. Компьютерная сеть (Computer NetWork, net - сеть, и work - работа) - это система обмена информацией между компьютерами. Основная цель:
Локальная сеть Типы локальных сетей Топология сетей.
Фабрики Класса IDL. Создание компонента - 1 // // Функция создания // extern C IUnknown* CreateInstance() { IUnknown* pI = (IUnknown*)(void*)new CA; PI->AddRef();
Транксрипт:

1 ИССЛЕДОВАНИЕ ВОЗМОЖНОСТЕЙ COM- ТЕХНОЛОГИИ ДЛЯ ПОСТРОЕНИЯ РАСПРЕДЕЛЕННЫХ ПРОГРАММНЫХ ПРОДУКТОВ Component Object Model Министерство образования и науки Украины Донецкий национальный технический университет III международная научно-техническая конференция молодых учёных и студентов Информатика и компьютерные технологии 2007 Выполнил: Селютин А.В. Научный руководитель: доцент Теплинский С.В. Донецк 2007

2 Введение COM – это объектно-ориентированная программная спецификация. Она указывает, как создать динамически взаимосвязанные двоичные компоненты. Технология COM определяет стандарт, которому должны следовать компоненты и клиенты, чтобы гарантировать возможность надёжной совместной работы. Компонент – дерево объектных классов, в котором каждый родительский класс может производить объекты своих потомков. Компонент COM состоит из исполняемого кода, распространяемого в виде DLL. Интерфейс – абстрактный класс, который описывает методы и свойства объекта. Наследуется от IUnknown.

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

4 Требования к компонентам COM Динамическая компоновка (т.е. замена компонент во время работы приложения без статической перекомпоновки или перекомпиляции) Инкапсуляция деталей реализации: Компонент скрывает используемый язык программирования. Распространение компонент в двоичной форме. Модернизация компонентов не затрагивающая клиента. Прозрачная перемещаемость компонентов по сети. Требования к интерфейсам COM Методы интерфейса абстрактны (чисто определены). Интерфейс подчиняется двоичному стандарту, включает в себя определённую функциональность. Интерфейс имеет IID (GUID). Интерфейс не может изменяться после регистрации в системе (данные об интерфейсе записываются в реестр Windows). Наследует функциональность от одного базового предка – IUnknown.

5 Внутренняя структура интерфейса COM Первые 3 указателя VTable любого интерфейса в COM – это QueryInterface, AddRef и Release, унаследованные от IUnknown.

6 Фабрика классов Фабрика классов (Class Factories) – это компонент, единственной задачей которого является создание других компонентов. Точнее, конкретная фабрика класса создает компоненты, соответствующие только одному конкретному CLSID. Клиент использует поддерживаемые фабрикой класса интерфейсы для управления тем, как фабрика класса создает каждый компонент. Стандартный интерфейс создания компонентов – IClassFactory. Компоненты, создаваемые CoCreateInstance, порождаются именно при помощи этого интерфейса.

7 Создание объекта сервера на локальной машине

8 Взаимодействие клиента и сервера в разных процессах Разница между внутренним и удаленным серверами в том, какой тип межпроцессной связи используется. В данном случае существует необходимость использования посредников, которые обеспечивают передачу параметров и вызов функций. Такой механизм называется маршаллингом (marshalling).

9 Изменения в реестре В рамках объекта COM для обеспечения работоспособности сервера необходимо создать несколько функций по обращению в реестр. Эти функции создают необходимую для сервера ветку и задают параметры для COM-объекта, изменяя несколько важных ключей: ProgID - программый идентифиактор (programmatic identifier) -..

10 Достоинства COM Динамичное приложение. Эволюция приложения с течением времени. Адаптация приложений к нуждам пользователя, библиотекам компонентов и распределённым компонентам. Быстрая разработка приложений благодаря готовым компонентам. Клиент-серверное компонентное приложение. Решение объектной парадигмы ООП. Недостатки COM Сложность изучения и разработки крупных приложений!!! Программист-разработчик собственноручно должен следить за вызовом метода Release(). Не все типы данных участвуют в маршаллинге, что приводит к неудобству (напр. массив переводить в строку, а затем его обратно распаковывать). Лень программистов (можно отнести и к достоинствам технологии).