Технологии доступа к базам данных С середины 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 компоненты). Он-лайн обычно до централизованной базы. Преимущества: · простота массового внедрения · низкая стоимость сопровождения · централизованные базы данных · если через интернет, то доступность из любой точки мира · Он-лайн обработка на уровне единой БД Недостатки: · Возможность работы только в сеансы связи · Отсутствие доказательного материала на стороне пользователя · Наличие на сервере подчиненного организатору сети всей информации, с которой работает пользователь · Наличие узких мест при массовом обслуживании – сервера, каналы доступа и т.д. Чаще всего тонкий клиент используется там, где массовое обслуживание и в системах, где не требуется очень высокий уровень ответственности участников (возможные убытки участников не слишком велики). Там, где возможные убытки высоки, вводятся дополнительные средства, например, квитанции и т.д. Но чаще всего используется так называемое совмещение технологий толстого и тонкого клиента. В системе присутствуют и та, и другая технология. Основные технологические решения – центральный сервер, к которому пользователь имеет доступ как по тонкому клиенту, так и по толстому. Кроме того, такое совмещение технологий позволяет прикрыть некоторые недостатки систем. Например недостаток в виде отсутствия доказательного материала может быть прикрыт толстым клиентом. Когда нужно обработать информацию оффлайн, можно использовать толстый клиент. Также появилось новое качество – администратор может организовать работу в группе отдельных лиц.