Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
Шрифт:
Некоторые уровни доступа, как, например провайдер Firebird .NET и драйверы JayBird Java, не требуют наличия клиентской библиотеки и напрямую реализуют сетевой протокол. Еще один режим существует во встраиваемом сервере - библиотека, которая объединяет клиентский и серверный экземпляры для использования одним пользователем.
Клиентская рабочая станция также может иметь копию текущего файла firebird.msg или его локализованную версию для того, чтобы отображались корректные сообщения сервера.
Обычно вы будете инсталлировать копию клиентской библиотеки на сервере
Что такое клиент Firebird?
Клиент Firebird - это приложение, обычно написанное на языке высокого уровня, которое предоставляет конечному пользователю доступ к средствам и инструментам системы управления базами данных Firebird и к данным, хранимым в базах данных. Интерактивная утилита isql и другие утилиты командной строки в вашем каталоге Firebird /bin являются примерами клиентских приложений.
Клиенты Firebird обычно располагаются на удаленных рабочих станциях и через сеть соединяются с сервером Firebird, выполняющимся на хост-машине. Firebird также поддерживает автономную модель, позволяющую клиентским приложениям, клиентской библиотеке Firebird и серверу Firebird выполняться на одном физическом устройстве.
Клиентские приложения могут и вовсе не взаимодействовать с конечными пользователями. Клиентами могут быть демоны, скрипты и сервисы.
Firebird был спроектирован для неоднородных сетей. Клиенты, выполняющиеся в одной операционной системе, могут иметь доступ к серверу на другой платформе операционной системы. Общий случай- наличие рабочих станций под Windows (98 или ME) и Linux, одновременно имеющих доступ к корпоративному серверу, выполняющемуся под Windows NT или Windows 2000, либо под какой-нибудь разновидностью UNIX или Linux.
В модели клиент-сервер приложения никогда не обращаются к базе данных напрямую. Любой процесс приложения общается с сервером через клиентскую библиотеку Firebird, копия которой должна быть инсталлирована на каждой клиентской рабочей станции. Клиентская библиотека Firebird предоставляет API, через который программы выполняют обращения к функциям для поиска, сохранения и манипулирования данными и метаданными. Обычно другие уровни также вовлечены в этот интерфейс между программой приложения и клиентом Firebird, который использует обычные или специфичные для языка приложения механизмы для заполнения базы данных или вызова функций API.
Для разработок Java постоянно поддерживаемые в Firebird драйверы включают JayBird JDBC/JCA-совместимый драйвер Java для гибкого, независимого от платформы интерфейса приложения между множеством открытых и коммерческих систем разработки Java и базами данных Firebird. Открытые и сторонние интерфейсные компоненты и драйверы доступны для
Клиентская библиотека Firebird
Клиентская библиотека Firebird поставляется во множестве вариантов, которые обрабатывают идентичные API-функции приложений для версии сервера, к которому они обращаются. В табл. 7.1 в конце этой главы представлены имена и размещение этих библиотек.
В большинстве случаев клиентская библиотека использует клиентские сетевые протоколы операционной системы для связи с одним или более серверами Firebird, реализуя специальный интерфейс для архитектуры клиент-сервер Firebird на уровне приложения поверх сетевого протокола.
Важным является соответствие версии клиентской библиотеки и версии сервера. Используйте клиент версии 1.0.x с сервером версии 1.0.x и клиент версии 1.5 с сервером версии 1.5.
Помните также, что клиент версии 1.5 может быть инсталлирован в тот же каталог, что и клиент 1.0, а может быть поставлен в отдельный каталог. При переустановке новой версии изучите файл README и документацию по инсталляции (размещается в корневом каталоге инсталляции Firebird и в подкаталоге /doc на сервере), чтобы выяснить, какая информация данной книги устарела.
Все клиентские приложения и промежуточное программное обеспечение должны использовать API для доступа к базам данных Firebird. API Firebird имеет обратную совместимость с API InterBase. Документ "InterBase API Guide" (Руководство no API InterBase), доступный в Borland, содержит полное описание API для разработки высокопроизводительных приложений. Более поздние возможности документированы в официальных замечаниях по релизу Firebird и в ограниченном объеме в заголовочных файлах, поставляемых с Firebird [11] .
11
Список ссылок на документальные источники см. в приложении 12.
Разработка приложений
Когда вы создали и заполнили данными базу данных, ее содержимое может быть доступно через клиентское приложение. Некоторые клиентские приложения - такие как инструмент Firebird isql и ряд прекрасных коммерческих и открытых инструментов администратора базы данных - предоставляют возможности интерактивной выборки данных и создания метаданных.
Любое приложение, разработанное в качестве интерфейса пользователя к одной или более базам данных Firebird, будет использовать язык запросов SQL для определения сохраняемых наборов данных и для передачи серверу операторов SQL, запрашивающих операции с данными и метаданными.