Технологии 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 Framework, включает в себя:
· среду выполнения (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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!