Технологии ADO .NET, . NET FrameWork, CORBA

Раздел 2 СИСТЕМЫ РАЗРАБОТКИ И УПРАВЛЕНИЯ УДАЛЕННЫМИ БАЗАМИ ДАННЫХ

 

Тема 2.1 Технологии доступа к удаленным базам данных

 

Структура организации доступа к данным в трехуровневой архитектуре

 

С развитием информационных технологий, связанных в том числе с необходимостью взаимодействия предприятий через гло­бальную сеть Интернет, все большее развитие получила трехуровневневая схема взаимодействия клиентской и серверной частей. Эта схема оказалась эффек­тивной и при организации внутренних ЛВС предприятий, где в качестве клиента может использоваться обычный Web - браузер. В соответствии с данной схемой общая структура БД состоит из трех уровней:

1-й — клиенты («тонкие клиенты»);

2-й — сервер приложений;

3-й — сервер базы данных.

Первый и второй уровни относятся к клиентской части приложения баз данных, а третий — серверной.

Приложение 1-го уровня должно обеспечить пользователю дру­жественный интерфейс (диалоговые формы) при работе с БД, включая: возможность обращения к базе данных с помощью за­просов и получение результатов обращения к базе данных .

Приложение 2-го уровня должно содержать программу, обес­печивающую эффективное выполнение приложения 1-го уровня, включая:

• тексты программ SQL-запросов (транзакций);

• проверку синтаксиса условий выполнения запроса, введен­ного пользователем;

• программы обеспечения доступа к информации сервера баз данных.

Приложение 3-го уровня должно содержать все таблицы баз данных и обеспечивать эффективное управление работой удален­ных пользователей с информацией.

В настоящее время первые две части приложения 2-го уровня разрабатывают с применением так называемых мониторов обра­ботки транзакций ТР-миниторов.

Программы обеспечения доступа к информации сервера баз данных разрабатываются с применением различных технологий: ODBC; СОМ; ADO.NET; CORBA; MIDAS; NET Framework.

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

Объектные модели доступа к удаленным базам данных

Основные понятия объек­тно-ориентированного программирования: объект, класс, свой­ство, событие, объектная модель.

Объект (object) - это типовой программный элемент, исполь­зуемый любыми частями целостной СУБД, включая аппаратные и программные средства. Объекты имеют дескрипторы (description), к которым в ходе выполнения программы возможно обращение, как к именам, указателям и меткам. Дескрипторы дают информа­цию о типе объекта и описание характеристик, присущих конк­ретному объекту. К объектам СУБД относятся таблицы, запросы, формы, отчеты, макросы, модули. Объектами являются также эле­менты управления, помещаемые в формы, и отчеты.

Класс (class) представляет собой описание совокупности од­нотипных объектов.

Свойство ( property ) представляет собой описание характерис­тики либо отдельного объекта, либо класса объектов.

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

Объектная модель ( object model ), или объектная архитектура (object architecture), - это совокупность взаимосвязанных объек­тов, описывающих конкретную программную систему. В таких сис­темах все процессы, связанные с обработкой и управлением ин­формацией, представляются как операции над объектами.

Появление трехуровневых архитектур управления базами дан­ных привело к созданию технологий разработки приложений про­межуточного 2-го уровня с применением универсальных языков программирования. В этом случае разработчики вынуждены интег­рировать SQL в соответствующие СУБД.

Развитие и совершенствование информационных технологий привело к появлению нового направления — объект­но-ориентированного проектирования баз данных. Концептуаль­но стратегия объектно-ориентированного проектирования СУБД с применением технологий реляционных баз данных может быть сведена к следующим положениям:

• введение средств работы с базой данных в язык программи­рования;

• предоставление расширяемых объектно-ориентированных биб­лиотек;

• дополнение языка SQL объектно-ориентированными функ­циями;

• разработка новых языков и моделей баз данных. Рассмотрим эти положения.

Введение средств работы с базой данных в существующий объек­тно-ориентированный язык программирования. При таком подходе традиционные функции базы данных встраиваются в существую­щие объектно-ориентированные языки программирования, на­пример Smalltalk, С++, Java. Подобный подход используется в языке GemStone, в котором дополняются возможности именно этих трех языков.

Предоставление расширяемых объектно-ориентированных биб­лиотек. При этом подходе также предусматривается введение тра­диционных функций базы данных в существующий объектно-ори­ентированный язык программирования. В данном случае вместо расширения функций самого языка используются дополнительные библиотеки классов, поддерживающие объектные типы дан­ных, транзакции, параллельную обработку, защиту данных и т.д. Этот подход используется в продуктах Ontos, Versant, ObjectStore,

Дополнение языка SQL объектно-ориентированными функция­ми. Благодаря широкому распространению языка SQL некоторые компании-разработчики пытаются расширить его в целях поддер­жания объектно-ориентированных конструкций. Этот подход ис­пользуется компаниями-разработчиками реляционных и объект­но-ориентированных СУБД. Поддержка подобных объектно-ори­ентированных инструментов уже предусматривается в очередной версии стандарта SQL—SQL3.

Разработка новых языков и моделей баз данных. Это наиболее радикальный подход, требующий пересмотра концепций реля­ционного подхода, с полной ориентацией на объектно-ориен­тированные модели данных. Необходимость такого подхода связа­на с специфическими (не реляционными) базами данных, созда­ваемыми, например, по результатам автоматизированного конст­рукторского и технологического проектирования с применением систем CAD/САМ.

Монитор обработки транзакций

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

Применение TP-монитора повышает эффективность управле­ния базами данных за счет:

1. Маршрутизации транзакций;

2. Управления распределенными транзакциями;

3. Уравновешивания нагрузки на серверы;

4. Мультиплексирования соединений;

5. Повышения надежности.

Маршрутизация транзакций. TP-монитор позволяет применять средства управления доступа к различным СУБД за счет перена­правления транзакций.

Управление распределенными транзакциями. TP-монитор позво­ляет управлять транзакциями, которые требуют доступа к дан­ным, хранящимся в нескольких, возможно даже разнородных, СУБД (Oracle, SQL Sever и др.).

TP-мониторы обычно управляют транзакциями с использова­нием стандарта DTP (Distributed Transaction Processing — обра­ботка распределенных транзакций).

     Уравновешивание нагрузки на серверы. ТР-монитор позволяет равномерно распределить клиентские запросы по нескольким СУБД, находящимся на одном или нескольких компьютерах, по принципу перенаправления обращений клиента к службам наи­мее загруженного сервера. Кроме того, ТР-монитор может для обеспечения необходимого уровня производительности перево­дить в рабочее состояние дополнительные СУБД.

Мультиплексирование соединений. В среде с большим количе­ством пользователей иногда возникают сложности обеспечения их одновременного подключения к СУБД.

ТР-монитор позволяет перейти от режима, при котором каж­дый пользователь постоянно подключен к СУБД, к режиму, при котором соединения СУБД устанавливаются только в случае не­обходимости и поддерживаются лишь до тех пор, пока происхо­дит обмен данными. Через одно подобное соединение передаются запросы сразу от нескольких пользователей.

ТР-монитор позволяет предоставить доступ к имеющимся СУБД большему количеству пользователей с использованием меньшего количества соединений, что сокращает потреб­ности в ресурсах.

Повышение надежности. ТР-монитор в качестве диспетчера транз­акций выполняет все необходимые действия по обеспечению не­противоречивости базы данных, тогда как сервер баз данных дей­ствует как диспетчер ресурсов.

В случае отказа СУБД, ТР-монитор способен перенаправить транз­акцию в другую СУБД или хранить ее в памяти до тех пор, пока работа данной СУБД не восстановится.

ТР-мониторы обычно применяются в среде с очень большим объемом транзакций, в которой они могут снять часть нагрузки с сервера СУБД.

Наиболее распространенными являются ТР-мониторы CIGC и Encina компании IBM, которые используются в операционных системах Windows NT.

 

 

Технологии COM , MIDAS

Технологии COM

Технология доступа к удаленным данным Component Object Model (COM) — компонентная модель объектов, разработанная фирмой Microsoft как средство взаимодействия приложений (в том числе составных частей операционной системы Windows), функционирующих на одном компьютере.

В дальнейшем технология СОМ усовершенствовалась для управле­ния объектами базы данных, расположенных в пределах локаль­ной вычислительной сети.

На технологии СОМ построены такие методы управления уда­ленными объектами, как OLE, Автоматизация, ActiveX.

1. Метод OLE (Object Linking and Embedding) — связывание и объединение объектов — протокол, обеспечивающий обмен дан­ными между приложениями. С помощью OLE пользователи могут связывать или внедрять объекты различных приложений (в том числе и баз данных) в файлы других приложений. (Одним из ти­пов полей в реляционных базах данных является OLE.) Каждый объект OLE характеризуется двумя компонентами: собственно информацией, содержащейся в исходном файле, и адресом на­хождения файла на дисковом пространстве компьютера или адре­сом файла в локальной вычислительной сети.

Развитием технологии OLE является технология OLE DB — программный интерфейс, удовлетворяющий структуре СОМ и предоставляющий унифицированный способ доступа к различ­ным файлам, в общем случае не являющимся базами данных.

2. Метод Автоматизация, называемый иногда автоматизацией OLE, обеспечивает взаимодействие клиентских и серверных при­ложений программным способом (с применением язы­ка VBA).

3. Метод ActiveX  является 32-разрядной версией элементов уп­равления OLE.

Таким образом, технология СОМ представляет собой различ­ные методы управления удаленными объектами баз данных, по­строенных в архитектуре типа клиент - сервер, в том числе пред­назначенных и для работы в ЛВС.

 

Технологии MIDAS

 

Технология MIDAS (Multitier Distributed Applications Services) — набор сервисов для создания многозвенных распределенных при­ложений.

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

Применение многозвенных приложений позволяет обеспечить следующие преимущества:

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

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

• увеличение устойчивости за счет возможности организации гибкой перестраиваемой системы защиты информации.

В самой простой форме (так называемой three-tiered model) многозвенное приложение включает в себя следующие уровни: клиентское приложение, сервер приложений, управление пере­дачей данных и удаленный сервер базы данных.

Клиентское приложение обеспечивает интерфейс пользователя на пользовательском компьютере.

Сервер приложений находится в доступном для всех клиентов месте и обеспечивает общую передачу данных.

Управление передачей данных обеспечивает так называемый бро­кер данных.

Удаленный сервер базы данных обеспечивает систему управления базой данных.

Взаимодействие указанных уровней осуществляется следующим образом.

1. Пользователь запускает клиентское приложение.

2. .Клиент соединяется с сервером приложений (который мо­жет определяться как во время исполнения, так и во время созда­ния приложения).     

3. Запускается сервер приложений.

4. Клиент получает интерфейс IAppServer от сервера приложе­ний.

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

6. Клиент расшифровывает пакеты данных и предоставляет их пользователю.

7. Пользователь взаимодействует с клиентским приложением. При изменении данных клиент упаковывает измененные данные в пакеты и отсылает их на сервер приложений.

8. Сервер приложений расшифровывает пакеты и сохраняет изменения в контексте транзакции. Если запись не может быть сохранена на сервере, последний пытается согласовать измене­ния с текущими данными и отделяет данные, которые не могут быть сохранены. Когда процесс обработки измененных данных закончен, сервер возвращает все несохраненные данные клиенту для дальнейшего уточнения.

9. Клиент уточняет необработанные данные, после чего посы­лает их снова серверу приложений. Затем клиент обновляет свои данные с сервером.

Разработка пользовательских приложений производится с при­менением языка программирования Delphi.

Технология MIDAS позволяет:

• получать доступ к данным, физически расположенным на разных машинах;

• распределять нагрузку ресурсов по сети, что позволяет умень­шить сетевой трафик;

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

Эффективную разработку приложений MIDAS обеспечивают следующие основные компоненты:

• модули удаленных данных;

• компонент TClientDataSet набора данных клиента;

• компоненты связи TDCOMConnection, TSocketConnection, TWebConnection, TCorbaConnection;

• брокер бизнес-объектов SimpleObjectBroker.

Модули удаленных данных — это специальные модули данных, которые действуют как серверы автоматизации или как CORBA-серверы, предоставляя клиентам доступ к любым провайдерам, которые они содержат. Используются на сервере приложений.

Компоненгтнабора данных клиента TClientDataSet — это специ­ализированный набор данных, который использует MIDAS .DLL для управления.

Компоненты связи TDCOMConnection, TSocketConnection, TWebConnection, TCorbaConnection — это набор компонентов, которые определяют сервер приложений, тип взаимодействия между клиентом и сервером и формируют интерфейс, доступный для наборов данных клиента. Каждый из этих компонентов специ­ализируется на конкретном протоколе связи.

Брокер бизнес-объектов SimpleObjectBroker служит для распре­деления вычислительной нагрузки по нескольким серверам.

С помощью технологии MIDAS можно создавать системы, кото­рые могут обрабатывать запросы Интернет-приложений. MIDAS ра­ботает одинаково хорошо с технологиями CORBA, СОМ, OLEnterprise и MTS и упрощает интеграцию существующих систем.

 

Технологии ADO .NET, . NET FrameWork, CORBA

Технологии ADO .NET

Технология доступа к удаленным базам данных ADO .NET была разработана также для архитектуры клиент - сервер. Кроме двух уров­ней удаленных баз данных - клиентского и серверного - появля­ются дополнительные уровни — серверы бизнес-логики, реализу­ющие бизнес-логику приложений.

Технология ADO .NET устанавливает следующую схему рабо­ты клиента с сервером баз данных:

• установка соединения с сервером;

• получение необходимых данных;

• закрытие соединения;

• обработка данных;

• установка соединения для передачи измененных данных об­ратно на сервер.

Основу ADO .NET составляют два основных модуля:

 - Провайдер данных (Data Provider .NET FrameWork)

 - Резидентная реля­ционная база данных (DataSet).

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

а) Connection используется для установления соединения с источ­ником данных, а также для управления транзакциями.

б) Command позволяет манипулировать данными источника, а также выполнять хранимые процедуры. При этом могут ис­пользоваться параметры для передачи данных в обоих направ­лениях.

в) DataAdapter служит связующим звеном между резидентной БД DataSet и источником данных и использует обычно объект Command для выполнения команд SQL как при заполнении DataSet данными, так и при обратной передаче измененных клиентом данных к источнику. Для выполнения этих функций в нем имеют­ся четыре метода: SelectCommand, InsertCommand, UpdateCommand и DeleteCommand.

г) DataReader обеспечивает получение данных от источника только для считывания. Если приложение клиента не модифицирует данные и не требуется произвольная выборка данных, а достаточно их однократного просмотра, то использование DataReader вместо DataSet позволит сохранить ресурсы компьютера, а также повы­сить быстродействие приложения.

Резидентная реляционная база данных представляет собой по­лученную клиентом реляционную БД, которая сохраняется в его резидентной оперативной памяти.

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

Такая схема взаимодействия в некоторой степени походит на работу архитектуры файл -

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

Для обеспечения доступа к объектам через глобальную сеть Ин­тернет в составе ADO .NET и был предусмотрен модуль .NET FrameWork обеспечивающий взаимодействие между различными форматами представления данных, в том числе HTML и XML.

Из указанных характеристик видно, что технология ADO .NET обеспечивает:

• возможность взаимодействия между данными различных фор­матов, в том числе HTML и XML;

• значительное снижение затрат при работе с удаленными ба­зами данных через глобальную сеть Интернет.

 

Технологии .NET FrameWork

 

Технология .NET FrameWork, обес­печивает согласование объектно-ориентированной среды програм­мирования для выполнения кода программы как в рамках ЛВС предприятия, так и в среде Интернет.

Структура провайдера данных .NET Frame­work, включает в себя:

· среду выполнения (ASP.NET);

· библиотеку классов;

· библиотеки настраиваемых объектов;

· управ­ляемые и приложения, в том числе веб-приложения;

· неуправля­емые приложения.

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

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

Эти средства являются внутренними для управляемого кода в общеязыковой среде выполнения.

Управление памятью ЭВМ. Среда выполнения предназначена для повышения производительности процессов обработки информа­ции при работе с удаленными базами данных. Повышение произ­водительности осуществляется оптимизацией работы с памятью ЭВМ так называемым диспетчером памяти, который при необхо­димости увеличивает объем адресуемой памяти. В этом случае сре­да выполнения освобождает память за счет удаления ссылок на объекты, которые не используются программой.

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

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

Это позволяет любому компилятору создавать управляемый код, удовлетворяющий системе общих типов, а любая откомпилиро­ванная программа будет успешно выполняться в среде .NET Framework.

Код программы (приложения) может быть управляемым и не­управляемым. Примером неуправляемого приложения может слу­жить Internet Explorer, а управляемого — элементы ActiveX. Вза­имодействие управляемых и неуправляемых кодов позволяет раз­работчикам использовать необходимые компоненты системы СОМ и библиотеки DLL.

Управление системными службами. Среда выполнения размеща­ется на серверных частях удаленных баз данных, таких как Microsoft SQL Server или Internet Information Services (IIS), что обеспечи­вает возможность эффективного управления базами данных.

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

Библиотека классов является объектно-ориентированной.

Классы .NET Framework позволяют выполнять ряд следующих общих задач программирования: управление строками, сбор дан­ных, подключение к базам данных и доступ к файлам.

В дополнение к этим задачам библиотека классов включает в себя типы, позволяющие использовать .NET Framework для раз­работки текстовых приложений, графических пользовательских интерфейсов (GUI) Windows (Windows Forms), приложений ASP .NET, веб-служб XML и служб Windows.

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

Разработка управляемых и неуправляемых приложений. Среда выполнения .NET FrameWork позволяет эффективно разрабаты­вать клиентские и серверные приложения управления удаленны­ми базами данных.

Клиентские приложения по стилю ближе всего к обычным при­ложениям в программировании для Windows. Такие приложения открывают на рабочем столе окна или формы пользовательского интерфейса, например при работе с базами данных.

В число клиентских входят также стандартные приложения Microsoft Office (текстовые редакторы, электронные таблицы и др.).

Клиентскими приложениями являются элементы ActiveX и элементы управляемых Windows Forms, развертываемых через Интернет как веб-страницы. Такие приложения можно разрабатывать с помощью универсальных языков программирования, однако система .NET FrameWork объединяет возможности языковых средств в единую согласованную среду, существенно упрощающую разработку клиентских приложений.

Одним из достоинств системы .NET FrameWork является раз­работка серверных приложений для работы с базами данных, находящимися в глобальной сети Интернет.

Таким образом, завершая ознакомление с технологией .NET FrameWork, еще раз обратим внимание на то, что ее провайдер данных является промежуточным уровнем между клиентской и серверной частями систем управления удаленными базами данных.

В зависимости от типов серверов управления базами данных разработаны соответствующие версии .NET FrameWork.

 

Технологии CORBA

 

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

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

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

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

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

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

• Skeleton — основа;

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

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

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

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

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

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

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

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

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

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

                   схемы брокера объектных запросов;

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

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

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

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

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

    подпрограмм, выполняемых как на стороне клиента, так и на стороне сервера.

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

На практике схему реализации ORB в виде сервера применяют для размещения на нем нереляционных баз данных.

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

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

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

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

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

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. Интерфейс динамического вызова — DU (Dynamic Invocation Interface) — позволяет объекту создавать запрос в реальном времени. Структу­ра запроса, его параметры и атрибуты и даже сама ссылка на объект-адресат генерируются в Dil либо на основе запроса к объек­ту и анализа отклика.

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

 


Дата добавления: 2020-12-12; просмотров: 555; Мы поможем в написании вашей работы!

Поделиться с друзьями:




Мы поможем в написании ваших работ!