Технологии COM и DECOM (Microsoft)

Автор работы: Пользователь скрыл имя, 01 Февраля 2013 в 19:48, реферат

Описание

Архитектура COM является расширяемой, и на ней базируются другие технологии Microsoft, такие как OLEи ActiveX. Эти технологии в настоящее время являются расширениями операционной системы, и определяют свои собственные правила работы и предлагают свои библиотеки для создания объектов и для управления объектами на основе данных технологий. Используя COM как основу, разработчики программного обеспечения получают возможность создавать свои собственные расширения таким образом, что программные объекты созданные, по правилам COM-технологии могут работать с другими COM-объектами через унифицированный механизм взаимодействия, который предлагает COM.

Содержание

1. COM-технологии …………………………………………………………………………3
1.1. Состав COM-объекта …………………………………………………………………...4
1.2. Интерфейсы ……………………………………………………………………………..4
1.3. Свойства COM-объектов ……………………………………………………………….7
1.4. COM-серверы …………………………………………………………………………...7
1.5. Механизм маршаллинга ………………………………………………………………..8
1.6. Фабрики классов ………………………………………………………………………..9
1.7. Библиотеки типов …………………………………………………………………......10
1.8. Диспетчерский интерфейс …………………………………………………………….11
1.9. Привязка идентификаторов …………………………………………………………...12
1.10. Пользовательские интерфейсы ……………………………………………………...12
1.11. Двойные интерфейсы ………………………………………………………………...13
2. DCOM-технологии ………………………………………………………………………15
2.1 Архитектура DCOM ……………………………………………………………………15
2.2 Компоненты и их повторное использование …………………………………………17
2.3 Независимость от местоположения …………………………………………………...17
2.4 Независимость от языка ………………………………………………………………..19
2.5 Управление соединением ……………………………………………………………...19
Список используемых источников………………………………………………………...20

Работа состоит из  1 файл

Реферат_информационные технологии.doc

— 240.00 Кб (Скачать документ)

Рис. 5 – COM-компоненты в разных процессах

 

Когда клиент и компонент находятся  на различных машинах, DCOM просто заменяет локальное соединение между процессами сетевым протоколом. При этом ни клиент, ни компонент и не подозревают, что провода, соединяющие их, стали чуть длиннее. Рис. 7 показывает архитектуру DCOM в общем: СОМ run-time предлагает клиентам и компонентам объектно-ориентированные сервисы и использует RPC и провайдер безопасности для генерации стандартных сетевых пакетов, соответствующих стандарту протокола DCOM. 


 

 

 

 

 

 

 

 

 

 

Рис. 6 – DCOM: COM-компоненты на различных машинах

2.2 Компоненты и их повторное использование

 

Большая часть распределенных приложений разрабатывалась не наспех и не в  вакууме. Существующая инфраструктура аппаратного обеспечения, существующее программное обеспечение, существующие компоненты и инструменты должны быть интегрированы и призваны уменьшить время и стоимость разработки и перераспределения. В смысле инвестиций DCOM имеет несомненные преимущества перед любыми СОМ компонентами и инструментами. Огромный рынок компонентов позволяет уменьшить время разработки с помощью интегрирования стандартизованных решений в пользовательское приложение. Многие разработчики знакомы с СОМ и могут легко применить свои знания в создании распределенных DCOM-приложений. Любой компонент, разрабатывавшийся как часть распределенного приложения - кандидат для повторного использования в будущем. Организация процесса разработки по компонентному принципу позволяет непрерывно повышать уровень функциональности новых приложений и уменьшать время разработки, используя уже выполненную работу в качестве основы для развития. Проектирование в СОМ и DCOM обеспечивает использование ваших компонентов и сегодня, и в будущем.

 

2.3 Независимость от местоположения

 

Когда начинается использование распределенного  приложения в реальной сети, выявляется несколько особенностей: · Компоненты, взаимодействующие чаще, должны быть “ближе” друг к другу. · Некоторые  компоненты могут работать на определенных машинах или в определенных местах. · Использование меньших по размеру компонентов увеличивает гибкость в перераспределении, но при этом увеличивается сетевой трафик. · Компоненты большего размера уменьшают сетевой траффик, но зато уменьшается и гибкость в перераспределении. С помощью DCOM эти критические моменты обходятся достаточно легко, поскольку в исходном коде не определены детали перераспределения. DCOM полностью скрывает местоположение компонента, будь он в том же процессе, что и клиент, или на другом конце света. В любом случае способы, которыми клиент соединяется с компонентом и вызывает методы компонента, идентичны. DCOM не нуждается не только в изменениях исходного кода, но даже и в рекомпиляции программы. Простая реконфигурация изменяет способ, которым компоненты соединяются друг с другом. Независимость DCOM от местоположения значительно упрощает задачу распределения компонентов приложения для получения оптимального быстродействия в целом. Представим, например, что определенные компоненты должны находиться на определенных машинах или в определенных местах. Если приложение имеет большое число маленьких компонентов, вы можете уменьшить загрузку сети перемещением их в нужный сегмент ЛВС, на нужную машину или даже в нужный процесс. Если приложение состоит из меньшего числа больших компонентов, загрузка сети - меньшая из проблем, так как вы можете разместить компоненты на более быстрые из доступных машин. Рис. 4 демонстрирует, как один и тот же компонент может быть перенесен на машину клиента при удовлетворительной полосе пропускания между машиной “клиент” и машиной “среднего слоя”, и на машине сервера, если клиент работает с приложением по медленному сетевому соединению. 


 

 

 

 

 

 

 

 

 

 

 

Рис. 7 – Независимость от местоположения

 

Благодаря независимости DCOM от местоположения, приложение может перемещать взаимодействующие компоненты с “близлежащих” машин на одну и ту же машину или даже в один процесс. Даже если функциональность большого логического модуля организуется большим числом маленьких компонентов, они могут по-прежнему эффективно взаимодействовать друг с другом. Компоненты могут работать на машине, на которой это наиболее целесообразно: пользовательский интерфейс находится на машине клиента или “рядом” с ней. Компонент, работающий с базой данных, – на сервере “близко” к базе данных.

 

 

 

 

2.4 Независимость от языка

 

Общим вопросом при проектировании и разработке распределенного приложения является выбор языка или инструмента  для данного компонента. Язык обычно выбирают с учетом затрат на разработку, с учетом имеющейся квалификации и необходимого быстродействия. Как развитие СОМ, DCOM абсолютно не зависит от языка. Теоретически для создания СОМ-компонентов может использоваться любой язык и эти компоненты могут использоваться большим числом языков и инструментов. Java, Microsoft Visual C++, Microsoft Visual Basic, Delphi, PowerBuilder и Micro Focus COBOL - все они хорошо взаимодействуют с DCOM. Нейтральность DCOM по отношению к языку позволяет разработчику приложения выбирать язык и инструменты, с которыми он чувствует себя наиболее свободно. Независимость от языка, кроме того, позволяет выполнять быстрое прототипирование: вначале компоненты могут быть разработаны на языке высокого уровня, таком как Microsoft Visual Basic, а позже - на другом языке, таком как C++ или Java, лучше использующем преимущества таких продвинутых функций DCOM, как многопоточность и объединение потоков.

 

2.5 Управление соединением

 

Сетевые соединения не так устойчивы, как соединения внутри машины. Компоненты распределенного приложения должны знать, что клиент более не активен, даже – или в особенности – в случае сетевой или аппаратной аварии. DCOM управляет соединением компонентов, предназначенных для одного клиента, так же, как и компонентов, обслуживающих несколько клиентов, используя счетчик ссылок для каждого компонента. Когда клиент соединяется с компонентом, DCOM увеличивает значение счетчика ссылок компонента. Когда клиент разрывает соединение, DCOM уменьшает значение счетчика ссылок компонента. Если значение счетчика достигает нуля – компонент свободен. Для определения активности клиента DCOM использует эффективный протокол отслеживания (см. раздел 0 “Управление распределенным соединением между приложениями”). Машина клиента посылает периодическое сообщение. При нарушении соединения DCOM уменьшает счетчик и освобождает компонент, если значение счетчика станет равным нулю. С точки зрения компонента, случай отключения клиента, случай аварии сети и случай поломки машины клиента регистрируются одним и тем же механизмом подсчета. Приложения могут использовать такой механизм подсчета соединений для своего высвобождения. Во многих случаях поток информации между компонентом и его клиентами не однонаправлен: компоненту нужно инициировать некоторые действия со стороны клиента, например, извещение о том, что длительный процесс завершился, обновляются данные, просматриваемые пользователем (обзор новостей), или поступило следующее сообщение в телеконференции или многопользовательской игре. Многие протоколы усложняют процесс осуществления такого типа симметричной связи. В DCOM каждый компонент может быть одновременно провайдером и потребителем функциональности. Один и тот же механизм, одни и те же возможности управляют связью в обоих направлениях, облегчая организацию связи и взаимодействия клиент/сервер. DCOM предлагает устойчивый распределенный механизм регистрации соединений, который полностью прозрачен для приложения. DCOM - это одновременно симметричный сетевой протокол и модель программирования, предлагающие не только традиционное взаимодействие клиент/сервер, но и полноценную связь между клиентами и серверами.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Список используемых источников:

 

http://ru.wikipedia.org/wiki/Component_Object_Model - Википедия, свободная энциклопедия

http://www.interface.ru/magazine/tcs/Archive/198/DCOM/dcom.htm  - interface.ru, internet & software company

http://ref.repetiruem.ru/referat/razrabotka-prilozhenijj-v-ramkakh-comdcom-tekhnologii - репетируем.ру, лучший гид рунета по репетиторам




Информация о работе Технологии COM и DECOM (Microsoft)