Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Технологии CORBA

Архитектура распределенной системы CORBA. Технология уда­ленного доступа к базам данных CORBA (Common Object Regust Broker Architecture — общая архитектура объектных заявок) пред­ставляет собой промежуточное программное обеспечение, уста­навливающее отношения клиент—сервер между объектами в рас­пределенной компьютерной среде.

На рис. 6.6 представлена типовая архитектура распределенной системы CORBA, которая включает в себя следующие компо­ненты:

• ORB (Object Request Broker) — брокер объектных запросов (заявок), включающий в себя язык IDL;

• IDL (Interface Definition Language) — язык определения ин­терфейсов;

• РОА (Portable Object Adapter) — адаптер объектов;

• Stub — заглушка;

• Skeleton — основа;

• Smart Agent — «умный» агент.

Брокер объектных запросов. ORB устанавливает отношения кли­ент—сервер между объектами. В данной технологии роли клиента и сервера не постоянно приписаны компонентам, а устанавливаются только на один запрос.

 

Рис. 6.6. Архитектура распределенной системы CORBA

Схему работы ORB можно представить следующим образом:

• клиент (объект-отправитель) вызывает операцию (метод) на адресате, идентифицируемом ссылкой, и передает запрос ORB;

• посредник по ссылке находит сервер, содержащий объект-адресат (в терминологии CORBA этот сервер иногда называют object implementation — реализация объекта), и активизирует его. Затем доставляет запрос к объекту-адресату, передает адресату парамет­ры, вызывает соответствующую операцию и возвращает результат клиенту после выполнения операции.

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

Система CORBA позволяет организовывать различные архи­тектурные схемы ORB, однако каждая из них должна реализовывать три категории операций:

• одинаковые для всех реализаций ORB;

• специфичные для конкретного объектного типа;

• специфичные для отдельных видов реализаций объектов.

Возможны следующие схемы брокера объектных запросов:

• ORB, включаемый в клиентское и серверное приложения;

• ORB, выполненный в виде сервера;

• ORB, реализованный как часть операционной системы;

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

• ORB, включаемый в клиентское и серверное приложения, форми­руется в виде набора подпрограмм, выполняемых как на стороне клиента, так и на стороне сервера.

ORB, выполненный в виде сервера, реализуется в виде отдельного приложения, что позволяет обеспечить централизованную обра­ботку информации. На рис. 6.7 показана схема такой реализации системы CORBA.

 

На практике схему реализации ORB в виде сервера применяют для размещения на нем нереляционных баз данных. Так, для при­мера на рис. 6.8 показана комбинированная схема организации удаленного доступа к данным в геоинформационной картографи­ческой системе.

На сервере базы данных MS SQL хранится информация в виде реляционных таблиц — дискретных (параметрических) характе­ристик карт местности (поверхностей). Доступ к информации, хранящейся на этом сервере, осуществляется по технологии ADO.

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

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

ORB, основанный на библиотеках, используется, если код объек­та занимает небольшой объем и не требует никаких дополнитель­ных средств.

Язык определения интерфейсов. IDL — это специальный язык для описания ORB и других компонентов системы CORBA, кото­рый не содержит присваиваний, операторов if или while, функ­ций и логических переходов. IDL представляет собой процедуры описания, декларации, пассивные определения атрибутов, роди­тельских классов, типов поддерживаемых событий, методов (вклю­чая входные и выходные данные), основные и составнце типы данных, исключительные ситуации для обработки ошибок.

 

Рис. 6.8. Комбинированная схема организации удаленного доступа к дан­ным с использованием CORBA

IDL описывает интерфейсы аналогично классам в С++ или в Smalltalk, интерфейсы в Java, пакеты в Ada95. Каждый интерфейс определяет операции, которые могут быть вызваны клиентами. Синтаксически IDL является подмножеством С++ с дополнитель­ными ключевыми словами. Существуют компиляторы IDL в С++, Java, Ada, Smalltalk, COBOL, OLE (Visual Basic, PowerBuilder, Delphi).

Одна из задач IDL — обеспечение взаимодействия через ORB всех приложений клиент—сервер.

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

Адаптер объектов. РОА (в первых версиях CORBA — BOA — Basic Object Adapter) — это первичный путь для обеспечения сер­виса конкретной реализацией объекта. Предполагается, что име­ется несколько адаптеров объектов, каждый из которых обеспе­чивает доступ к объектам определенного вида.

Сервисы, которые обеспечиваются ORB посредством адапте­ров объектов, часто включают в себя: генерацию и интерпрета­цию ссылок на объекты, вызов методов, активацию и деактива­цию реализаций объектов, а также регистрацию конкретных ре­ализаций и отображение объектных ссылок и реализаций.

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

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

Заглушка. Stub связывает клиентские приложения с ORB. На­писанные на языке IDL сервисы после компиляции на язык про­граммирования клиентского приложения и компоновки с ним ста­новятся абсолютно прозрачны для клиента и выполняют функции обращения к удаленному объекту — серверу. Заглушка осуществля­ет передачу запроса и обычно оптимизирована для выполнения конкретного ORB. Если клиентам доступно более одного ORB, то у них может быть различное внутреннее представление заглушек.

Основа. Skeleton аналогично Stub связывает ORB и серверные приложения. Создается после компиляции языка IDL. Интерфейс динамического вызова — DII (Dynamic Invocation Interface) — позволяет объекту создавать запрос в реальном времени. Структу­ра запроса, его параметры и атрибуты и даже сама ссылка на объект-адресат генерируются в DII либо на основе запроса к объек­ту и анализа отклика.

«Умный» агент» — это динамический сервис, моделирующий сетевой каталог, в котором зарегистрированы известные ему сер­веры объектов как в локальной сети, так и в сети Интернет. Он отыскивает требуемый сетевой адрес сервера и передает ему зап­рос ORB.

 

<== предыдущая лекция | следующая лекция ==>
Технологии .NET FrameWork | Технологии MIDAS
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 994; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.018 сек.