Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Технология CORBA

Содержание:

ВВЕДЕНИЕ

Ядро CORBA брокер (посредник) объектных запросов (ORB). Это что-то вроде магистрали для объектов. Основная задача ORB оказывать посреднические услуги при обмене запросами между объектами. Хотя ORB "обитает" в среде клиент -сервер, объекты, с которыми он работает, выполняют функции либо клиентов, либо серверов, в зависимости от обстоятельств. Если объект принимает и обрабатывает запрос, то он играет роль сервера. Если он отправляет запрос, то выступает в роли клиента.

Основная задача ORB прием и отправка запросов, а также передача результатов, в том числе перехват каждого запроса одного объекта другому; определение местонахождения объекта, который, предположительно, обработает запрос; запуск соответствующего метода принимающего объекта; при необходимости передача параметров и передача результатов объекту, инициировавшему запрос.

ORB обрабатывает "прозрачно", , от какого локального или поступил . При обработке запросов для ORB не значения ни программирования, ни система или . Механизм, "прозрачность" запросов, языком интерфейса ( Definition , IDL). язык для объявления и интерфейсов .

Во многом независимому , IDL нейтрален и не от объектов и ORB, тем не он связывает служб объектов с их . Всякому, кто с DCOM, , известно, что в DCOM IDL. Но IDL DCOM с CORBA и иначе, чем IDL . В CORBA множественное , а ее IDL-средствам необходимо для объектов.

Это облегчает использование программ. В механизм наследования не . Поэтому вы подготовить и все интерфейсы, чем к ним обратится . Язык IDL тем, что позволяет описать API, при этом определить на любом программирования, обеспечивает с CORBA. К языкам Ада, Кобол, Си, ++, Smalltalk и . У некоторых имеются средства с CORBA для Basic и . Как известно человеку, дело с программированием, для запроса сведения об принимающего , а объекты быть так, чтобы они получать об интерфейсах тех , с которыми они взаимодействовать.

Но, применить подход для между объектами , вы столкнетесь с проблем. Для независимости IDL в используется (хранилище) , предназначенный для сигнатур , принадлежащих , с тем чтобы эти можно динамически и обновлять во исполнения . Благодаря все объекты в системе получить об интерфейсах объектов, , принадлежащих интерфейсам, и , необходимых для к ним.

Целью курсовой является назначения , изучение CORBA и ее компонентов.

ГЛАВА 1. НАЗНАЧЕНИЕ 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)

модель (CCM) — дополнение к определений .

CCM была начиная с 3.0 и описывает каркас для компонент . CCM построено под влиянием Enterprise Java Beans () и фактически его независимым от расширением. 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.
  • TAO — The ACE ORB, открытый ORB для C++.
  • Orbacus — коммерческий ORB для C++, Java от IONA Technologies.

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

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

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

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

К ее спецификаций IIOP и других . IIOP важный CORBA, что его основная организация распределенных в гетерогенной . Вместе и IIOP многообразие промежуточного , которые стимулом для подходов к прикладных в сетевых разработчиками мира.

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

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

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

Благодаря IIOP вторая спецификация CORBA стала окончательным решением для взаимодействия объектов, которое не привязано ни к какой конкретной платформе или реализации.

С применением CORBA вы создадите системы масштаба предприятия (корпоративные системы), в которых объекты распределены по вычислительной сети.

В корпоративных системах основные объекты для обслуживания файлов, необходимые прикладной программе, могут храниться на сервере Windows NT. Эти объекты вы составите, например, на языке Си++. На большом компьютере можно разместить первичные функции ядра системы скажем, используя объекты, запрограммированные на языке Кобол. Любой настольный компьютер, работающий под управлением Windows, пригоден для хранения внешних интерфейсов, использующих объекты, созданные средствами VisualBasic. И все эти объекты могут обмениваться информацией, а посредником при передаче запросов служит CORBA[8].

Netscape Corp. и избрали и IIOP в основы для поколения программ. Sun CORBA и для реализации вызовов процедур в программирования 1.1, причем без технологий в сетях не бы платформы (JavaPlatform). того, в API будут CORBA и , чтобы возможность масштабируемых программ для сферы () с многократно серверными вызовов процедур в Java и технология . Необходимые для специальные процедуры в Visual J++. Но DCOM только на Windows NT 4.0 и 95 (с помощью InternetExplorer), т. е. не годится для информацией с операционными . Microsoft , что в будущем DCOM перенесена на платформы.По IIOP взаимодействие сетевой (OpenNetworkEnvironment, ) фирмы с корпоративными системами. Кроме того, с помощью IIOP программисты могут подключать программы, подготовленные на языках Java, JavaScript и Си или Си++, к системам масштаба предприятия.

В программе NetscapeNavigator протокол IIOP реализуется в рамках механизма LiveConnect и предназначен для обмена информацией между апплетами, внешними модулями и сценариями.

ГЛАВА 2. ТЕХНОЛОГИЯ CORBA

2.1 Объединение компонентов

Как технология, которая обеспечивает базовые структуры для взаимодействия разнородных объектов, CORBA достигла замечательных успехов, и это при том, что она представляет собой только часть еще более крупной архитектуры управления объектами (ObjectManagementArchitecture, OMA), состоящей из следующих компонентов:

CORBA ORB оперирует запросами между объектами; Службы (сервисы) CORBA определяют служебные функции системного уровня, предназначенные для управления объектами и обеспечения их работы; Средства CORBA определяют функциональные возможности и интерфейсы на уровне прикладной программы; Объекты прикладных программ собственно объекты.Как мы уже упоминали, брокер объектных запросов управляет обменом запросами между объектами. Но как все остальные кусочки этой мозаики складываются воедино? Давайте рассмотрим службы, средства и объекты CORBA.

2.2 Службы объектов CORBA

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

Имеется 16 объектных служб, в том числе:

CollectionProperties

Сoncurrency Сontrol

Query Eventnotification

NshipsExternalizationSecurity

LicensingStartup

LifecycleTime

NamingTrader

PersistenceTransactions

Реальные объекты, образующие ядро совместимой с CORBA прикладной программы, называются бизнес-объектами. Бизнес-объект это способ описания понятий, не зависящих от прикладной программы, типа покупатель, заказ или платеж. Для подготовки прикладной программы вам будет необходим набор бизнес-объектов.

В отличие от объектов системного уровня, которые выполняют такие задачи, как поддержание устойчивости, бизнес-объекты имеют дело с процессами, характерными для реального делового мира. Хотя типичный бизнес-объект несет ответственность только за одну задачу (например, обработку предварительных заказов, работу с покупателями или складом), наборы бизнес-объектов можно применять для управления всем бизнес-процессом, таким, как продажа билетов и обработка предварительных заказов на авиарейсы.

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

Для управления сложной прикладной программой с распределенными бизнес-объектами у последних есть информация только о том, какие сервисные функции выполняют другие объекты, но не о том, как эти функции реализуются на самом деле.

Благодаря бизнес-объектам мы избавлены от сложностей реализации внутренней обработки, поскольку можем сконцентрировать внимание на интерфейсах.

Компонент это набор бизнес-объектов, которые осуществляют обработку, инкапсулируют данные и обеспечивают необходимые интерфейсы пользователя. Для взаимодействия объектов в рамках компонента используется ORB. Кроме того, с помощью ORB объекты обмениваются информацией о себе, в результате объекты "узнают" о существовании других объектов во время исполнения программы. Таким образом, в компоненте имеется все необходимое для вывода на экран представления объекта и взаимодействия с ним.

Типичный бизнес-компонент мог бы применяться, скажем, для вывода на экран распределения мест на 11-часовом рейсе до Лос-Анджелеса, а другой для регистрации сведений о бронировании мест на этот рейс.Возможности компонентов можно расширить за счет добавления служебных функций системного уровня. Функция Persistence пригодится, чтобы поддерживать состояние объектов в рамках компонента.

эти сервисные встроены в , их можно для создания "" (smart) , при этом нет программировать их с . Хотя и в имеется компонентов и служба, там нет поддерживать объектов в перерыве соединениями. этого DCOM CORBA.На прикладной , где устанавливаются инфраструктуры , базовые программ способы совместной независимых .

Благодаря определенным все компоненты функционируют как комплекс, так что впечатление прикладной . Именно единство прикладным , использующим в гетерогенных объекты, "" сопрягаться с другом.

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

Для с CORBA , например в наследство , можно оболочки (), которые им подобие CORBA. выполняет интерфейса, для доступа к функциям программы.Если вы с CORBA унаследованные с процессами и сервера, у вас все составляющие модели .

Один это визуальные , например , размещаемые на ПК. Другой объекты , предусматривающие . Еще один составляют прикладные , например на большой ЭВМ.

показать, CORBA ORB так для ППО архитектуры сервер, мы следующий «» список свойств, всем ORB:

и динамические методов. ORB позволяет определять ваших во время или находить их во время .

Таким , вам предоставляется : строгий типов на компиляции или гибкость при (на этапе ) связывании.

с языком уровня. ORB позволяет методы объекта с выбранного языка уровня. При не имеет на каком написаны объекты.

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

2.3 CORBA и цикл

POA обеспечивает разделение сроками объектов и сроками серванта. термины к циклу объекта :

  • Активация () - запуск объекта , чтобы ему принимать .
  • Дезактивация () - завершение активного CORBA.

термины к циклу серванта:

  • (incarnation) - серванта с CORBA
  • (еtherealization) - ассоциации сервантом и CORBA

Во своей объект может воплощен чем одним . В то же самое , отдельный , с другой , может более объекта. CORBA существенно общий и характер, чем COM, что в ее фундаменте.

разработки (по сравнению с ) позволяет более , целостной и системы.

С стороны, при реального нужно убедиться, что реализация или иного CORBA уже (источниками могут , например, и SecurityService).В момент не имеет собственной модели; над ней началась в г. и еще не завершена.

Это серьезный . Правда, он компенсируется основанной на компонентной Enterprise

, так что программисты на находятся в положении. Все , что присутствует в COM, и в CORBA, и более - за исключением технологии к БД.

Опять-таки, имеют и здесь - за наличия для Java доступа к JDBC.Под “” применительно к понимается то, что утверждено OMG. Надо , что это очень уровень “”, так как авторитет OMG в мире высок.

В момент отображение IDL на 6 языков - Ada, C, C++, Cobol, и Smalltalk. также на Pascal (, Delphi), , Python и еще языков.Наиболее языками в момент Java ( прекрасного Java-технологий, JDBC, RMI, и EJB, с CORBA), и C++ - как эффективный, и распространенный компьютерной . CORBA даже более уровень за базировании исключительно на описания IDL с отображением спецификаций на язык , а также возможностей, , автоматического (т.е. для программиста) контекста .

CORBA в время не своей модели. это не имеет значения для , но в общем эта та область, где OMG (и программного ) еще предстоит поработать. имеет развитую часть; , только для серверных по различным можно 4 различных CORBA. того, OMG к максимальной вспомогательных CORBA. предоставляет существенно возможности, чем COM, в сервисов и средств.

С стороны, обычно не какого-либо из-за их . Вследствие области COM объективно нет в создании же развитых и средств, как это необходимо для .Понятие “” в CORBA отличается от COM-аналога. CORBA не переменной программирования и в случае его существования не со временем серверных или приложений. не занимает ресурсов - оперативной , сетевых и т.п.

Эти ресурсы только так “сервант” (), который “инкарнацией” или нескольких . Именно является языка . Пока не сервант, с конкретным CORBA, объект не обслуживать клиентов, но, тем не , он существует. создания (при совершенно не при этом и сопоставляется с объектом сервант!) так называемая “ ссылка” . Объектная сопоставлена с , и только с объектом, и это остается в течение срока CORBA-объекта ( быть, в нескольких ). Объектная CORBA интерпретируется от любого программного .

После CORBA-объекта все ссылки на навсегда смысл. С объектной клиент методы , при этом этого могут различные (не более одновременно), физически находиться на различных .CORBA существенно открытой, и гибкой , чем COM. И COM, и CORBA тесно и взаимодействовать со средствами безопасности.

на внешнюю , что вызвано решаемых , между COM и , пожалуй, различий, чем . В большинстве либо использовать (для и простых под Windows по причине высоких на приобретение обеспечения, и пр.), либо невозможно COM (для , масштабируемых, проектов или при работе в средах, а не в Windows). , ориентированные на с MicrosoftOffice, будут COM; проекты с Java и Java-технологий ( Microsoft ++), как говорится, “ бог велел” на основе .

Во многих выбор диктует той или иной проекта: вы планируете , например, с 8i, то, безусловно, лучше на CORBA. , где эти технологии конкурируют, на мой , очень . Как нетрудно , автор обзора сторонником , чего и всем читателям.

Заключение 

Учитывая, что в за этой консорциум более 700 , CORBA большее, чем увлечение, рынок. превосходит трехуровневую клиент благодаря , что это полностью и исключительно архитектура. CORBA, вы с расширите , состоящую из компьютеров до масштабов . CORBA базовую , позволяющую объекты, на разных , причем не значения, для платформы или системы эти были , если средства с CORBA.

CORBA для гетерогенных , в настоящее у нее есть перед . Однако во внимание Microsoft, , несомненно, в будущем силой, с придется .

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

Список литературы 

  1. К.В. , В.В.Леонтьев, объектные в информационных // СУБД .
  2. ЭккерсонВ.В лучше й архитектуры клиент-сервер // Сети. 2011.
  3. Аншина М. Симфония CORBA. “Открытые системы” № 3 2012 г.
  4. Коржов В. Многоуровневые системы клиент-сервер. “Сети ” 2010 г.
  5. Роберт Дж. Оберг Технология COM+. Основыипрограммирование = Understanding and Programming COM+: A Practical Guide to Windows 2000 First Edition. -- М.:«Вильямс», 2011. - С. 480. - ISBN 0-13-023114-2
  6. Соммервилл И. Инженерия программного обеспечения.
  7. Драница А. Java против .NET. - "Компьютерра", #516.
  8. Аниканов А.А. Визуализация векторных полей с использованием текстурной анимации // Изв. вузов. Сев.-Кав. регион. Естеств. науки. 2011. №4. С. 5-9.

9. Jobard B., Lefer W. The Motion Map: efficient computation of steady flow animation // IEEE Visualization '97. Phoenix, Arizona, USA. 2010. P. 323-328.

10. Ахтырченко К. В., Леонтьев В. В. Распределенные объектные технологии в информационных системах. «СУБД» №5-6 2012 г.

11. Брюхов Д.О, Задорожный В.И, Калиниченко Л.А, Курошев М.Ю, Шумилов С.С Интероперабельные информационные системы: архитектуры и технологии. «СУБД» №4 2011 г.

12. Елманова Н. Распределенные вычисления и технологии Inprise. «Комьютер-Пресс» №1-5 2012 г.

13. Елманова Н. Оптимизация приложений С++Builder в архитектуре клиент/сервер. «Компьютер-Пресс» №4 1998 г.

14. Коржов В. Многоуровневые системы клиент-сервер. «Сети» №6 2012 г.

15. Орфали Р., Харкин Д., Эдвардс Д. Основы CORBA: Пер. с англ. - М.: МАЛИП, Горячая Линия - Телеком, 2012 г.

16. Калиниченко Л.А., Когаловский М.Р. Стандарты OMG: Язык определения интерфейсов IDL в архитектуре CORBA. «СУБД» №2 2013 г.

17. Калиниченко Л.А., Когаловский М.Р. Интероперабельность брокеров в стандарте CORBA 2.0. «СУБД» №3 2014 г.

Приложения

Архитектура CORBA

Сравнение CORBA и DCOM