Технический обзор
ODBC-серверы и множественные соединения баз данных упрощают реализацию клиент-серверных приложений
Разработка с использованием технологии ODBC (интерфейс открытого взаимодействия с базами данных) упростила реализацию клиент-серверных приложений, поддержку сочетания разнородных источников SQL-данных и создание интерфейсов объектов данных.
Поддержка поставщиками СУБД ODBC API (интерфейс прикладного программирования) корпорации Microsoft, который вскоре будет приведен в соответствие со стандартом программирования SQL-92, позволила, работая под Windows, Macintosh и различными операционными системами Unix, использовать единую библиотеку функций для доступа к базам данных на SQL. Недавно выпущенные продукты, такие, как ODBC-серверы, множественные соединения баз данных для серверов Web и продукты, добавляющие ODBC-связи к страницам World Wide Web, продвигают технологию еще дальше.
Классическая инфраструктура ODBC включает диспетчер драйверов, загружаемые драйверы баз данных, инициализационные файлы и множество динамически подключаемых или разделяемых библиотек. В процессе инсталляции приложений, поддерживающих ODBC, устанавливаются разделяемые библиотеки и определяется файл INI или реестр для источников данных и драйверов.
Машина, сконфигурированная для выполнения клиент-серверных SQL-приложений, обычно включает клиентские библиотеки, сетевые библиотеки и стеки протоколов. Установка ODBC и всех клиент-серверных приложений для нескольких СУБД может породить "толстый" клиент, которому потребуется много памяти.
Для того чтобы упростить администрирование и сократить требования к ресурсам клиента, производители ПО создали ODBC-продукты для сервера, позволяющие приложениям работать с одним ODBC-драйвером и одним сетевым транспортом.
ODBC-серверы упрощают администрирование и снижают стоимость, если действуют на основе лицензионной платы за место. ODBC-серверы мультиплексируют соединения с SQL-серверами так, что отпадает необходимость покупать лицензии на потенциальных пользователей баз данных. Кроме того, ODBC-сервер управляет загрузкой, таким образом, на узел нужно приобрести необходимое число лицензий на SQL-серверы, а не лицензировать каждого потенциального пользователя.
Фирма OpenLink Software стала первой компанией, которая ввела ODBC-сервер с единым драйвером, а фирма Visigenic Software недавно начала поставки OpenChannel, подготовленного для Internet сервера, который работает с TCP/IP-клиентами, используя ODBC или Java Database Connetivity API.
ODBC в Web
Феномен Internet дошел и до ODBC-сообщества, поскольку многие разработчики обращаются к ODBC для доступа к данным Web.
Поставщики СУБД предлагают продукты, обеспечивающие доступ к своим базам данных на основе частного патентованного API. Корпорации Microsoft и Netscape Communications, фирма Sun Microsystems и многие независимые производители ПО также создали продукты доступа к данным Web, использующие ODBC.
Например, фирма Working Set расширила ODBC-сервер, обратив особое внимание на защищенный доступ к данным через TCP/IP-соединения и Internet. Ее продукт DataRamp использует алгоритмы общего ключа для шифрования трафика между сервером и клиентом DataRamp.
DataRamp дает пользователям возможность создавать файлы запросов и внедрять их в HTML-страницы. Программы просмотра, например Netscape Navigator, распознают файл запросов как тип данных Multipurpose Internet Mail Extention (многофункциональное расширение для почты Internet) и вызывают сервер DataRamp как приложение-помощник.
К другим продуктам, поддерживающим доступ ODBC к Web-приложениям, относятся WebDBC корпорации Nomad Development, обрабатывающий входящие формы и универсальные указатели ресурсов (URL) запросов для получения результирующих HTML- или HTX-файлов, и Cold Fusion корпорации Allaire, использующий Database Markup Language, расширяющий HTML.
ODBC 3.0, который Microsoft планирует выпустить к концу этого года, значительно более функционален, чем ODBC 2.х.
В версии 3.0 добавлены новые типы данных, новые скалярные функции, улучшенная поддержка многострочных пакетов, новый вывод информации о функциях баз данных и улучшенное управление параметрами.
Кроме того, в версии 3.0 Microsoft привела ODBC в соответствие с новым международным интерфейсом уровня вызовов SQL-92, добавив развиваемое управление ошибками, локаторы крупных символьных и двоичных объектов, атрибуты, дескрипторы и улучшенные привязки.
До версии 3.0 ODBC-разработчики контролировали поведение приложений, определяя опции соединения и установки. В версии 3.0 опции вытеснены атрибутами и предоставлены функции получения атрибутов для приложения, соединения с базами данных или индивидуального SQL-приложения.
Выполняя такие задачи, как специализированные запросы, SQL-приложения часто во время компиляции не знают, по каким данным или метаданным будет производиться запрос. Встроенные SQL-приложения используют SQL Descriptor Area для описания данных после выполнения запроса.
Версия 3.0 предоставляет ODBC-разработчикам дескрипторы SQL-92, что позволяет им во время выполнения описывать колонки и параметры, влияющие на работу SQL.
ActiveX и базы данных
На конец года запланирован выпуск интерфейса объектов данных ActiveX корпорации Microsoft - основанного на OLE (связывание и встраивание объектов) интерфейса прикладного программирования для доступа к реляционным и нереляционным данным.
Интерфейсы ActiveX (также известные как OLE DB) будут содержать в себе поставщик данных под кодовым названием Kagera, что позволит использовать существующие ODBC-драйверы.
Также Microsoft унифицирует RDO (Remote Data Object) и DAO (Data Access Object), два объектных уровня для работы с ODBC.
Разработчики на Visual Basic 4.0 могут использовать RDO для доступа к источникам данных ODBC, а разработчики на VB, Access и Visual C++ - к источникам данных ODBC и Index Sequential Access Method (метод доступа к индексированным последовательным данным), объектам и коллекциям DAO.
Кен Норт
Кен Норт, консультант и разработчик ПО - автор книги "Windows Multi-DBMS Programming" (John Wiley & Sons).
Требуется многое
Насущная потребность в ODBC и связь ODBC со стандартами породили разносторонний рынок, на котором работают примерно 80 поставщиков ODBC-драйверов