Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009 (960530), страница 56
Текст из файла (страница 56)
д.СтандартODMG-93Главной целью стандарта O D M G - 9 3 является обеспечение независимости (мобильности) прикладных систем от систем управления объектными базами данных ( С У О Б Д ) . При разработке стандарта ставилась задача увязкирешений с рекомендациями группы, занимающейся стандартизацией в области объектно-ориентированных языков программирования - O M G (ObjectManagement Group).Согласно ODMG-93, СУОБД, с одной стороны, рассматривается как СУБД,в которой данные имеют объектную модель, а с другой - как средство представления объектов БД в качестве объектов ряда языков программирования.С У О Б Д расширяют языки программирования, например, С++, средствамидолговременного хранения объектов, управления конкурентным доступом,восстановления данных, выполнения объектных запросов и т. д.В стандарте ODMG-93 дается определение следующих компонентов базданных:• объектной модели, которую должны поддерживать С У О Б Д ;Часть 2.
Проектирование и использование БД266• я з ы к а определения объектов ODL (Object Definition Language);• языка объектных запросов OQL (Object Query Language);• я з ы к а м а н и п у л и р о в а н и я объектами O M L ( O b j e c t M a n i p u l a t i o nLanguage), используемого в объектно-ориентированных языках программирования.Схема взаимосвязи основных элементов стандарта O D M G показаны нарис. 9.3.БиблиотекиБазы данныхИнструментальныекомпонентыПостоянное хранилище объектовРис.
9.3. Схема взаимосвязи основных элементов стандарта O D M GЗа основу языка ODL в стандарте ODMG-93 взят язык определения интерфейсов IDL (Interface Definition Language) архитектуры OMG. В IDLкаждый объект базы данных имеет строго определенный и единственныйтип. Поведение объекта определяется перечнем допустимых операций в соответствии с типом. Объектная модель позволяет описывать связи типа 1:1,1:М и М:М.Язык объектных запросов OQL представляет собой декларативный языкработы с объектными БД. Синтаксической основой языка является SQL2.Основное отличие OQL от языка SQL состоит в том, что запрос формулируется в терминах объектов и коллекций (а не таблиц), а результатом являютсяобъекты и коллекции (а не кортежи).9.
Дополнительные вопросы применения баз данных267Операции манипулирования данными, управления транзакциями, динамического вызова запросов на O Q L и другие действия выполняются с помощью библиотек классов и функций.Постоянное хранилище объектов представляет собой интегрированнуюсистему для согласованного хранения данных и программного кода. Логическая организация хранилища должна основываться на модели данных ODMG.Его физическая организация у различных С У О Б Д может различаться, но онадолжна обеспечивать эффективные структуры данных для хранения иерархии типов и объектов, являющихся экземплярами этих типов.Перечень инструментальных средств и библиотек в стандарте не определяется. Важным является объектно-ориентированный принцип их организации.
Так, инструментальные средства поддержки разработки пользовательских приложений и их графических интерфейсов программируются на одномиз OML и сохраняются как часть иерархии классов. Библиотеки функций(доступа, вычислений и т. д.) хранятся в иерархии типов и являются доступными из программного кода приложения.Стандарт O D M G - 9 3 используется при разработке С У О Б Д и в качествеканонической объектной модели при проектировании систем управлениянеоднородными мультибазами данных.
Примером использования стандартаявляется проект IRO-DB программы ESPRIT III.ТехнологияCORBAДля информационных систем с распределенной обработкой в качествестандарта группой O M G предложена технология CORBA (Common ObjectRequest Broker Architecture - архитектура брокера общих объектных запросов). Спецификации написаны на пассивном языке описания интерфейсов1DL (Interface Definition Language), определяющем функциональность компонентов - внешние интерфейсы с потенциальными клиентами. Написанные на этом языке компоненты должны быть доступны независимо от языков, инструментальных средств, операционных систем и сетевой инфраструктуры программных компонентов.Основу архитектуры CORBA составляет брокер объектных запросов ORB(Object Request Broker), управляющий взаимодействием клиентов и серверов враспределенной сетевой среде.
Брокер объектных запросов представляет собойобъектную шину, позволяющую объектам прозрачно генерировать запросы иполучать отклики от других локальных и удаленных объектов.Важнейшими свойствами CORBA ORB, определяющими ее достоинствадля архитектуры клиент-сервер, являются следующие:• возможность статически определять вызовы методов при компиляцииили находить их динамически в процессе выполнения;• возможность вызова методов серверного объекта с использованием произвольного языка высокого уровня. Поскольку CORBA отделяет интер-Часть 2.
Проектирование и использование БД268фейс, от его реализации и предоставляет независимые от языка типы данных, это дает возможность вызывать объекты из любого языка и для любой ОС;• самоописываемостпь системы заключается в предоставлении метаданныхна этапе выполнения для описания каждого известного серверного интерфейса;• прозрачность локальная и удаленная состоит в том, что ORB может выполняться в автономном режиме или взаимодействовать с другими ORBс помощью сервисов протокола П О Р (Internet Inter-ORB Protocol Интернет-протокола взаимодействия ORB);• встроенная безопасность и механизм транзакций основаны на включении в сообщения соответствующей контекстной информации;• возможность полиморфных сообщений основана на реализации вызовафункции целевого объекта;• возможность инкапсуляции существующих приложений, основанная на отделении определения объекта от его реализации в архитектуре системы.В общем, CORBA можно определить как промежуточное программное обеспечение, потенциально связанное с другими формами клиент-серверных видов программного обеспечения.
Программное обеспечение CORBA разработано для всех основных аппаратных и программных платформ. Поэтому клиентские приложения CORBA одной операционной системы легко взаимодействуют с сервером приложений в любой другой операционной системе.Версия технологии C O R B A Real-Time ориентирована на поддержку функционирования и повышение производительности распределенных систем вмасштабе реального времени. С ее помощью предполагается задавать продолжительность функционирования отдельных компонентов и приоритеты выполнения, планировать работу компонентов и т. д.Стандартыв продуктахведущихфирмРассмотрим, как действующие стандарты используются в программныхпродуктах ведущих фирм IBM,, Microsoft и Borland.Фирма IBM для обеспечения мобильности (переносимости) операционных систем разработала архитектуру SAA ('System Application Architecture,).Архитектура SAA предполагает наличие унифицированных средств разработки приложений, доступа к БД и телекоммуникационного доступа.
Крометого, у пользователей должна быть возможность использовать готовые приложения других организаций. Согласно архитектуре SAA, системные программные средства предоставляют три интерфейса:• доступа конечного пользователя;• прикладного программирования;• телекоммуникационный (связи с удаленными пользователями и объектами сети).9. Дополнительные вопросы применения баз данных269Интерфейс доступа конечного пользователя охватывает комплекс технических, организационных и программных решений, обеспечивающих простотуи унификацию взаимодействия конечного пользователя с различными моделями ЭВМ.Интерфейс прикладного программирования, кроме стандартных языков исредств программирования, содержит генератор приложений, языки командных процедур, языки баз данных и запросов (SQL и QMF) и средства обеспечения диалога.В качестве телекоммуникационного интерфейса предлагаются протоколысетевой архитектуры SNA (System Network Architecture - сетевая архитектура системы), средства выхода в сети, поддерживающие протокол Х.25, а также протоколы потоков данных для устройств типа IBM 3270.Фирма Microsoft на основе стандарта CAE разработала открытый интерфейс ODBC (Open DataBase Connectivity — совместимость открытых баз данных) доступа к базам данных из приложений.Стандарт СЛ£(Common Application Environment — общая прикладная среда) был разработан группой SAG и Х/Open с целью разрешить противоречиямножества схожих существующих стандартов прикладного программирования.
Этот стандарт опирается на стандарты ANSI, ISO и собственные стандарты групп. Основное его назначение - обеспечение взаимодействия прикладных программ в открытых системах.ODBC представляет собой интерфейс прикладного программирования ввиде библиотеки функций, вызываемых из различных программных сред ипозволяющих приложениям унифицированно обращаться на SQL к базамданных различных форматов.Ф у н к ц и и интерфейса O D B C включают следующие шесть основныхгрупп:• назначение идентификаторов окружения, соединения и SQL-операторов;•соединение;•выполнение SQL-операторов;• получение результатов;• управление транзакциями;• идентификация ошибок и смешанные функции.При выполнении приложений, использующих ODBC, предусматриваются следующие этапы:• инициализация (назначение идентификаторов окружения и соединений,соединение с сервером, назначение идентификаторов SQL-операторам);• выполнение SQL-операторов с анализом результатов;•завершение (освобождение идентификаторов SQL-операторов, разрывсоединения, освобождение идентификаторов соединений и окружения).Интерфейс ODBC поддерживает общий набор функций языка SQL длядоступа к базам данных и позволяет работать в так называемом прозрачном270Часть 2.