Файл: Технология CORBA (Назначение CORBA. Общие положения по применению системы «CORBA»).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 28.04.2023

Просмотров: 288

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Введение

Ядро CORBA брокер (посредник) объектных запросов (ORB). Это что-то вроде магистрали для объектов. Основная задача ORB оказывать посреднические услуги при обмене запросами между объектами. Хотя ORB "обитает" в среде клиент -сервер, объекты, с которыми он работает, выполняют функции либо клиентов, либо серверов, в зависимости от обстоятельств. Если объект принимает и обрабатывает запрос, то он играет роль сервера. Если он отправляет запрос, то выступает в роли клиента. Основная задача ORB прием и отправка запросов, а также передача результатов, в том числе перехват каждого запроса одного объекта другому; определение местонахождения объекта, который, предположительно, обработает запрос; запуск соответствующего метода принимающего объекта; при необходимости передача параметров и передача результатов объекту, инициировавшему запрос. Поскольку ORB обрабатывает запросы "прозрачно", неважно, от какого объекта локального или удаленного поступил запрос. При обработке этих запросов для ORB не имеет значения ни язык программирования, ни операционная система или платформа. Механизм, обеспечивающий "прозрачность" обработки запросов, называется языком определения интерфейса (Interface Definition Language, IDL). Этот язык применяется для объявления границ и интерфейсов объекта. Во многом подобно независимому арбитру, IDL нейтрален и не зависит от объектов и ORB, тем не менее он связывает поставщиков служб распределенных объектов с их клиентами. Всякому, кто знаком с DCOM, наверное, известно, что в модели DCOM используется IDL. Но IDL DCOM несовместим с CORBA и работает иначе, чем IDL CORBA. В CORBA предусматривается множественное наследование, а ее IDL-средствам наследование необходимо для инкапсуляции объектов. Это существенно облегчает многократное использование блоков программ. В DCOM механизм множественного наследования не реализован. Поэтому вы должны подготовить и объединить все интерфейсы, прежде чем к ним обратится клиент. Язык IDL хорош тем, что позволяет кратко описать API, сохранив при этом свободу определить методы на любом языке программирования, который обеспечивает связывание с CORBA. К таким языкам относятся Ада, Кобол, Си, Си++, Smalltalk и Java. У некоторых поставщиков имеются собственные средства согласования с CORBA для Visual Basic и Фортрана. Как известно любому человеку, имевшему дело с объектно-ориентированным программированием, для составления запроса необходимы сведения об интерфейсе принимающего объекта, а объекты должны быть разработаны так, чтобы они могли получать информацию об интерфейсах тех объектов, с которыми они будут взаимодействовать. Но, пытаясь применить этот подход для распределенной между гетерогенными объектами обработки, вы столкнетесь с множеством проблем. Для подлинной независимости IDL в CORBA используется репозиторий (хранилище) интерфейсов, предназначенный для хранения сигнатур методов, принадлежащих объектам, с тем чтобы эти сигнатуры можно было динамически извлекать и обновлять во время исполнения программы. Благодаря этому все объекты в корпоративной системе могут получить информацию об интерфейсах других объектов, методах, принадлежащих этим интерфейсам, и параметрах, необходимых для обращения к ним.


Целью данной курсовой работы является определение назначения CORBA, изучение технологий CORBA и ее объектно-ориентированных компонентов.

1. Назначение CORBA. Общие положения по применению системы «CORBA»

Технология CORBA создана для поддержки разработки и развёртывания сложных объектно-ориентированных прикладных систем. CORBA является механизмом в программном обеспечении для осуществления интеграции изолированных систем, который даёт возможность программам, написанным на разных языках программирования, работающих в разных узлах сети, взаимодействовать друг с другом так же просто, как если бы они находились в адресном пространстве одного процесса.

Спецификация CORBA предписывает объединение программного кода в объект, который должен содержать информацию о функциональности кода и интерфейсах доступа. Готовые объекты могут вызываться из других программ (или объектов спецификации CORBA), расположенных в сети.

Спецификация CORBA использует язык описания интерфейсов (OMG IDL) для определения интерфейсов взаимодействия объектов с внешним миром, она описывает правила отображения из IDL в язык, используемый разработчиком CORBA-объекта.

Стандартизованы отображения для Ада, Си, C++, Lisp, Smalltalk, Java, Кобол, ObjectPascal, ПЛ/1 и Python.

Также существуют нестандартные отображения на языки Perl, Visual Basic, Ruby и Tcl, реализованные средствами ORB, написанными для этих языков.

1.1 Объекты по значению

Помимо удалённых объектов в CORBA 3.0 определено понятие объект по значению. Код методов таких объектов по умолчанию выполняется локально. Если объект по значению был получен с удалённой стороны, то необходимый код должен либо быть заранее известен обеим сторонам, либо быть динамически загружен. Чтобы это было возможно, запись, определяющая такой объект, содержит поле Code Base — список URL, откуда может быть загружен код. У объекта по значению могут также быть и удалённые методы, поля, которые передаются вместе с самим объектом. Поля, в свою очередь также могут быть такими объектами, формируя таким образом списки, деревья или произвольные графы. Объекты по значению могут иметь иерархию классов, включая абстрактные и множественное наследование.


1.2 Компонентная модель CORBA (CCM)

Компонентная модель CORBA (CCM) — недавнее дополнение к семейству определений CORBA.

CCM была введена начиная с CORBA 3.0 и описывает стандартный каркас приложения для компонент CORBA. CCM построено под сильным влиянием Enterprise Java Beans (EJB) и фактически является его независимым от языка расширением. CCM предоставляет абстракцию сущностей, которые могут предоставлять и получать сервисы через чётко определённые именованные интерфейсы, порты. Модель CCM предоставляет контейнер компонентов, в котором могут поставляться программные компоненты. Контейнер предоставляет набор служб, которые может использовать компонент. Эти службы включают (но не ограничены) службу уведомления, авторизации, персистентности и управления транзакциями. Это наиболее часто используемые распределённым приложением службы. Перенося реализацию этих сервисов от необходимости реализации самим приложением в функциональность контейнера приложения, можно значительно снизить сложность реализации собственно компонентов.

Одной из наиболее распространенных программных систем ЗИ является «Кобра», предназначенная для защиты конфиденциальной информации при обработке и хранении в однопользовательском и многопользовательском режимах эксплуатации ПК. Основными ее потребительскими свойствами являются: качественный уровень ЗИ; высокое быстродействие; технологичность. К основным функциям «Кобры» относятся: идентификация и аутентификация пользователя; парольный вход; накопление, хранение и обработка информации в преобразованном (шифрованном) виде; «прозрачная» ЗИ на уровне логического устройства ПК, логического диска, каталогов и шаблонов файлов; управление доступом; мандатный контроль доступа; регистрация и учет событий; объединение пользователей в группы с общими файлами; защита файлов пользователей на чтение, запись, удаление, переименование, изменение, создание с тем же именем; запрещение запуска программ с дискет; контроль целостности ПО; работа пользователя в привычной среде; индивидуальная и групповая настройка; сигнализация об эталонном изменении целостности ПК; обеспечение полноты функций ЗИ при работе с широким спектром прикладного ПО от пользовательских оболочек до интегральных сред. «Кобра» является многоуровневой системой ЗИ. Защита от загрузки через НГМД в обход «Кобры» путем динамического преобразования информации и специальной технологии взаимодействия модулей защиты. Идентификация и аутентификация путем одностороннего преобразования и хранения только контрольных значений, а не паролей, а также путем использования основных и дополнительных паролей и входе при раздельном вводе независимыми субъектами двух разных паролей. Обеспечение ПРД путем санкционирования доступа, детализацией разграничения доступа к шаблонам файлов и ресурсам ПК, а также блокировкой клавиатуры и экрана. Периодический КЦ системы «Кобра» автоматически (в период загрузки и окончания работы ПК), и вручную (во время процесса работы ПК), а также регистрация действий администраторов и пользователей и самостоятельное восстановление рабочей среды. Специальные преобразования информации в «прозрачную» для легальных пользователей. Кратко рассмотрим подсистемы системы «Кобра». Подсистема обеспечения санкционированного доступа обеспечивает ЗИ на уровне логических дисков. Каждому законному пользователю ЭВМ устанавливаются индивидуальные полномочия по доступу к логическим дискам: запрет доступа, только чтение, полный доступ, суперзащита (гарантия конфиденциальности информации при похищении дискет, жестких дисков, или даже самого ПК). Устанавливаются каждому законному пользователю полномочия доступа к последовательным и параллельным портам ПК по принципу: есть доступ, нет доступа. «Кобра» реализует мандатный принцип контроля полномочий доступа (возможность считать объект, осуществлять запись в объект и осуществлять коррекцию) применительно ко всем объектам при явном и скрытом доступе со стороны любого из пользователей. Для реализации этого принципа сопоставляются классификационные метки каждого пользователя системы и каждого объекта (логических устройств), отражающих их место в соответствующей иерархии. Посредством этих меток пользователям и объектам назначаются классификационные уровни (категории конфиденциальности). При вводе новых данных в систему запрашиваются от санкционированного пользователя классификационные метки этих данных. При санкционированном занесении в список пользователей нового пользователя ему назначаются, в зависимости от уровня доступа, классификационные метки. Подсистема закрытия позволяет закрыть доступ к ресурсам ПК через системную дискету. При этом «Кобра» выдает пользователю специальную системную дискету, с которой, при необходимости, можно загрузиться. Любая другая дискета будет игнорироваться. Подсистема обеспечения целостности рабочей среды ПК осуществляет анализ и фиксацию состояния рабочей среды ПК, которая в дальнейшем принимается как эталонная, контролируется и поддерживается. Подсистема фиксирует: обнаружение несанкционированных изменений в рабочей среде ПК со стороны лиц, получивших доступ к ней; обнаружение несанкционированных изменений, вызванных вредоносными программами; обнаружение искажений в программах и ключевой информации, возникших в результате машинных сбоев или износа магнитного носителя. Подсистема контролирует состояние оперативной памяти ПК, содержание главной корневой записи диска и загрузочного сектора, состояние файлов конфигурирования, автозапуска, файлов с системными и прикладными программами и данными, а также, контролирует действия вирусов (как известных, так и новых). Кроме того, подсистема предоставляет возможность автоматического восстановления основных компонентов рабочей среды ПК, а в случае невозможности автоматического восстановления автоматически сигнализирует об этом пользователю, выдавая данные о поврежденных частях рабочей среды ПК для проведения ручного восстановления. Подсистема регистрации и учета работы предназначена для: регистрации изменений ПРД; регистрация длительности сеанса работа каждого пользователя ПК; регистрация нарушений пользователем инструкций по работе с системой «Кобра»; накопление сведений о работе каждого пользователя на ПК за отчетный период; выдачи по запросу справки о работе за текущий период, в том числе: имя, дата регистрации, общее время нарушений правил работы с «Коброй». Подсистема файлового закрытия информации осуществляет закрытие информации в файлах, в группах файлов, в каталогах, в группах каталогов (с подкаталогами) и логических разделах дисков или дискет. Подсистема представляет собой автоматизированное рабочее место (администратора, оператора компьютерной сети, оператора базы данных или пользователя компьютера, нуждающегося в надежном закрытии своей информации). Подсистема детального разграничения доступа к шаблонам файлов предназначена для разграничения доступа к файлам данных и программ, находящихся на одной ПК. Разграничение производится на уровне каталогов и отдельных файлов, позволяя разграничивать отдельно по чтению записи, удалению, переименованию файлов или каталогов, запуску на выполнение. Подсистема разграничения доступа к ресурсам ПК предназначена для разграничения доступа к функциональным клавишам, файлам, каталогам, командной строке DOS. Подсистема затираний обеспечивает физическое удаление стираемой на магнитных носителях информации. Подсистема регистрации предназначена для контроля действий пользователя с целью выявления некорректных или преднамеренных действий пользователей или вредоносных программ. Подсистема блокировки клавиатуры и монитора предназначена для блокировки работы клавиатуры и монитора при отсутствии ввода информации с клавиатуры. Подсистема создания дополнительных логических дисков предназначена для создания необходимого количество дисков, без предварительного удаления информации с них. Подсистема окончания работы позволяет выполнить проверку целостности рабочей среды с целью обнаружения и исправления действий вирусов, последствий ошибочных действий пользователей и других действий, изменивших рабочую среду при завершении работы ПК. Средства преобразования информации предназначены для преобразования информации в нечитаемый вид с целью возможности ее хранения на внешних магнитных носителях.
 


1.3 Общий протокол межброкерного взаимодействия (GIOP)

GIOP (GeneralInter-ORB Protocol) — абстрактный протокол в стандарте CORBA, обеспечивающий интероперабельность брокеров. Стандарты, связанные с протоколом выпускает Object Management Group (OMG). Архитектура GIOP включает несколько конкретных протоколов:

Internet Inter ORBP protocol (IIOP) (Межброкерный протокол для Интернет) — протокол для организации взаимодействия между различными брокерами, опубликованный консорциумом OMG. IIOP используется GIOP в среде интернет, и обеспечивает отображение сообщений между GIOP и слоем TCP/IP.

SSL InterORBProtocol (SSLIOP) — IIOP поверх SSL, поддерживаются шифрование и аутентификация.

Hyper Text Inter ORB Protocol (HTIOP) — IIOP поверх HTTP.

Corba Loc (англ. Corba Location) — является строковой ссылкой на объект технологии CORBA, подобной URL. Borland Enterprise Server, Visi Broker Ed. — CORBA 2.6-совместимый коммерческий ORB от Borland, поддерживает Java и C++.

  • MICO — свободный (LGPL) ORB с поддержкой C++.
  • omni ORB — свободный (LGPL) ORB для C++ и Python.
  • ORBit2 — свободный (LGPL) ORB для C, C++ и Python.
  • Jac ORB — свободный (LGPL) ORB, написан на Java.
  • TAO — The ACE ORB, открытый ORB для C++.
  • Orbacus — коммерческий ORB для C++, Java от IONA Technologies.

CORBA (CommonObjectRequestBrokerArchitecture) – Общая Архитектура Брокера Объектных Запросов - это стандарт, набор спецификаций для промежуточного программного обеспечения (ППО, middleware) объектного типа. Задача ППО, как известно, заключается в связывании программных приложений для обмена данными.

CORBA программирование распределенных систем Уильям Р. Станек Подготовка прикладных программ, объекты которых составлены на разных языках и взаимодействуют между собой на самых разных ОС и платформах.

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


Назовем технологии, позволяющие осуществлять распределенную обработку в гетерогенных системах: это архитектура брокера общих объектных запросов (CommonObjectRequestBrokerArchitecture, CORBA) и протокол InternetInter-ORB Protocol (IIOP). CORBA полностью определяет архитектуру, необходимую для обмена информацией между распределенными объектами. К числу ее спецификаций относятся IIOP и множество других технологий. IIOP самый важный компонент CORBA, потому что его основная функция организация взаимодействия распределенных объектов в гетерогенной среде. Вместе CORBA и IIOP характеризуют многообразие средств промежуточного уровня, которые станут стимулом для пересмотра подходов к созданию прикладных программ в сетевых средах разработчиками всего мира.

CORBA не исключительный варианты решения, обеспечивающего распределенную обработку. Существует и конкурирующая архитектура, разработанная корпорацией Microsoft, объектная модель распределенной обработки (DistributedComputingObjectModel, DCOM), в основном представленная брокером объектных запросов (ObjectRequestBroker, ORB), который входит в состав Windows NT 4.0 и будет включен в следующую редакцию Windows[10].

CORBA детище консорциума ObjectManagementGroup (OMG), в составе которого более 700 компаний из самых различных отраслей промышленности. Цель этой организации состоит в том, чтобы определять базовые структуры для разработки приложений с использованием объектно-ориентированных методов. OMG выпускает спецификации, позволяющие стандартизировать обработку распределенных объектов, а не прикладные программы, и такая ориентация на разработку идей, а не программ принесла группе большой успех.Самый удачный результат деятельности OMG впервые реализованная в 1991 г. CORBA. CORBA описывает стандартную архитектуру для обмена информацией между распределенными объектами, благодаря которой компоненты прикладных программ могут связываться друг с другом, независимо от их местоположения в вычислительной сети. Более того, поскольку CORBA определяет стандартный интерфейс между объектами, операционная система, в которой работает объект, и язык, на котором он составлен, не имеют значения. Если объект удовлетворяет требованиям CORBA, он способен обмениваться информацией с другими распределенными объектами.Появившийся в декабре 1994 г. как составная часть спецификации CORBA 2.0 протокол IIOP еще одна удача OMG. До того как был подготовлен протокол IIOP, спецификация CORBA определяла способ взаимодействия только для распределенных объектов, созданных одним производителем. При подготовке объектов приходилось рассчитывать лишь на конкретную реализацию архитектуры. Благодаря IIOP вторая спецификация CORBA стала окончательным решением для взаимодействия объектов, которое не привязано ни к какой конкретной платформе или реализации.