Э.В. Фуфаев Разработка и эксплуатация удаленных баз данных - стр. 80 – 100
Основные технологии доступа к данным и типовые элементы доступа
Э.В. Фуфаев Разработка и эксплуатация удаленных баз данных - стр. 80 – 100
1. Структура организации доступа к данным в трехуровневой архитектуре.
С развитием информационных технологий, связанных в том числе с необходимостью взаимодействия предприятий через глобальную сеть Интернет, все большее развитие получила трехуровневая схема взаимодействия клиентской и серверной частей (Рис 1). Как показала практика, эта схема оказалась эффективной и при организации внутренних ЛВС предприятий, где в качестве клиента может использоваться обычный Web-браузер. В соответствии с данной схемой общая структура БД состоит из трех уровней:
1-й — клиенты («тонкие клиенты»);
2-й — сервер приложений;
3-й — сервер базы данных.
Рисунок 1 – Монитор обработки транзакций
Первый и второй уровни являются прерогативой клиентской части приложения баз данных, а третий — серверной.
Приложение 1-го уровня должно обеспечить пользователю дружественный интерфейс (диалоговые формы) при работе с БД, включая: возможность обращения к базе данных с помощью запросов и получение результатов обращения к базе данных .
Приложение 2-го уровня должно содержать программу, обеспечивающую эффективное выполнение приложения 1-го уровня, включая:
• тексты программ SQL-запросов (транзакций);
• проверку синтаксиса условий выполнения запроса, введенного пользователем;
• программы обеспечения доступа к информации сервера баз данных.
Приложение 3-го уровня должно содержать все таблицы баз данных и обеспечивать эффективное управление работой удаленных пользователей с информацией]
В настоящее время первые две части приложения 2-го уровня разрабатывают с применением так называемых мониторов обработки транзакций ТР-мониторов Рис. 1).
Программы обеспечения доступа к информации сервера баз данных разрабатываются с применением различных технологий: ODBC; COM; ADO.NET; CORBA; MIDAS; .NET FrameWork.
Все эти технологии основаны на единых принципах — объектных моделях доступа к удаленным базам данных, и разрабатываются соответственно на методах объектно-ориентированного программирования.
2. Объектные модели доступа к удаленным базам данных
Рассмотрим применительно к СУБД следующие понятия объектно-ориентированного программирования: объект, класс, свойство, событие, объектная модель.
Объект (object) — это типовой программный элемент, используемый любыми частями целостной СУБД, включая аппаратные и программные средства. Объекты имеют дескрипторы (description), к которым в ходе выполнения программы возможно обращение, как к именам, указателям и меткам. Дескрипторы дают информацию о типе объекта и описание характеристик, присущих конкретному объекту. К объектам СУБД относятся таблицы, запросы, формы, отчеты, макросы, модули. Объектами являются также элементы управления, помещаемые в формы, и отчеты.
Класс (class) представляет собой описание совокупности однотипных объектов.
Свойство (property) представляет собой описание характеристики либо отдельного объекта, либо класса объектов.
Событие (event) можно представить как некоторую реакцию объекта на определенные действия пользователя или программы в процессе работы с базой данных.
Объектная модель (object model), или объектная архитектура \ (object architecture), — это совокупность взаимосвязанных объектов, описывающих конкретную программную систему. В таких системах все процессы, связанные с обработкой и управлением информацией, представляются как операции над объектами.
Проблемы оптимизации управления удаленными объектами баз данных связаны с соответствующими алгоритмами (технологиями) доступа к информации.
Как уже говорилось, ядром практически всех реляционных СУБД является язык SQL.
Появление трехуровневых архитектур управления базами данных привело к созданию технологий разработки приложений промежуточного 2-го уровня с применением универсальных языков программирования. В этом случае разработчики вынуждены интегрировать SQL в соответствующие СУБД.
Кроме того, развитие и совершенствование информационных технологий привело к появлению нового направления — объектно-ориентированного проектирования баз данных. Концептуально стратегия объектно-ориентированного проектирования СУБД с применением технологий реляционных баз данных может быть сведена к следующим положениям:
• введение средств работы с базой данных в язык программирования;
• предоставление расширяемых объектно-ориентированных библиотек;
• дополнение языка SQL объектно-ориентированными функциями;
• разработка новых языков и моделей баз данных.
Рассмотрим эти положения.
Введение средств работы с базой данных в существующий объектно-ориентированный язык программирования.При таком подходе традиционные функции базы данных встраиваются в существующие объектно-ориентированные языки программирования, например Smalltalk, С++, Java. Подобный подход используется в языке GemStone, в котором дополняются возможности именно этих трех языков.
Предоставление расширяемых объектно-ориентированных библиотек.При этом подходе также предусматривается введение традиционных функций базы данных в существующий объектно-ориентированный язык программирования. В данном случае вместо расширения функций самого языка используются дополнительные библиотеки классов, поддерживающие объектные типы данных, транзакции, параллельную обработку, защиту данных и т.д. Этот подход используется в продуктах Ontos, Versant, ObjectStore.
Дополнение языка SQL объектно-ориентированными функциями.Благодаря широкому распространению языка SQL некоторые компании-разработчики пытаются расширить его в целях поддержания объектно-ориентированных конструкций. Этот подход используется компаниями-разработчиками реляционных и объектно-ориентированных СУБД. Поддержка подобных объектно-ориентированных инструментов уже предусматривается в очередной версии стандарта SQL—SQL3.
Разработка новых языков и моделей баз данных.Это наиболее радикальный подход, требующий пересмотра концепций реляционного подхода, с полной ориентацией на объектно-ориентированные модели данных. Необходимость такого подхода связана с специфическими (не реляционными) базами данных, создаваемыми, например, по результатам автоматизированного конструкторского и технологического проектирования с применением систем CAD/CAM.
3. Базовая технология СОМ: понятие и создание объекта, интерфейсы объекта, библиотека классов СОМ, фабрика класса.
Технология доступа к удаленным данным Component Object Model (COM) — компонентная модель объектов, разработанная фирмойMicrosoft как средство взаимодействия приложений (в том числе составных частей операционной системы Windows), функционирующих на одном компьютере.
В дальнейшем технология СОМ усовершенствовалась для управления объектами базы данных, расположенных в пределах локальной вычислительной сети.
На технологии СОМ построены такие методы управления удаленными объектами, как OLE, Автоматизация, ActiveX.
• Метод OLE (Object Linking and Embedding) — связывание и объединение объектов — протокол, обеспечивающий обмен данными между приложениями. С помощью OLE пользователи могут связывать или внедрять объекты различных приложений (в том числе и баз данных) в файлы других приложений. (Одним из типов полей в реляционных базах данных является OLE.) Каждый объект OLEхарактеризуется двумя компонентами: собственно информацией, содержащейся в исходном файле, и адресом нахождения файла на дисковом пространстве компьютера или адресом файла в локальной вычислительной сети.
Развитием технологии OLE является технология OLE DB — программный интерфейс, удовлетворяющий структуре СОМ и предоставляющий унифицированный способ доступа к различным файлам, в общем случае не являющимся базами данных. При этом объекты управления данными ADO (ActiveX Data Objects) являются промежуточным звеном между серверной и клиентской частями баз данных.
• Метод Автоматизация, называемый иногда автоматизацией OLE, обеспечивает взаимодействие клиентских и серверных приложений программным способом, например с применением языка VBA.
• Метод ActiveX является 32-разрядной версией элементов управления OLE.
Таким образом, технология СОМ представляет собой различные методы управления удаленными объектами баз данных, построенных в архитектуре типа клиент—сервер, в том числе предназначенных и для работы в ЛВС.
Библиотека классов.Библиотека классов представляет собой коллекцию многократно используемых типов, которые надежно интегрируются с общеязыковой средой выполнения.
Библиотека классов является объектно-ориентированной.
Классы СОМ позволяют выполнять ряд следующих общих задач программирования: управление строками, сбор данных, подключение к базам данных и доступ к файлам.
В дополнение к этим задачам библиотека классов включает себя типы, позволяющие использовать СОМ для разработки текстовых приложений, графических пользовательских интерфейсов (GUI) Windows (Windows Forms), веб — служб и служб Windows.
Например, классы Windows Forms представляют собой набор многократно используемых типов, существенно упрощающих разработку графических интерфейсов пользователя Windows.
Помимо использования коллекции типов можно создавать свои коллекции, применяя инструмент СОМ, называемый фабрикой классов.
4. Основные понятия и место применения технологий ADO, MIDAS, MTS, CORBA
Технологии ADO .NET
Технология доступа к удаленным базам данных ADO .NET была разработана для архитектуры клиент—сервер. Однако возрастающая сложность систем обработки информации потребовала качественного изменения этой архитектуры. Кроме двух уровней удаленных баз данных — клиентского и серверного — появляются дополнительные уровни — серверы бизнес — логики, реализующие бизнес-логику приложений (рисунок 2).
Рисунок 2 – Структура технологии ADO.NET
Технология ADO .NET устанавливает следующую схему работы клиента с сервером баз данных:
- установка соединения с сервером;
- получение необходимых данных;
- закрытие соединения;
- обработка данных;
- установка соединения для передачи измененных данных обратно на сервер.
Основу ADO .NET составляют два основных модуля: Провайдер данных (Data Provider .NET FrameWork) и Резидентная реляционная база данных (DataSet).
Технологии CORBA
Технология удаленного доступа к базам данных CORBA (Common Object Regust Broker Architecture — общая архитектура объектных заявок) представляет собой промежуточное программное обеспечение, устанавливающее отношения клиент — сервер между объектами в распределенной компьютерной среде.
Архитектура системы CORBA (рисунок 3) включает в себя следующие компоненты:
• ORB (Object Request Broker) — брокер объектных запросов (заявок), включающий в себя язык IDL;
• IDL (Interface Definition Language) — язык определения интерфейсов;
• РОА (Portable Object Adapter) — адаптер объектов;
• Stub — заглушка;
• Skeleton — основа;
• Smart Agent — «умный» агент.
Рисунок 3 - Архитектура системы CORBA
Технологии MIDAS
Технология MIDAS (Multitier Distributed Applications Services) — набор сервисов для создания многозвенных распределенных приложений.
Многозвенное приложение представляет собой распределенные системы удаленного доступа к данным, которые состоят, как минимум, из трех логических уровней. Эти логические уровни могут находиться как на одном, так и на нескольких компьютерах.
Применение многозвенных приложений позволяет обеспечить следующие преимущества:
• формирование пакета бизнес — логики в общедоступном среднем уровне, доступ на который могут получить одновременно сразу несколько клиентов, что позволит избежать дублирования бизнес – логики для каждого отдельного клиентского приложения;
• получение распределенной обработки информации, т. е. возможность оптимизации распределения нагрузки на отдельные компьютеры;
• увеличение устойчивости за счет возможности организации гибкой перестраиваемой системы защиты информации.
В самой простой форме (так называемой three-tiered model) многозвенное приложение включает в себя следующие уровни: клиентское приложение, сервер приложений, управление передачей данных и удаленный сервер базы данных.
Клиентское приложение обеспечивает интерфейс пользователя на пользовательском компьютере.
Сервер приложений находится в доступном для всех клиентов месте и обеспечивает общую передачу данных.
Управление передачей данных обеспечивает так называемый брокер данных.
Удаленный сервер базы данных обеспечивает систему управления базой данных.
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|