Файл: Технология CORBA (Особенности проектирования CORBA).pdf
Добавлен: 25.06.2023
Просмотров: 68
Скачиваний: 2
СОДЕРЖАНИЕ
ГЛАВА 1. ОБЩИЕ СВЕДЕНИЯ О CORBA
1.2 Применения технологии CORBA в задачах проектирования систем управления
1.3 Использование технологии CORBA
ГЛАВА 2. ОСОБЕННОСТИ ПРОЕКТИРОВАНИЯ CORBA
2.1 Написание приложения CORBA используя Java
2.2.Сравнительный анализ технологий CORBA и COM
ВВЕДЕНИЕ
CORBA – это набор спецификаций, возникающий в результате самого широкого обсуждения накопившихся реальных проблем, в котором участвуют и разработчики и потребители технологий. В результате такого обсуждения создается документ, предлагающий решение рассматриваемых вопросов на уровне существующих технологий и технологий ближайшей перспективы. Достоинством опережающей разработки спецификации по сравнению с реализацией является возможность для независимых разработчиков создавать потенциально совместимые продукты, не ограничивая свободы выбора языков, ОС, аппаратных платформ, и не диктуя выбора конкретного технологического решения.
Альтернативные подходы, наиболее ярко выраженные в политике Microsoft и Sun, не соответствуют современным тенденциям развития технологий, согласно которым диктат одного производителя (хотя бы и с самыми лучшими намерениями) в общем, создает больше проблем, чем решает. Здесь имеются в виду не только технологии. Примером этого служит ОС Windows, которая имеет больше пользователей, чем все остальные вместе взятые, и при этом большинство рассматривает этот выбор как вынужденный.
Любой частный стандарт, поддерживаемый отдельным производителем (оставляя в стороне вопрос о его открытости) вынужден следовать исторически сложившейся линии развития, что рано или поздно входит в противоречие с интересами потребителя.
Актуальность исследования: Проблема монопольных стандартов состоит в заведомо протекционистской политике владельца стандарта, проявляющейся на других связанных рынках, в случае с Microsoft, это ОС. Усиленное продвижение СОМ на платформе Windows делает перенос этого стандарта на другие платформы экономически невыгодным, заставляя разработчика вступать в заведомо проигрышную конкуренцию с Microsoft.
CORBA является концепцией, а не ее реализацией. Когда мы говорим "COM", то понимаем под этим скорее набор конкретных средств – элементов операционной системы, библиотек, утилит и т.п., являющихся составной частью того, что называется Microsoft Windows. Под термином "CORBA" понимается именно сложная и развитая концепция, сформулированная на уровне специального языка описаний – IDL.
Под "стандартом" применительно к CORBA понимается то, что официально утверждено консорциумом OMG. Надо сказать, что это очень высокий уровень "легитимности", так как авторитет OMG в компьютерном мире чрезвычайно высок. OMG представляет собой некоммерческую организацию, являющуюся содружеством разработчиков программного обеспечения и его потребителей, объединивших свои усилия для создания спецификаций этой технологии. В настоящий момент в OMG состоит более 800 членов, включая всех сколько-нибудь серьезных производителей программного обеспечения (и даже c недавнего времени Microsoft). Первая спецификация CORBA появилась в 1991 г. Новые возможности официально считаются добавленными в CORBA в момент утверждения соответствующей спецификации. Как правило, в разработке спецификации участвуют крупнейшие специалисты в данной области. Разработка реализации – задача конкретной фирмы. Обычно от утверждения спецификации до появления высококачественной реализации проходит довольно много времени – иногда несколько лет. В настоящий момент стандартизовано отображение языка IDL на 6 языков программирования – Ada, C, C++, Cobol, Java и Smalltalk. Существуют также отображения на Pascal (точнее, Delphi), Perl, Python и еще несколько языков, но они не стандартизованы.
Объекты CORBA можно рассматривать как экземпляры (instances) некоторого метатипа, причем и метатип, и сами объекты существуют вне связи с конкретной программой на конкретном языке. Этот метатип в CORBA называется «интерфейсом».
Цель работы рассмотреть технологию CORBA
Предмет работы интерфейс компьютера.
Объект работы технология CORBA
Задачи работы:
Рассмотрим общие понятие о технологии CORBA;
Изучим особенности проектирования технологии CORBA.
Структурно работа состоит из трех глав, включает введение, заключение и список литературы
ГЛАВА 1. ОБЩИЕ СВЕДЕНИЯ О CORBA
1.1.История CORBA
История CORBA начинается в октябре 1991 года, когда был представлен первый стандарт CORBA 1.0 консорциумом OMG. Object Management Group это открытая независимая организация международного масштаба, которую основали в 1981 г. одиннадцать компаний с целью создания общей среды для разработки объектно-ориентированных приложений через разработку рекомендаций и детализированных спецификаций для объектно-ориентированного управления процессами.
Первые версии стандарта COREA (Component Object Request Enterprise Architecture) включали в себя базовые определения объектной модели CORBA, языка IDL, API, для динамического управления вызова объектов и репозитория интерфейсов, а также концепцию базового адаптера объектов (BOA, Basic Object Adapter) посредником между объектом и ORB. Единственным языком официально поддерживаемым первыми версиями стандарта стал язык программирования C. В 19972001 гг. были добавлены поддержки языков Cobol, Ada, Java. Кроме того были включены поддержка взаимодействия с DCOM, служба сообщений, минимальный стандарт CORBA, система CORBA реального времени и ряд других служб.[6]
Наибольшая популярность технологии CORBA пришлась на конец 90-х начало 2000-х гг. CORBA, являясь спецификацией, предоставляет описание для реализации конкретных продуктов.
Основная проблема в IT-инфраструктуре крупных компаний состоит в том, что данная инфраструктура представляет собой сложный комплекс разработанных в различных стандартах приложений, работающих на разных программно-аппаратных платформах. Во-первых, так как в течение всего жизненного цикла информационной системы старые приложения модернизируются, то и сами межпрограммные интерфейсы всегда требуют модернизации. Во-вторых, линейный рост числа приложений приводит к квадратичному росту числа межпрограммных интерфейсов, а это, в свою очередь, приводит к образованию сложной смеси технологий.
Существуют ли эффективные способы решения этой проблемы? Чтобы понять, что такое межпрограммный интерфейс, каков принцип его работы, сначала обозначим, что такое интерфейс. Интерфейс – это не что иное как средство, при помощи которого пользователь может взаимодействовать с программой или операционной системой устройства. С его помощью пользователь может изучить любую программу, и когда человек овладеет навыками работы в одной программе, то он с легкостью сможет работать в других подобных, так как у них одинаковый интерфейс. Другими словами, интерфейс – это множество различных средств, которые позволяют человеку легко управлять вычислительной машиной [1].
Из большого количества требований, предъявляемых к интерфейсу, обычно называют дружественность, стандартизацию, функциональность и интеграцию различных приложений. Дружественность. Удобство, простота, защита данных, подсказки, наличие справочной системы, множественность выполнения действий и другие элементы. Стандартизация. Обычно одинаковые функции различных приложений управляются и выполняются одинаковыми элементами. Функциональность.
Почти все современные приложения представляют собой функциональные среды, направленные на решение некоторых прикладных задач. Приложение предоставляет в распоряжение пользователя ряд функций, которые выполняются под управлением и при участии пользователя. Интеграция различных приложений. Каждое приложение работает с собственным представлением данных.
Взаимодействие различных приложений возможно несколькими способами; обычно это называется межпрограммным интерфейсом [2].
Межпрограммный интерфейс – реализованная на компьютере возможность организации обмена данными между различными автономно функционирующими пакетами прикладных программ.
Технологии межпрограммного интерфейса появились с возникновением операционных систем полвека назад. Долгое время эти технологии непрерывно развиваются, предоставляя с каждым новым шагом развития новые преимущества программным комплексам, которые используют их [3].
Одним из таких шагов развития стало появление межпрограммных интерфейсов контейнерного типа (механизм DDE). Параллельно с этим появилась технология «клиент – сервер», которая позволила обслуживать большое количество прикладных программ (клиенты) одной программой (сервер). [12]
Также шло развитие межпрограммного интерфейса контейнерного типа, что позволило внедрять файлы из одной программы в другую. Возможные варианты видов взаимодействия приложений Конвертирование данных. Конвертирование файлов – это процесс изменения формата или свойств компьютерного файла. Для этого нужны специальные программы – конверторы – как правило, входящие в состав приложения. OLE-технология. OLE (Object Linking and Embedding) – технология, разработанная корпорацией «Майкрософт», служит для связывания и внедрения объектов в другие объекты или документы. OLE позволяет создавать объекты в одном приложении, а после открывать эти объекты в других приложениях. Отличие между связанными и внедренными объектами заключается в месте их хранения, а также способе обновления данных при их помещении в конечный файл.
Например, при помощи ОLE можно вставить таблицы Excel в документы Word, и наоборот. Приложения, поддерживающие технологию OLE, позволяют пользователю вызывать одно приложение из другого, не выходя из контекста интерфейса исходной программы. Используются принципиальные понятия «OLE-объект» и «OLE-контейнер». Вставка данных. При обычной вставке данных другого приложения через буфер обмена или специальным образом в приложение добавляются «мертвые» данные, которые не связаны ни с каким приложением. DDE-технология. Dynamic Data Exchange (DDE) – механизм взаимодействия приложений. Эта технология предоставляет доступ к данным через динамически действующие каналы, устанавливающие связь между приложением, принимающим данные (клиентом), и источником данных (сервером). Например, таблицы Excel могут быть источником данных для приложения Word, принимающего данные по каналу связи DDE [4].
Обычно межпрограммный интерфейс работает на распределение программного обеспечения на несколько взаимодействующих между собой уровней. Выделяют четыре уровня: базовый, служебный, системный и прикладной. Расположение этих уровней имеет пирамидальный вид. Такой вид обусловлен тем, что каждый последующий уровень базируется на программном обеспечении предыдущего уровня. Это позволяет значительно упростить работу на любом этапе, начиная с установки программы и заканчивая ее техническим обслуживанием. Базовый уровень программного обеспечения.
Это самый низкий из уровней, представляющий базовое программное обеспечение; такое обеспечение отвечает за взаимодействие с базовыми аппаратными средствами. Программные средства такого типа, как правило, входят в состав базового оборудования и хранятся в постоянно запоминающих устройствах (далее ПЗУ). Все данные записываются на ПЗУ на этапе производства, и в процессе эксплуатации их нельзя изменить. Системный уровень программного обеспечения. Этот уровень программного обеспечения называют переходным.
Программы, которые работают на этом уровне, позволяют программам базового уровня взаимодействовать с прочими программами компьютерной системы, выполняя «посреднические» функции. От системного уровня зависят эксплуатационные показатели всей системы. Программы, которые отвечают за работу с устройствами, называют драйверами устройств. Такие программы, то есть драйвера, входят в состав программного обеспечения такого системного уровня. Также существует класс программ системного уровня, который отвечает за работу с пользователем. Благодаря этим программам пользователь может получать возможность управлять работой системы и получать результаты в любой удобной для себя форме.
Эти программные средства называют средствами обеспечения пользовательского интерфейса. От них напрямую зависит удобство работы с компьютером и производительность труда на рабочем месте. Служебный уровень программного обеспечения. Программное обеспечение такого уровня работает с программами базового и системного уровней. Назначение этих программ заключается в автоматизации работ по настройке вычислительной системы. К тому же они используются для улучшения или расширения функций системных программ.
1.2 Применения технологии CORBA в задачах проектирования систем управления
Основы CORBA. Основу CORBA системы составляет системная шина, позволяющая различным компонентам, которые реализованы на разных языках и работающие на разных платформах, находить друг друга и взаимодействовать. Эту шину называют брокером объектных запросов или просто ORB.
Данные вызова преобразуются в сетевой формат, сериализируются с помощью сгенерированных для объектов заглушек (stubs) и передаются от клиентских к серверным ORB. На сервере данные вызова десериализируются с помощью Фреймворка. В этом случае для объекта, где выполняется вызов, генерируются специальные скелетоны для правильного отображения данных. Данные, полученные при обработке вызова, передаются по цепочке обратно к клиентскому коду.
Архитектура CORBA. Глобальная структура CORBA приближается к модели OMG, в рамках которой выделяются 4 группы архитектурных объектов ORB брокер объектных запросов; сервисы CORBA; средства CORBA; прикладные объекты и приложения. [3]
Каждый уровень выступает как сервер для лежащего ниже уровня.
Брокер объектных запросов. CORBA ORB разрешает объектам находить и обращаться к сервисам друг друга. ORB сложнее, чем вызовы удаленных процедур, в частности:
поддерживает не только статические, но и динамические вызовы методов;
отъединяет интерфейс от его реализации;
является самоописываемой системой;
создает прозрачность относительно местоположения объектов.
Все ORB реализовывают как статические, так и динамические вызовы методов.
Сервисы CORBA. В качестве базовых сервисов в рамках CORBA используется пятнадцать сервисов:
• (Naming) Механизм, используемый объектами ORB для обнаружения других ORB объектов.