Фуфаев - Разработка и эксплуатация удалённых БД (1084483), страница 19
Текст из файла (страница 19)
Таблица 6.1 Преимущества и ограничения нровайдеров данных ХЕТ Ргаве%огк Примечания Провайдер данных Рекомендуется для приложений среднего уровня, работающих с сервером Мгспжой 8ЯЕ 8ещег 7.0 или более поздней версии .ХЕТ Ргаще%огк для 801.— сервера Рекоменлуется для приложений среднего уровня, работающих с сервером М!его»ой 8( !1 Берег 6.5 или более ранней версии и провайдером 01.Е РВ, поддерживающим интерфейсы; интерфейсы ОЕЕ 1!В версии 2.5 не требуются .Х ЕТ Ргаще%ог!е для 01.Е 1!В Рекомендуется для одноуровневых прило- жений, взаимодействующих с источника- ми данных ООВС .ХЕТ Ргаще%ог!е для 011ВС Рекомендуется лля одноуровневых приложений, взаимодействующих с источниками данных Огас!е.
Поддерживает клиентское программное обеспечение 8.1.7 или более поздней версии .ХЕТ ГгащеИог!е для Огас!е 6.8. Технологии СОйВА 94 Архитектура распределенной системы СОКВА. Технология удаленного доступа к базам данных СОКВА (Сопппоп ОЬ!ес! Кеяцзг Вго1сег Агсй!гес!цге — общая архитектура объектных заявок) представляет собой промежуточное программное обеспечение, устанавливающее отношения клиент — сервер между объектами в распределенной компьютерной среде.
На рис. 6.6 представлена типовая архитектура распределенной системы СОКВА, которая включает в себя следующие компоненты: ° ОКВ (ОЬ!ес! Кег!цез! Вго1сег) — брокер объектных запросов (заявок), включающий в себя язык ПИ.; ° 1Ш. (1птегуасе Оейп!Воп 1.апйцаае) — язык определения интерфейсов; РОА (РоггаЫе ОЬ3ес! Аг!аргег) — адаптер объектов; ° В!цЬ вЂ” заглушка; ° Яге!е!оп — основа; ° Вгпан Айепт — «умный» агент. Брокер объектных запросов. ОКВ устанавливает отношения клиент — сервер между объектами. В данной технологии ради клиента Рис.
б.б. Архитектура распределенной системы СОКВА и сервера не постоянно приписаны компонентам, а устанавливаются только на один запрос. Схему работы ОКВ можно представить следующим образом: ° клиент (объект-отправитель) вызывает операцию (метод) на адресате, идентифицируемом ссылкой, и передает запрос ОКВ; ° посредник по ссылке находит сервер, содержащий обьектадресат (в терминологии СОКВА этот сервер иногда называют оЬ)ее~ 1щр!ептепгайоп — реализация объекта), и активизирует его.
Затем доставляет запрос к объекту-адресату, передает адресату параметры, вызывает соответствующую операцию и возвращает результат клиенту после выполнения операции. В одном запросе могут быть указаны несколько адресатов, которые могут располагаться как на одном, так и на разных серверах.
Система СОКВА позволяет организовывать различные архитектурные схемы ОКВ, однако каждая из них должна реализовывать три категории операций: ° одинаковые для всех реализаций ОКВ; ° специфичные для конкретного объектного типа; ° специфичные для отдельных видов реализаций объектов. Возможны следующие схемы брокера объектных запросов: ° ОК.В, включаемый в клиентское и серверное приложения; ° ОКВ, выполненный в виде сервера; ° ОКВ, реализованный как часть операционной системы; ° ОКВ, основанный на библиотеках. ОЯВ, включаемый в клиентское и серверное приложения, формируется в виде набора подпрограмм, выполняемых как на стороне клиента, так и на стороне сервера. ОЯВ, выполненный в виде сервера„реализуется в виде отдельного приложения, что позволяет обеспечить централизованную обработку информации.
На рис. 6.7 показана схема такой реализации системы СОКВА. Сервер СОКВА Рис. 6.7. Схема СОКВА-сервер На практике схему реализации ОКВ в виде сервера прйменяют для размещения на нем нереляционных баз данных. Так, для примера на рис. 6.8 показана комбинированная схема организации удаленного доступа к данным в геоинформационной картографической системе. На сервере базы данных МБ БО(. хранится информация в виде реляционных таблиц — дискретных (параметрических) характеристик карт местности (поверхностей). Доступ к информации, хранящейся на этом сервере, осуществляется по технологии АРО.
На сервере базы данных СОКВА-сервер хранятся карты местности в виде отдельных графических файлов, доступ к которым осуществляется по технологии СОКВА. ОВВ, реализованный как часть операционной системы, используется для повышения надежности, защиты данных и достижения лучшей производительности. В этом случае возможно применение различных методов оптимизации обработки данных, например отмены кодирования и декодирования данных, если клиентская и серверная части находятся на одном компьютере. ОВВ, основанный на библиотеках, используется, если код объекта занимает небольшой объем н не требует никаких дополнительных средств.
Язык определения интерфейсов. 11Н. — это специальный язык для описания ОКВ и других компонентов системы СОКВА, который не содержит присваиваний, операторов !1 или тч)т!!е, функций и логических переходов. ! Р(. представляет собой процедуры описания, декларации, пассивные определения атрибутов, родительских классов, типов поддерживаемых событий, методов (включая входные и выходные данные), основные и составнЫе типы данных, исключительные ситуации для обработки ошибок. 96 СОКВА-сервер Сервер базы данных МЯ Б(Н.
2000 Технология доступа к базе данных АТзО .!ЧЕТ Технология доступа к базе данных СОКВА Рис. б.8. Комбинированная схема организации удаленного доступа к дан- ным с использованием СОКВА 1РЬ описывает интерфейсы аналогично классам в С-~+ или в бзпа11гайс, интерфейсы в зава, пакеты в Ас1а95. Каждый интерфейс определяет операции, которые могут быть вызваны клиентами. Синтаксически 1Р1.
является подмножеством С++ с дополнительными ключевыми словами. Существуют компиляторы 1РЬ в С++, Зава, Ада, БгпаИга!Е, СОВОЬ, ОЬЕ (у(зца! Ваз!с, РозуегВш1с(ег„ Ре1рЫ). Одна из задач 1РЬ вЂ” обеспечение взаимодействия через ОКВ всех приложений клиент — сервер. В связи с этим систему СОКВА называют стандартом для разработки промежуточного программного обеспечения, которое поддерживает работу с удаленными базами данных.
Адаптер объектов. РОА (в первых версиях СОКВА — ВОА— Вагйс ОЬ3есс Аг!ар!ег) — это первичный путь для обеспечения сервиса конкретной реализацией объекта. Предполагается, что имеется несколько адаптеров объектов, каждый из которых обеспечивает доступ к объектам определенного вида. Сервисы, которые обеспечиваются ОКВ посредством адаптеров объектов, часто включают в себя: генерацию и интерпретацию ссылок на объекты, вызов методов, активацию и деактивацию реализаций объектов, а также регистрацию конкретных реализаций и отображение объектных ссылок и реализаций.
Интерфейс должен быть либо определен в хранилище описаний, либо иметь соответствующее 1Р1.-описание, на основании которого компилятор создает исходный код для объекта-заглушки, находящегося у клиента, и для основы реализации объекта. Информация, которая находится в каждом из хранилищ, может быть произвольно изменена в любой момент времени с помощью методов, обеспечиваемых реализацией ОКВ. Однако неосторожное изменение, сделанное во время работы, может привести к нарушению целостности информации, находящейся в каждом из хранилищ, и сделать невозможным дальнейшее функционирование ОКВ. Заглушка.
ВшЬ связывает клиентские приложения с ОКВ. Написанные на языке ЬРЬ сервисы после компиляции на язык программирования клиентского приложения и компоновки с ним становятся абсолютно прозрачны для клиента и выполняют функции обращения к удаленному объекту — серверу. Заглушка осуществляет передачу запроса и обычно оптимизирована для выполнения конкретного ОКВ.
Если клиентам доступно более одного ОКВ, то у них может быть различное внутреннее представление заглушек. Основа. Вке1есоп аналогично ВшЬ связывает ОКВ и серверные приложения. Создается после компиляции языка !РЬ. Интерфейс динамического вызова — РП (Рупапйс 1пчосаг)оп 1пгегГасе)— позволяет объекту создавать запрос в реальном времени.
Структура запроса, его параметры и атрибуты и даже сама ссылка на объект-адресат генерируются в РП либо на основе запроса к объекту и анализа отклика. «Умный» агент» — зто динамический сервис, моделирующий сетевой каталог, в котором зарегистрированы известные ему серверы объектов как в локальной сети, так и в сети Интернет. Он отыскивает требуемый сетевой адрес сервера и передает ему запрос ОКВ. 6.9. Технологии М!ОАВ Технология МЕРАБ (Ми!гй)ег Р)ипЬигед Аррйсагюпз Яегу1сез)— набор сервисов для создания многозвенных распределенных приложений.