Технологии доступа к базам данных С середины 1980

advertisement
Технологии доступа к базам данных
С середины 1980-х годов программисты пытаются найти путь к
независимости от конкретной базы данных. Проблема состоит в том, что
данные могут поступать из самых разных источников, каждый из которых
обладает своей спецификой. Однако разработка приложений существенно
упростилась бы, если бы удалось создать унифицированный механизм
взаимодействия с самыми разными источниками данных. За истекшее
время различными компаниями было предложено множество решений в
этой области. Наиболее значительными являются Microsoft ODBC (Open
Database Connectivity) и Borland IDAPI (Integrated Database Application
Programming Interface). Технология Borland IDAPI больше известна под
именем BDE (Borland Database Engine).
В середине 1990-х годов, с развитием и распространением технологии
COM (Component Object Model), компания Microsoft объявила о
постепенном переходе от ODBC к использованию новой технологии OLE
DB. Однако OLE DB, по мнению самой компании Microsoft, является
интерфейсом системного уровня, этот интерфейс должен использоваться
системными программистами. Технология OLE DB является тяжеловесной,
сложной и очень чувствительной к ошибкам. Она требует от программиста
слишком многого. Работать с OLE DB слишком сложно. Чтобы облегчить
работу с OLE DB, был создан дополнительный прикладной уровень,
который получил название ADO (ActiveX Data Objects). Работать с ADO
существенно проще, чем с OLE DB. Технология ADO предназначена для
прикладных программистов.
Универсальные методы не лишены недостатков (снижение
производительности, поставка соответствующих драйверов и их настройка
и т. п.), но все это не идет в сравнение с их основным достоинством,
универсальностью. Нельзя забывать и о том, что они значительно
увеличивают производительность труда программиста, так как отпадает
необходимость в изучении специфических интерфейсов и специфических
средств разработки.
Среди универсальных методов доступа к данным наиболее
распространены в настоящее время:
ODBC - Open Database Connectivity.
OLE DB - Object Linking and Embedding Database.
ADO - ActiveX Data Objects.
BDE - Borland Database Engine.
ADO.NET - ActiveX Data Objects технологии NET.
ODBC (Microsoft) - механизм взаимодействие с реляционными базами
данных. Для обеспечения доступа к БД необходимы клиентская часть
СУБД, ODBC-драйвер для доступа к этой СУБД (или только драйвер для
некоторых СУБД) и соответствующая настройка ODBC на компьютере
(обычно имя драйвера, пользователя, имя базы, пароль доступа и указание
некоторых параметров драйвера). Драйвер, при выполнении приложения,
загружается в адресное пространство приложения и используется для
доступа к БД. Для каждой СУБД используется собственный ODBC-драйвер.
ODBC API стандартизован. В визуальных средах разработки теперь
достаточно помещения на форму соответствующего компонента, указания
источника данных ODBS, имени таблицы и связь с базой данных
установлена или через клиентскую часть СУБД или через соответствующий
драйвер.
OLE DB (Microsoft) - механизм работы с самыми разнообразными
источниками данных (в отличии от ODBC - где только работа с
реалиционными БД) на базе COM-интерфейса. OLE DB определяет набор
COM-интерфейсов (Component Object Model), включающих различные
сервисы однотипного доступа к различным данным (в том числе и к
нереляционным БД, например, к папкм систем электронной почты или
просто файлам), обеспечивая при этом поддержку работы с наборами
данных и иерархическими наборами записей, подключенными непостоянно
к сети. Для доступа к БД требуется установка OLE DB провайдера для
использованной СУБД (DLL СУБД загружается при выполнении
приложения в его адресное пространство). Кроме того, фирмой разработан
специальный провайдер (Microsoft OLE DB Provider for ODBC Drivers),
который может работать не через API клиентской части СУБД, а через
интерфейс ODBC API.
ADO (Microsoft) - своеобразная надстройка над OLE DB (использует
библиотеки OLE DB) - дополнительный набор библиотек, содержащих
COM-объекты, реализующие интерфейс доступа к данным. Этот набор
библиотек первоначально включал две объектные технологии Microsoft:
Data Access Objects (DAO) и Remote Data Objects (RDO) - два различных
механизма доступа к локальным и удаленным базам данных
соответственно.
Как ответ на потребность создания единой технологии, обеспечения
единого подхода при работе с БД и единого интерфейса для доступа к
локальным и удаленными данным, появилась технология ADO. ADO
является более дружественной оболочкой базовой технологии OLE DB и
позволяет работать с любыми базами данных.
BDE (Borland) - универсальный механизм доступа к данным,
базирующийся на двух группах библиотек-драйверов (SQL Links - для
серверных СУБД и ODBS Links - для серверных и автономных СУБД). Эти
библиотеки позволили применять стандартный набор функций для доступа
к данным dBase, Access, FoxPro, ODBC-источников, а также большинства
серверных СУБД. BDE поддержан на уровне компонент в визуальных
средах разработки фирмы Borland. Реализация механизма позволяет
функциям приложения обращаться к функциям клиентского API или ODBC
API, а также непосредственно манипулировать файлами данных некоторых
СУБД. Для доступа к базе данных с помощью BDE на компьютере должны
быть установлены библиотеки BDE общего назначения (обычно
устанавливаются вместе со средой разработки и затем включаются в .exe
файл), а также BDE-драйвер для данной СУБД.
ADO.NET (Microsoft) - технология работы с базами данных в threetier(многоярусной архитектуре), когда соединение с базой данных
устанавливается лишь на период выполнения операций с БД (как правило
кратковременных). Ее появление связано с необходимостью разрешения
противоречия между ростом числа обращений к БД (особенно в БД
интернет-серверов) и невозможностью базы данных поддерживать
неограниченное число активных соединений. ADO.NET призвана решить
эти и другие проблемы и вместе с тем сохранить удобство и простоту
программирования. ADO.NET, в ее современном виде - иерархический
набор объектов, построенный в соответствии с новой идеологией базовых
библиотек классов и смены протоколов COM на .NET.
Следует отметить, что ADO по своим возможностям и идеологии в
большей степени напоминает BDE. Как BDE, так и ADO поддерживают
навигацию, манипулирование наборами данных, обработку транзакций,
кэшируемые обновления (в ADO они называются batch updates (пакетные
обновления)). Иными словами,концептуально и идеологически ADO и BDE
являются похожими технологиями.
Тонкий и толстый клиент
технология толстого клиента – на стороне пользователя есть хранимая
информация, наличия специализированного ПО на стороне пользователя,
что в комплексе с хранимыми данными позволяет работать офф-лайн,
обмен между клиентом и сервером обычно – файловая.
Исторически была первой.
Положительные характеристики:
возможность автономной подготовки документов
небольшой трафик обмена
не столь требовательный к среде передачи данных
независимые архивы документов – важна для обеспечения юр.
Значимости, и накопления доказательного материала
развитые аналитические функции – есть данные и ПО на стороне
пользователя, по этому что и есть чем анализировать
наличие на пользовательской стороне локальных справочников –
сильно развитый, контекстно-зависимый help
гибкая интеграция с внешними системами
самодостаточность ПО
лёгкость установки и обучения
возможность использования стандартных коммуникационных решений,
притом вариативность решений достаточно высока
распределённая обработка документов снижает пиковые нагрузки при
подготовки документа
Недостатки:
·
сложность удалённого сопровождения (обновление,
синхронизация)
·
не подконтрольность организатору сети пользовательского ПО
·
сложность синхронизации данных – стороны не во время сеанса
связи не знают, что происходит с документом на другой стороне
·
работа офф-лайн
·
возможные перегрузки серверов в периоды перед окончанием
срока приёма документов
Примеры:
·
Клиент-Банк – банковская деятельность
·
Налоговая инспекция
технология тонкого клиента – отсутствие хранимой информации на
стороне пользователя, отсутствие предустановленного,
специализированного ПО. По этому тонкий клиент может работать только
он-лайн.
Используется только общесистемное ПО (ос Windows, IE, JAVA и
ActivX компоненты). Он-лайн обычно до централизованной базы.
Преимущества:
·
простота массового внедрения
·
низкая стоимость сопровождения
·
централизованные базы данных
·
если через интернет, то доступность из любой точки мира
·
Он-лайн обработка на уровне единой БД
Недостатки:
·
Возможность работы только в сеансы связи
·
Отсутствие доказательного материала на стороне пользователя
·
Наличие на сервере подчиненного организатору сети всей
информации, с которой работает пользователь
·
Наличие узких мест при массовом обслуживании – сервера,
каналы доступа и т.д.
Чаще всего тонкий клиент используется там, где массовое
обслуживание и в системах, где не требуется очень высокий уровень
ответственности участников (возможные убытки участников не слишком
велики). Там, где возможные убытки высоки, вводятся дополнительные
средства, например, квитанции и т.д. Но чаще всего используется так
называемое совмещение технологий толстого и тонкого клиента. В системе
присутствуют и та, и другая технология. Основные технологические
решения – центральный сервер, к которому пользователь имеет доступ как
по тонкому клиенту, так и по толстому. Кроме того, такое совмещение
технологий позволяет прикрыть некоторые недостатки систем. Например
недостаток в виде отсутствия доказательного материала может быть
прикрыт толстым клиентом. Когда нужно обработать информацию оффлайн, можно использовать толстый клиент. Также появилось новое качество
– администратор может организовать работу в группе отдельных лиц.
Download