Ядро API Firebird
Ядро API Firebird
Программирование с использованием API необходимо при написании драйверов для создания сценариев в таких языках, как PHP и Python, и при разработке объектно- ориентированных классов доступа к данным для объектно-ориентированных языков типа Java, C++ и Object Pascal. Приложения также могут быть написаны с прямыми вызовами функций API без посредничества драйверов. Эти приложения "прямого API" могут быть мощными, гибкими, быстро-выполняемыми, небольшого размера и с прекрасным управлением распределением памяти.
Функциональные категории ядра API
Функции API (все их имена начинаются с isc) делятся на восемь категорий.
* Соединение с базой данных и отсоединение от базы данных - например,
isc_attach_database().
* Запуск, подготовка, подтверждение и откат транзакций - например,
isc_start_transaction().
* Вызовы выполнения операторов - например, isc_dsql_describe().
* Вызовы BLOB - например, isc_biob_info().
* Вызовы для массивов - например, isc_array_get_slice().
* Безопасность базы данных - например, isc_attach_database().
* Информационные вызовы - например, isc_database_info().
* Преобразования даты и целых - например, isc encode date().
Более подробную информацию по программированию прямого API см. в "API Guide" документации по InterBase 6, опубликованной фирмой Borland.
Интерфейсы приложений при использовании API
Приложения, которые используют общие интерфейсы типа ODBC или JDBC, основаны на операторах DSQL, располагающихся ниже пользовательских интерфейсов, таких как построители запросов и др.
В связи с увеличением числа инструментов быстрой разработки приложений (Rapid Application Development, RAD) за последнее десятилетие инкапсуляция функций API в "обертку" классов и компонентов разработчикам под Firebird предоставлены разнообразные привлекательные средства создания приложений.
Объектно-ориентированные классы
Объектно-ориентированные классы и компоненты доступа к данным инкапсулируют вызовы функций и структуры данных API. Все они имеют свойства и методы, которые анализируют и выполняют синтаксический разбор запрашиваемых операторов, а также управляют возвращаемыми результатами. Богатые классы включают методы и свойства, которые поддерживают специальные возможности Firebird, такие как распределенные транзакции, обработка массивов, параметризованные операторы. Большинство наборов компонентов реализует, по меньшей мере, один класс компонента- контейнера для буферизации одной или более строк, возвращаемых клиенту в виде результирующего набора. Некоторые реализуют продвинутые техники, такие как прокручивание курсоров, "живые данные", обратные вызовы и управление транзакциями.
Драйвер JayBird Туре 4 ("родной") JDBC поставляет интерфейс, предназначенный для независимой от платформы разработки на Java с использованием Firebird. Некоторые наборы компонентов устанавливаются в качестве интерфейса разработчиками, использующими Delphi, Kylix и C++ Builder для написания клиентов баз данных Firebird. Двумя лучшими наборами компонентов являются IB Objects и FIBPlus. Доступны некоторые другие наборы компонентов, осуществляющие минимальную поддержку возможностей Firebird. Более подробную информацию см. в приложении 3.