Добавлен: 28.06.2023
Просмотров: 36
Скачиваний: 3
Введение
Ядро 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 и Фортрана. Как известно любому человеку, имевшему дело с объектно-ориентированным программированием, для составления запроса необходимы сведения об интерфейсе принимающего объекта, а объекты должны быть разработаны так, чтобы они могли получать информацию об интерфейсах тех объектов, с которыми они будут взаимодействовать.
Целью данной курсовой работы является определение назначения CORBA, изучение технологий CORBA и ее объектно-ориентированных компонентов.
Для реализации поставленной цели необходимо выполнить ряд задач:
- - Изучить объекты по значению;
- - Рассмотреть общий протокол межброкерного взаимодействия (GIOP);
- - Изучить сетевую и объектную модель CORBА;
- - Рассмотреть объект CORBA и жизненный цикл серванта и т.д.
При написании данной работы были использованы современные научные и учебные источники.
Глава 1 Понятие и назначение CORBA
1.1 Объекты по значению
Технология CORBA создана для поддержки разработки и развёртывания сложных объектно-ориентированных прикладных систем. CORBA является механизмом в программном обеспечении для осуществления интеграции изолированных систем, который даёт возможность программам, написанным на разных языках программирования, работающих в разных узлах сети, взаимодействовать друг с другом так же просто, как если бы они находились в адресном пространстве одного процесса.[1]
Спецификация CORBA предписывает объединение программного кода в объект, который должен содержать информацию о функциональности кода и интерфейсах доступа. Готовые объекты могут вызываться из других программ (или объектов спецификации CORBA), расположенных в сети.
Спецификация CORBA использует язык описания интерфейсов (OMG IDL) для определения интерфейсов взаимодействия объектов с внешним миром, она описывает правила отображения из IDL в язык, используемый разработчиком CORBA-объекта.
Стандартизованы отображения для Ада, Си, C++, Lisp, Smalltalk, Java, Кобол, ObjectPascal, ПЛ/1 и Python.
Также существуют нестандартные отображения на языки Perl, Visual Basic, Ruby и Tcl, реализованные средствами ORB, написанными для этих языков.
Помимо удалённых объектов в CORBA 3.0 определено понятие объект по значению. Код методов таких объектов по умолчанию выполняется локально. Если объект по значению был получен с удалённой стороны, то необходимый код должен либо быть заранее известен обеим сторонам, либо быть динамически загружен. Чтобы это было возможно, запись, определяющая такой объект, содержит еще поле Code он Base — список он URL, откуда он может быть он загружен код.
У объекта по еще значению могут еще также быть и еще удалённые методы, еще поля, которые еще передаются вместе с он самим объектом. Поля, в свою еще очередь также еще могут быть еще такими объектами, он формируя таким еще образом списки, он деревья или еще произвольные графы. Объекты по еще значению могут он иметь иерархию он классов, включая он абстрактные и множественное еще наследование.
1.2 Компонентная модель CORBA (CCM)
Компонентная модель он CORBA (CCM) — он недавнее дополнение к он семейству определений он CORBA.[2]
CCM была он введена начиная с он CORBA 3.0 и описывает стандартный он каркас приложения он для компонент он CORBA. CCM построено еще под сильным он влиянием Enterprise Java Beans (еще EJB) и фактически он является его еще независимым от он языка расширением. CCM предоставляет он абстракцию сущностей, еще которые могут он предоставлять и получать еще сервисы через он чётко определённые еще именованные интерфейсы, он порты. Модель CCM еще предоставляет контейнер он компонентов, в котором он могут поставляться он программные компоненты.
Контейнер предоставляет еще набор служб, еще которые может он использовать компонент. Эти службы он включают (но он не ограничены) еще службу уведомления, он авторизации, персистентности и он управления транзакциями.
Это наиболее он часто используемые еще распределённым приложением он службы. Перенося реализацию он этих сервисов он от необходимости еще реализации самим он приложением в функциональность он контейнера приложения, еще можно значительно еще снизить сложность он реализации собственно он компонентов.
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.
- Orbacus — еще коммерческий ORB еще для C++, Java еще от IONA еще Technologies.
CORBA (CommonObjectRequestBrokerArchitecture) – еще Общая Архитектура он Брокера Объектных он Запросов - это еще стандарт, набор он спецификаций для он промежуточного программного еще обеспечения (ППО, еще middleware) объектного еще типа. Задача ППО, он как известно, еще заключается в связывании еще программных приложений еще для обмена он данными.
CORBA программирование еще распределенных систем еще Уильям Р. Станек Подготовка он прикладных программ, он объекты которых еще составлены на он разных языках и он взаимодействуют между еще собой на он самых разных он ОС и платформах.
Взрывообразный рост еще Интернета и Web он стал причиной он появления технологий, в он корне меняющих он существующие способы еще применения компьютеров. Наиболее серьезные он изменения происходят в еще объектно-ориентированной он технологии, которой он провидцы отводят он новую роль в еще системах распределенной он обработки.
Вместо традиционных он вычислительных сетей еще архитектуры клиентсервер он новая эра он распределенной обработки он влечет за он собой переход к он системам масштаба еще предприятия с объектами, он которые распределены еще между множеством еще компьютеров, способных он обмениваться информацией он независимо от он операционной системы, еще платформы или он языка программирования. Еще удивительнее то, еще что эти он распределенные объекты еще могут быть он компонентами либо еще одной программы, он либо десятков он программ, образующих еще систему, предназначенную он для предприятия.
Назовем технологии, еще позволяющие осуществлять еще распределенную обработку в он гетерогенных системах: он это архитектура еще брокера общих еще объектных запросов (еще CommonObjectRequestBrokerArchitecture, CORBA) и еще протокол InternetInter-еще ORB Protocol (он IIOP). CORBA еще полностью определяет еще архитектуру, необходимую еще для обмена еще информацией между он распределенными объектами.
К числу ее он спецификаций относятся еще IIOP и множество он других технологий. IIOP самый он важный компонент еще CORBA, потому он что его он основная функция он организация взаимодействия еще распределенных объектов в он гетерогенной среде. Вместе CORBA и еще IIOP характеризуют еще многообразие средств он промежуточного уровня, еще которые станут он стимулом для он пересмотра подходов к еще созданию прикладных он программ в сетевых он средах разработчиками еще всего мира.[3]
CORBA не еще исключительный варианты еще решения, обеспечивающего еще распределенную обработку. Существует и конкурирующая еще архитектура, разработанная он корпорацией Microsoft, еще объектная модель еще распределенной обработки (еще DistributedComputingObjectModel, DCOM), в он основном представленная он брокером объектных он запросов (ObjectRequestBroker, еще ORB), который еще входит в состав еще Windows NT 4.0 и будет включен в он следующую редакцию он Windows.
CORBA детище еще консорциума ObjectManagementGroup (еще OMG), в составе он которого более 700 еще компаний из еще самых различных он отраслей промышленности. Цель этой еще организации состоит в еще том, чтобы он определять базовые он структуры для он разработки приложений с еще использованием объектно-он ориентированных методов. OMG выпускает еще спецификации, позволяющие еще стандартизировать обработку еще распределенных объектов, а он не прикладные он программы, и такая он ориентация на он разработку идей, а еще не программ еще принесла группе он большой успех.Самый удачный он результат деятельности еще OMG впервые он реализованная в 1991 г. CORBA. CORBA описывает он стандартную архитектуру еще для обмена он информацией между еще распределенными объектами, он благодаря которой еще компоненты прикладных еще программ могут еще связываться друг с он другом, независимо еще от их он местоположения в вычислительной еще сети.
Более того, он поскольку CORBA еще определяет стандартный он интерфейс между еще объектами, операционная он система, в которой еще работает объект, и он язык, на еще котором он он составлен, не он имеют значения. Если объект он удовлетворяет требованиям еще CORBA, он он способен обмениваться он информацией с другими он распределенными объектами.Появившийся в декабре 1994 г. как составная он часть спецификации еще CORBA 2.0 протокол IIOP он еще одна еще удача OMG.
До того, он как был еще подготовлен протокол он IIOP, спецификация он CORBA определяла еще способ взаимодействия еще только для еще распределенных объектов, он созданных одним еще производителем. При подготовке он объектов приходилось еще рассчитывать лишь еще на конкретную еще реализацию архитектуры. Благодаря IIOP еще вторая спецификация еще CORBA стала еще окончательным решением еще для взаимодействия еще объектов, которое он не привязано он ни к какой он конкретной платформе еще или реализации.[4]