Как уже отмечалось в других разделах описания нашей деятельности, любая программа предназначена для сбора и обработки информации, а также управления процессами на основе результатов такой обработки. Информация накапливается в базах данных, которые имеют различный формат и протоколы взаимодействия. Не маловажной задачей в работе программ является взаимодействие между собой с целью обмена информацией. Именно поэтому очень рано встал вопрос создания такого универсального механизма доступа к данным, который бы учитывал особенности любых баз данных. Одним из наиболее распространенных таких механизмов стала технология MDAC (Microsoft Data Access Components), разработанная фирмой Microsoft.
Как правило, работающие с данными программы используют схему клиент-серверного построения. Это позволяет переложить на плечи сервера основной объем функций по обработке данных и управлению их структурой. Клиентская программа выполняет лишь функцию интерфейса с пользователем и визуализацию результатов выполненной работы сервера. Наиболее простой пример доступа к базам данных, и управления ими, основан на использовании инструментов API (application programming interface), предоставленных разработчиком системы управления базами данных (СУБД). Но такой способ ограничивает изменение и развитие самой клиентской программы, поскольку она жестко связана с механизмом прямого доступа к данным. Для более гибкого решения этой проблемы используют универсальные инструменты доступа со стандартным набором функций, классов и сервисов для работы с различными системами СУБД. Каждый такой инструмент представляет собой драйвер или провайдер СУБД.
Перечислим некоторые из наиболее популярных механизмов в рамках технологии универсального доступа к данным (Universal Data Access, UDA):
ODBC (Open Database Connectivity) представляет собой пользовательский интерфейс с поддержкой стандартов ANSI и ISO, необходимых при доступе к различным СУБД. Для работы необходим установленный в системе администратор ODBC и драйвер ODBC используемой СУБД. Одновременно, могут использоваться и другие механизмы (OLE DB и ADO) в которых применяются функции API ODBC.
OLE DB и ADO являются компонентами универсального доступа к данным Microsoft (UDA). Эти механизмы предназначены для доступа к любым видам данных, в том числе нереляционным, таким как файловые системы, сообщения электронной почты и многомерные базы данных. ADO (Microsoft ActiveX Data Object) является прикладным программным интерфейсом доступа к данным, а OLE DB низкоуровневым интерфейсом, который использует ADO непосредственно в своей работе. Однако, механизм OLE DB может быть использован и самостоятельно. В своей работе он использует компонентную объектную модель (Component object model, COM) для доступа к данным, для чего необходим драйвер OLE в виде библиотеки от используемой СУБД. ADO включает в себя технологии DDL (Data Definition Language), JRO (Jet Replication Object) и ADO MD (ADO Multidimensional).
BDE (Borland Database Engine) один из альтернативных и наиболее распространенных, универсальных механизмов доступа к данным. Свою популярность он приобрел за счет широкого распространения средств разработки программ фирмы Borland (Delphi и C++Builder) и наследия технологии Paradox Engine. Его работа обеспечивается драйверами к нужной СУБД (SQL Links, ODBC Links), которые содержат функции API доступа к данным клиентской программы. Список поддерживаемых СУБД невелик, в том числе сервер InterBase. К остальным источникам доступ осуществляется через драйвер ODBC.
Практический образ применения всех перечисленных технологий можно представить на следующем примере. Предположим, что на предприятии используются несколько прикладных программ в различных направлениях деятельности. 1С Предприятие используется для хозяйственно-экономического учета. Есть программы производственного проектирования, имеющие собственные базы данных. В деловом документообороте предприятия используются документы Microsoft Office. В деятельности сотрудников присутсвует различная информация в электронном виде, имеющая совершенно различные форматы данных, но по характеру деятельности эта информация систематизирована.
Представьте сколько времени уходит на ручной обмен данными между всеми этими источниками. Это потерянное время предприятия, а значит потерянные деньги. Кроме этого есть и неочевидные достоинства, такие как автоматизация безопасного доступа к данным через внедрение ролей привилегий и прав. Используя автоматизированный обмен данными между всеми этими источниками данных можно достичь значительной экономии производственного времени и повышения производительности труда, а значит увеличить прибыльность предприятия, одновременно укрепляя производственную дисциплину и обеспечивая безопасный доступ к информации.