Файл: Распределенные системы обработки информации (Анализ тестов и технология Сorba).pdf

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

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

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

Добавлен: 21.05.2023

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

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

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

ВВЕДЕНИЕ

Технология CORBA(Common Object Request Broker Architecture) – это стандарт написания распределенных приложений, предложенный консорциумом OMG (Open Management Group). Создавая CORBA-объекты, мы можем ,например, существенно уменьшить время решения задач, требующих выполнения большого объема вычислений.

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

Основу CORBA составляет объектный брокер запросов (Object Request Broker).

ORB управляет взаимодействием объектов в распределенной сетевой среде. IIOP (Internet Inter-ORB Protocol) — это специальный протокол взаимодействия между ORB.

В адресном пространстве клиента функционирует специальный объект, называемый заглушкой (stub). Поучив запрос от клиента, он упаковывает параметры запроса в специальный формат и передает его серверу, а точнее скелету.

Скелет (skeleton) — объект, работающий в адресном пространстве сервера. Получив запрос от клиента, он распаковывает его и передает серверу. Также скелет преобразует ответы сервера и передает их клиенту (заглушке).

Для того, чтобы написать любое приложение CORBA используя технологию Java, необходимо иметь две вещи — это установленный пакет JDK1.5 и компилятор idlj (…\jdk1.5.0\bin\idlj.exe). JDK предоставляет набор классов для работы с CORBA объектами, а idlj производит отображение языка IDL в Java.

Цель данной работы – изучить технологию CORBA.

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

1. АНАЛИЗ ТЕСТОВ И ТЕХНОЛОГИЯ CORBA

1.1 Основные архитектурные принципы и задачи

Основное назначение CORBA – поддержка разработки и развертывания сложных объектно-ориентированных прикладных систем. Любого отдельно взятого объектно-ориентированного языка недостаточно для написания распределенных вычислительных систем. Очень часто различные компоненты программной системы требуют реализации на разных языках и, возможно, разных аппаратных платформах. С помощью объектных моделей множество объектов приложения, в том числе и на различных платформах, взаимодействуют друг с другом и реализуют процессы, создавая видимость единого целого[1].


Функции CORBA – функции программного объектной . Для того обеспечить объектов их в систему, промежуточного должна несколько принципов.

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

Независимость платформы. Компоненты выполняться различных и платформах, друг другом рамках системы.

Независимость языка . Различия в , которые при компонентов, препятствуют взаимодействию с .

CORBA – это -серверные , в функциональность предоставляется посредством к интерфейсам.

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

Клиент доступ объекту путем метода, в объекта. Это , что действия в пространстве , возможно, по к клиента. Сокрытие реализации позволяет конечном добиться взаимодействия в от , где на платформе реализованы какой программирования этого .

В обеих взаимодействие клиентским и объекта, есть , который и экземпляры , использует объектный вызова процедуры (RPC, procedure ). Структура RPC – старейшей из промежуточного обеспечения. Механизм RPC схему сообщений, соответствии которой распределенном -серверном процедураклиент специальное с вызова сети удаленную процедуру, результаты выполнения в сообщении процессу[2].

Для чтобы эту , на клиента на сервера специальные , носящие клиентский серверный (client и stub). Для чтобы ту иную , клиент к суррогату, упаковывает в -запрос передает на уровень . Серверный суррогат полученное и соответствии переданными вызывает функцию, нужный объекта, речь об варианте RPC. В CORBA суррогат имеет названия, серверный термином .

Параметры вызова формироваться отличной серверной и среде, на и суррогаты функции аргументов результатов универсальное, зависящее конкретной представление. Тем достигается взаимодействия и на платформах.

2. Брокер Объектных Заявок

Брокер Объектных Заявок (Object Request Broker – ORB) - промежуточное ПО, устанавливает -серверные между в компьютерной . ORB обеспечивает , позволяющие посылать принимать , отвечать них получать , не о других в среде способе реализации. ORB за реализации -сервера выполнения , подготовку этого к заявки за данных, результатом заявки.

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


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

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

CORBA определяет для реализаций ORB, общие и (рис. ). Это обеспечивает клиентов реализаций по к реализациям ORB. ORB интероперабельность глобального пространства. Определения объектов быть в Репозитарий Интерфейсов (Interface Repository) способами: - в спецификации IDL, или . Репозитарий представляет интерфейса объекты обеспечивает к в выполнения.

Рис. . Структура интерфейсов Брокера Объектных Заявок

При заявки может интерфейс вызова генерируемый IDL стаб () - локальную вызова операции обращении ней.

Клиент непосредственно с ORB. В случае ORB соответствующий реализации , пересылает параметры и управление. Реализация принимает заявки сгенерированный IDL скелетон (Skeleton) при может к Объектному Адаптеру (Object Adaptor) ORB. Основная функция адаптера, для CORBA-объекта, - доступа сервисам объектных . Объектный адаптер все средства связи с клиентами. В этих входят:

) генерация на объекты,

) вызов , определенных IDL,

3) безопасности ,

4) и объектов,

) установление между на объекты реальными объектов,

) регистрация .

Спецификация OMG CORBA определяет объектный , который быть во брокерах . Basic Object Adapter (BOA) - это интерфейсов создания на объекты, объектов, запросов активизации . Базовый объектный является первоочередной обеспечения между объекта брокером . Для организации между ORB , например, управления данных быть свой адаптер.

Скелетон – программа, связывает с адаптером, объектному перенаправлять к серванту. При методах скелетон при IDL кода. При – не .

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

Языковое отображение определение для IDL данных интерфейсов к средствами языка . Отображение определяет интерфейса клиента, динамического , скелетона объекта, адаптеров прямые ORB.

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


Наличие не существование стаба . Возможно, и . Можно написать Объектный Адаптер, не скелетоны вызова реализации .

Доступно широкое способов конкретных ORB-. Далее будут примеры реализаций. Следует ввиду, конкретный ORB быть сразу способами.

  1. ORB, в и приложение.

Если подходящий коммуникаций, возможна ORB-а виде подпрограмм со клиента, и стороны объекта. Вызовы могут в со взаимодействия (Inter Process Communication - IPC).

  1. ORB, выполненный виде .

С целью централизованного и всевозможной , ORB может реализован виде приложения.

Взаимодействующие устанавливают с ORB- посредством механизмов IPC.

  1. ORB часть .

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

  1. ORB, основанный библиотеках.

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

3. Язык интерфейсов

Один ключевых архитектуры CORBA, интероперабельность , заключается независимости интерфейсов от реализации. Именно решения задачи комплексе CORBA предусматривается язык определения - OMG IDL (Interface Definition Language).

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

Для синтаксиса в стандарта CORBA нотация, EBNF (Extended Backus-Naur Format - Расширенный формат Бэкуса-Наура).

::= - по

| - или

< > - символ, заключенным скобки «текст» -

* - возможность предшествующей конструкции или раз

+ - повторения синтаксической один более

{ } - заключенные скобки конструкции как конструкция

[ ] - в синтаксическая является .

При отображении IDL различные программирования CORBA , чтобы IDL были отображены: базовые конструируемые , ссылки объекты константы, в IDL, операций, ситуации, к , сигнатуры в , определенном ORB ( динамического ). Реализация отображения возможность иметь ко функциям ORB виде, для языка . Все реализации ORB следовать OMG отображения конкретного программирования.

Основные , вызывающие при стандартов IDL, включают представления ORB в языке (следует , как представляется программе, он в параметра, осуществляется операций его ); представление ситуаций конкретном ; представление ORB.


К настоящему OMG определены IDL в C, C++ и Smalltalk. Завершается стандарта IDL в Ada. Эта работа проста. Так, обсуждение принятие IDL в С++ более лет работы, важность принятия , используемой OMG.

4. Сетевая объектная CORBA

Интероперабельность брокеров Универсальным Межброкерным Протоколом (General Inter-ORB Protocol, сокращенно GIOP). GIOP универсальным, он зависит конкретной транспортной и быть в транспортный , поддерживающий соединения. Одно таких - отображение GIOP протокол TCP/IP - CORBA 2. в Межброкерного Протокола Internet (Internet Inter-ORB Protocol, сокращенно IIOP). Назначение GIOP/IIOP заключается том, поддержать брокеров рамках Internet за пределами.

Согласно GIOP, архитектура предполагается . Подход, который быть конкретным для GIOP/IIOP, не . Все, что для включения в сеть, - существование с компонентов, посылать принимать IIOP.

Спецификация GIOP включает:

) определение Общего данных (Common Data Representation - CDR), , по , коммуникационным , отображающим типов OMG IDL в передачи между и мостами ();

2) передаваемых агентами GIOP, которые для объектных , установления реализаций и транспортными ;

3) ограничений допустимый транспорт GIOP.

Протокол IIOP, можно специализацией GIOP, дополнительно, агенты соединения TCP/IP используют для сообщений GIOP. GIOP транспортное как . Определяются две роли соединения: клиента роль . Клиент образует и объектные , сервер заявки посылает . Сервер не посылать заявок. Соединение использоваться многочисленными в брокере посылки заявок объектам определенном или . Допускается асинхронная заявок их чередовании соединении.

В сообщениях произвольный байтов ( от процессора), отправителем . Получатель сообщения изменить порядок для образом. Установлены значений типов IDL (, octet, , unsigned , long, long, , double, , enum) границе для полей. Установлено конструируемых IDL (struct, , array, , string), накладывающее требований по к , которые для типов.

Объектная OMG определяет объектную для базовых объектов , независимым реализации .

Объектная модель OMG в объектной - ядра (Core Object Model – COM) совокупности . Объектная модель - - специфицирует набор понятий. Примерами COM являются , операции, , отношение /подтип, , интерфейс . Каждое расширение дополнительный понятий. Расширяться либо COM, уже и расширения. При вводится профиля, некоторой COM, и или расширений, поддерживающих целевую .

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