Автор: admin
Основные технологии доступа к данным и типовые элементы доступа
1. Структура организации доступа к данным в трехуровневой архитектуре.
С развитием информационных технологий, связанных в том числе с необходимостью взаимодействия предприятий через глобальную сеть Интернет, все большее развитие получила трехуровневая схема взаимодействия клиентской и серверной частей. Как показала практика, эта схема оказалась эффективной и при организации внутренних ЛВС предприятий, где в качестве клиента может использоваться обычный Web-браузер. В соответствии с данной схемой общая структура БД состоит из трех уровней:
1-й — клиенты («тонкие клиенты»);
2-й — сервер приложений;
3-й — сервер базы данных.
Первый и второй уровни являются прерогативой клиентской части приложения баз данных, а третий — серверной.
Приложение 1-го уровня должно обеспечить пользователю дружественный интерфейс (диалоговые формы) при работе с БД, включая: возможность обращения к базе данных с помощью запросов и получение результатов обращения к базе данных .
Приложение 2-го уровня должно содержать программу, обеспечивающую эффективное выполнение приложения 1-го уровня, включая:
• тексты программ SQL-запросов (транзакций);
• проверку синтаксиса условий выполнения запроса, введенного пользователем;
• программы обеспечения доступа к информации сервера баз данных.
Приложение 3-го уровня должно содержать все таблицы баз данных и обеспечивать эффективное управление работой удаленных пользователей с информацией]
В настоящее время первые две части приложения 2-го уровня разрабатывают с применением так называемых мониторов обработки транзакций ТР-мониторов.
Программы обеспечения доступа к информации сервера баз данных разрабатываются с применением различных технологий: 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 была разработана для архитектуры клиент—сервер. Однако возрастающая сложность систем обработки информации потребовала качественного изменения этой архитектуры. Кроме двух уровней удаленных баз данных — клиентского и серверного — появляются дополнительные уровни — серверы бизнес логики, реализующие бизнес-логику приложений.
Технология ADO .NET устанавливает следующую схему работы клиента с сервером баз данных:
- установка соединения с сервером;
- получение необходимых данных;
- закрытие соединения;
- обработка данных;
- установка соединения для передачи измененных данных обратно на сервер.
Основу ADO .NET составляют два основных модуля: Провайдер данных (Data Provider .NET FrameWork) и Резидентная реляционная база данных (DataSet).
Технологии CORBA
Технология удаленного доступа к базам данных CORBA (Common Object Regust Broker Architecture — общая архитектура объектных заявок) представляет собой промежуточное программное обеспечение, устанавливающее отношения клиент сервер между объектами в распределенной компьютерной среде.
Архитектура системы CORBA включает в себя следующие компоненты:
• ORB (Object Request Broker) — брокер объектных запросов (заявок), включающий в себя язык IDL;
• IDL (Interface Definition Language) — язык определения интерфейсов;
• РОА (Portable Object Adapter) — адаптер объектов;
• Stub — заглушка;
• Skeleton — основа;
• Smart Agent — «умный» агент.
Технологии MIDAS
Технология MIDAS (Multitier Distributed Applications Services) — набор сервисов для создания многозвенных распределенных приложений.
Многозвенное приложение представляет собой распределенные системы удаленного доступа к данным, которые состоят, как минимум, из трех логических уровней. Эти логические уровни могут находиться как на одном, так и на нескольких компьютерах.
Применение многозвенных приложений позволяет обеспечить следующие преимущества:
• формирование пакета бизнес логики в общедоступном среднем уровне, доступ на который могут получить одновременно сразу несколько клиентов, что позволит избежать дублирования бизнес – логики для каждого отдельного клиентского приложения;
• получение распределенной обработки информации, т. е. возможность оптимизации распределения нагрузки на отдельные компьютеры;
• увеличение устойчивости за счет возможности организации гибкой перестраиваемой системы защиты информации.
В самой простой форме (так называемой three-tiered model) многозвенное приложение включает в себя следующие уровни: клиентское приложение, сервер приложений, управление передачей данных и удаленный сервер базы данных.
Клиентское приложение обеспечивает интерфейс пользователя на пользовательском компьютере.
Сервер приложений находится в доступном для всех клиентов месте и обеспечивает общую передачу данных.
Управление передачей данных обеспечивает так называемый брокер данных.
Удаленный сервер базы данных обеспечивает систему управления базой данных.
Автор: admin
Архитектуры удаленных баз данных
1. Основные понятия и определения.
Системы управления удаленными (распределенными) базами данных — это СУБД (СУРБД), обеспечивающие возможность одновременного доступа к информации различным пользователям.
Рассмотрим термины, применяемые в системах управления распределенными базами данных.
Архитектура БД — организация взаимодействия аппаратных средств.
Виды архитектуры БД: клиент—сервер, двухуровневая и трехуровневая клиент-сервер, файл —сервер.
Архитектура ODBC (Open DataBase Connectivity) — открытый интерфейс доступа к базам данных, т. е. взаимодействие процессора (ядра) базы данных Jet с внешними источниками данных.
Модели данных — схемы, характеризующие базы данных с разных сторон с целью определить оптимальное построение информационной системы.
Ядро базы данных — внутренняя структура СУБД, обеспечивающая доступ ко всем компонентам базы данных. В новых версиях СУБД Access называется Microsoft Data Engine (MSDE); в ранних версиях ядро базы данных называлось машина базы данных Microsoft Jet.Ядро базы данных обеспечивает поддержку символов различных алфавитов, синтаксис языка SQL и другие средства обработки различных типов данных.
Пользователь БД — программа или человек, обращающийся к базе данных.
Запрос — процесс обращения пользователя к БД с целью ввести, получить или изменить информацию.
Транзакция — последовательность операций модификации данных в БД, переводящая ее из одного непротиворечивого состояния в другое непротиворечивое состояние.
Логическая структура БД — определение БД на физически независимом уровне, что ближе всего соответствует концептуальной ее модели.
Топология БД, или структура распределенной БД, — схема распределения физической организации базы данных в сети.
Локальная автономность — понятие, означающее, что информация локальной БД и связанные с ней определения данных принадлежат локальному владельцу и им управляются.
Удаленный запрос — запрос к базам данных, находящихся на ресурсах локальной сети предприятия или сети Интернет.
Возможность реализации удаленной транзакции — обработка одной транзакции, состоящей из множества запросов, на одном удаленном узле.
Поддержка распределенной транзакции — обработка транзакции, состоящей из нескольких запросов, выполняемых на нескольких узлах сети (удаленных или локальных), но каждый из которых обрабатывается только на одном узле.
Распределенный запрос — запрос, при обработке которого используются данные из БД, расположенные в разных узлах сети.
Системы распределенной обработки данных в основном связаны с первым поколением БД, которые строились на мультипрограммных операционных системах, хранились на устройствах внешней памяти центральной ЭВМ и использовали терминальный многопользовательский режим доступа. При этом пользовательские терминалы не имели собственных ресурсов, т. е. процессоров и памяти, которые могли бы использоваться для хранения и обработки данных. Первой полностью реляционной системой, работающей в многопользовательском режиме, была СУБД SYSTEM R фирмы IBM. Именно в ней были реализованы как язык манипулирования данными, так и основные принципы синхронизации, применяемые при распределенной обработке данных, которые до сих пор являются базисными практически во всех коммерческих СУБД.
2. Модели удаленных баз данных.
Вычислительная модель клиент-сервер исходно связана с появлением открытых систем в 1990-х гг. Термин клиент—сервер применялся к архитектуре программного обеспечения, состоящего из двух процессов обработки информации: клиентского и серверного. Клиентский процесс запрашивал некоторые услуги, а серверный — обеспечивал их выполнение. При этом предполагалось, что один серверный процесс может обслужить множество клиентских процессов. Учитывая, что аппаратная реализация этой модели управления базами данных связана с созданием локальных вычислительных сетей предприятия, такую организацию процесса обработки информации называют архитектурой клиент—сервер.
Основной принцип модели клиент—сервер применительно к технологии управления базами данных заключается в разделении функций стандартного интерактивного приложения на пять групп, имеющих различную природу:
- функции ввода и отображения данных (Presentation Logic);
- прикладные функции, определяющие основные алгоритмы решения задач приложения (Business Logic);
- функции обработки данных внутри приложения (DataBase Logic);
- функции управления информационными ресурсами (DataBase Manager System);
- служебные функции, играющие роль связок между функциями первых четырех групп.
Клиентская часть приложения включает в себя следующие части:
- презентационную логику;
- бизнес-логику, или логику собственно приложений;
- логику обработки данных;
- процессор управления данными.
Презентационная логика (Presentation Logic) как часть приложения определяется тем, что пользователь видит на своем экране, что приложение работает. Сюда относятся все интерфейсные экранные формы, которые пользователь видит или заполняет в ходе работы приложения, а также все то, что выводится пользователю на экран в качестве результатов решения некоторых про- межуточных задач либо как справочная информация. Следовательно, основными задачами презентационной логики являются:
- формирование экранных изображений;
- чтение и запись в экранные формы информации;
- управление экраном;
- обработка движений мыши и нажатие клавиш клавиатуры.
Бизнес-логика, или логика собственно приложений (Business Processing Logic), — это часть кода приложения, которая определяет собственно алгоритмы решения конкретных его задач. Обычно этот код записывается с использованием различных языков программирования, таких как С, C++, Visual Basic и др.
Логика обработки данных (Data Manipulation Logic) — это часть кода приложения, которая непосредственно связана с обработкой данных внутри него. Данными управляет собственно СУБД, а для обеспечения доступа к ним используется язык SQL.
Процессор управления данными (DataBase Manager System Processing) — это собственно СУБД, которая обеспечивает хранение и управление базами данных.
В централизованной архитектуре (Host-Based Processing) указанные части приложения располагаются в единой среде и комбинируются внутри одной исполняемой программы. В децентрализованной архитектуре эти части приложения могут быть по-разному распределены между серверным и клиентским процессами.
В зависимости от характера распределений задач можно выделить следующие их модели:
• распределенное представление (Distribution Presentation);
• удаленное представление (Remote Presentation);
• распределенная бизнес-логика (Remote Business Logic);
• удаленное управление данными (Remote Data Management);
• распределенное управление данными (Distributed Data Management).
Эта условная классификации показывает, как могут быть распределены отдельные задачи между серверным и клиентскими процессами. В данной классификации отсутствует реализация удаленной бизнес-логики, так как считается, что она не может быть удалена полностью, а может быть лишь распределена между разными процессами, которые могут взаимодействовать друг с другом.
Автор: admin
Введение
1.Предмет и задачи учебной дисциплины «Разработка и эксплуатация удаленных баз данных».
В настоящее время целью экономической деятельности любой фирмы является получение прибыли. Эффективность экономической деятельности зависит от того, как и за счет чего будет получена прибыль, т.е. от эффективности удовлетворения потребностей заказчиков товаров и услуг. Решение этой задачи несомненно связано с обязательным выполнением требований международных стандартов ISO1900:2000.
Достижение поставленной цели — задача многоплановая, она зависит от творческих способностей всех сотрудников фирмы. Решить эту задачу можно лишь в том случае, если каждый участник производственного процесса от руководителя до рядового исполнителя сможет принимать оптимальные решения на своем участке производства.
Принимать оптимальные решения с первого раза, а не исправлять последствия неправильных решений, — вот главная задача любого специалиста, для эффективного решения которой можно использовать компьютерные информационные системы, разрабатываемые на основе баз данных (БД).
Базы данных как одно из направлений теории информации представляют собой методы и средства разработки компьютерных информационных систем, основу которых составляют особым образом структурированные файлы, предоставляющие пользователю эффективные методы получения и анализа данных, необходимых для принятия оптимального решения.
Теория разработки баз данных — сравнительно молодая область науки, однако на сегодняшний день базы данных являются основой таких направлений в разработке автоматизированных систем обработки информации, как системы искусственного интеллекта, экспертные системы, системы автоматизированного конструкторского и технологического проектирования.
На сегодняшний день существуют следующие понятия баз данных: настольные, многопользовательские, удаленные и распределенные, которые можно подразделить на две группы: однопользовательские (настольные) и многопользовательские (удаленные).
Понятия многопользовательская база данных и удаленная база данных можно считать тождественными.
Понятие распределенная база данных характеризует структуру взаимосвязанных таблиц и их физическое размещение либо на дисковом пространстве одного компьютера, либо в ЛВС предприятия. Причем распределенная база данных может быть как однопользовательской, так и многопользовательской.
распределенная база данных (Distributed DataBase — DDB) — это база данных, содержимое которой хранится в нескольких отдельных подсистемах, как правило, физически разнесенных;
Таким образом, проектирование и эксплуатация удаленных баз данных как многопользовательских систем подразумевают и необходимость распределенной обработки информации при обращении пользователей к базам данных.
С точки зрения пользователей удаленная база данных выглядит как обычная настольная база данных, компоненты которой могут находиться на различных компьютерах (узлах) локальной сети предприятия. При этом DDB можно рассматривать как сетевую структуру, узлы которой представляют собой локальные базы данных.
Рассматривая проблему создания удаленных баз данных как создание информационной системы, необходимо:
• создать базу (базы) данных в виде комплекса физически разнесенных, но взаимосвязанных информационных структур;
• разработать системы управления доступом к .информации, содержащейся в физически разнесенных базах данных.
В настоящее время одним из направлений совершенствования информационных технологий является создание не только единого физического (компьютерного) пространства — локальных и глобальных вычислительных систем, но и единого информационного пространства, предназначенного для оптимизации процессов управления производством. (Под термином производство понимаем любую деятельность физических и юридических лиц, связанную с созданием (производством) товаров и услуг различного назначения.) Основным критерием оптимизации процессов управления является себестоимость продукции — затраты, связанные с производством товаров и услуг.
Таким образом, основной целью разработки и эксплуатации удаленных баз данных является создание условий для снижения затрат в процессах управления производством и бизнесом.
Идеология разработки автоматизированных информационных систем (АИС) всегда предполагала необходимость организации их и как многопользовательских. Однако первые созданные АИС не оправдали возлагавшихся на них надежд. Возникшие проблемы заключались в возможностях аппаратных и программных средств, степени подготовки специалистов и характере взаимодействия партнеров на рынке товаров и услуг.
В настоящее время удаленные базы данных составляют основу нового направления совершенствования как бизнес-процессов, так и процессов проектирования, изготовления, эксплуатации сложных наукоемких изделий: создание единого информационного пространства, сопровождающего весь жизненный цикл (ЖЦ) продукции. Это направление называется CALS-технологиями.
Сущность CALS-технологий сводится к созданию единого информационного пространства (ЕИП), обеспечивающего возможность получения достоверной информации, необходимой для принятия оптимальных решений в течение всего жизненного цикла изделия, начиная с его проектирования и заканчивая утилизацией после окончания сроков эксплуатации.
Аббревиатура CALS расшифровывается как Computer Aided Logistic Support — компьютерная поддержка поставок и логистики.