COM-технологии. Поддерживаемые инструментальные средства

Автор работы: Пользователь скрыл имя, 23 Октября 2011 в 00:59, курсовая работа

Краткое описание

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

Содержимое работы - 1 файл

курсовая ООТ.doc

— 175.00 Кб (Скачать файл)
    1. Automation
 

            Технология автоматизации (automation) предлагает возможность программного управления одного приложения другим. В данной технологии различаются  две составные компоненты:

  • Клиентская часть, называемая контроллером автоматизации (automation controller);
  • Серверная часть, которая носит название объекта автоматизации (automation object) – объект, которым управляет клиент. Объекты автоматизации могут быть реализованы как внутренние, внешние и удаленные сервера. Технология автоматизации характеризуется двумя положениями:
  • Объекты автоматизации должны иметь возможность определить множество свойств и команд через описания типов, т.е. они должны получить информацию об интерфейсах объекта, с которым идет взаимодействие, о методах интерфейсов и о типах аргументов. Такая информация предоставляется через библиотеки типов. Однако, использование библиотеки типов необязательно при использовании интерфейса диспетчеризации, т.к. с помощью последнего осуществляется привязка интерфейсов на этапе выполнения программы (недостатком такого подхода является отсутствие проверки соответствия типов на этапе компиляции);
  • Объекты автоматизации должны предоставлять свои методы общедоступными для внешнего использования, так, чтобы ими могли пользоваться внешние приложения. Для этого, в объектах автоматизации должен быть реализован интерфейс диспетчеризации.
 

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

    1. ActiveX control
 

            Технология ActiveX расширяет COM и OLE новыми функциями, специфичными для элементов управления ActiveX (ActiveX control). ActiveX control – визуальные объекты управления, реализуемые как внутренние COM-сервера, и которые включаются в OLE-контейнеры, и работают в их среде. Элементы управления ActiveX не являются законченными приложениями, но представляют собой объект, который решает некоторую частную задачу и может быть встроен в различные приложения. Основными характерными особенностями ActiveX controls является возможность обработки событий, привязки к источникам данных и поддержка лицензирования.   Элементы управления ActiveX особенно широко используются в разработке Web-приложений, где ActiveX controls используются как интерактивные объекты на Web-страницах. По существу, ActiveX становится стандартом, специально направленным на интерактивную часть World Wide Web, например, для просмотра в Web-браузере не гипертекстовых документов, доступ к базам данных и т.д.

    1. Межпроцессные визуальные объекты
 

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

  • Использование двойственного интерфейса IDispatch, который поддерживает автомаршаллинг;
  • Написание собственного класса, реализующего маршаллинг.
    1.   OPC
 

Спецификация  одной из модификаций OLE, которая  называется OPC (OLE for Process Control) была разработана  группой фирм, занимающихся разработкой  программного обеспечения для систем промышленной автоматизации. Данная технология включает в себя набор стандартных соглашений, применяемых в системах промышленной автоматизации. В настоящее время особое развитие получило использование OPC как  связующей механизм взаимодействия отдельных компонент SCADA-систем,  а также систем различных производителей друг с другом, обеспечивая эффективную по времени и стоимости интеграцию компонент программного обеспечения. Связь по OPC осуществляется прозрачно для разработчика, используя все средства, которые предоставляет COM, что позволяет не внедряясь в технику связи организовывать взаимодействующие в единых информационных системах программные компоненты. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

  1. Средства  разработки COM-приложений
 

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

Основной  фигурой для рассмотрения в данном разделе будет семейство средств разработки приложений фирмы Inrise Inc., относящиеся к классу RAD (Rapid Application Development) – средства быстрой разработки приложений. Это продукты Borland С++ Builder и Borland Delphi, которые начиная с версии 3 поддерживают разработку COM-приложений.

С++ Builder и Delphi (далее, просто C++ Builder, т.к. оба  этих продукта предоставляют идентичные возможности, даже более того, используют одни  и те же объектные библиотеки) предлагают набор готовых компонент, используя которые как шаблоны, можно легко начать разработку приложения в рамках COM. C++ Builder предлагает набор классов с реализаций основных функций интерфейсов IDispatch, пользовательских и двойных интерфейсов, работы с библиотеками типов и фабриками классов. Форма, созданная в визуальном редакторе легко портируется в COM-класс, с перенесением всех свойств и методов автоматически в библиотеку типов. Работа над описанием интерфейсов и объектов не требует знания языка описания интерфейсов IDL (interface definition language) и языка описания объектов ODL (object definition language), т.к. вся работа ведется в визуальном редакторе. Код на IDL все равно создается, но этот процесс может быть для разработчика прозрачен. 
 
 
 
 
 
 
 
 

Заключение 

      В результате выполнения работы были рассмотрены основы COM технологии и различные ее расширения, а также поддерживаемые инструментальные средства. Главным преимуществом технологии COM можно считать ее удобную архитектурную платформу для проектов, масштаб которых заранее не очень понятен и впоследствии может измениться, т.е. переконфигурирование проще переписывания и последующего полнообъемного тестирования. Достоинством также является ее независимость от среды разработки. COM-объект может быть использован приложениями, реализованными практически на любых современных средствах разработки приложений (алгоритмических языках), с любой внутренней организацией приложения, главное, чтобы средство разработки позволяло работать с указателями на структуры, на массивы и на функции. Среди недостатков можно отметить сложность технологии. Сложная как в концепции, так и в реализации. Другой недостаток - замкнутость технологии. Её решения применимы пока только на платформе Microsoft. Нельзя сказать, что другие платформы не предлагают ничего подобного, но это - другие, несовместимые на двоичном уровне с COM технологии. 
 
 
 
 
 
 
 
 
 
 
 

Список использованных источников 

  1. Михаил  Безверхов Архив статей «Что такое технология COM» www.developing.ru 
  2. Наталия Елманова Использование COM технологии в C++ Builder. КомпьютерПресс. Ноябрь 1999г.
  3. Анатолий Тенцер. Создание приложений с применением COM+. www.interface.ru
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Содержание

Информация о работе COM-технологии. Поддерживаемые инструментальные средства