4PC.INFO - все для вашего компьютера и о нем
Rambler's Top100
 
 Hardware
 Драйвера
 Производители Hardware
 Объявления
 Глоссарий
 Владельцам сайтов
 Ссылки

Rambler's Top100
liveinternet.ru: показано число посетителей за сегодня

Достучаться до базы

Software / Программирование
17 октября 2005

В двух предыдущих статьях (Часть 1, Часть 2) мы останавливались на использовании для работы с персональной базой данных внедренного сервера Firebird и на средствах его администрирования. Сегодня, заканчивая так сказать, руководство к старту, остановимся на средствах доступа к базе из нашего приложения.

В начале вкратце остановлюсь на существующих компонентах и драйверах для работы с БД, а позже вкратце рассмотрю средство доступа, которое считаю оптимальным. Прошу заметить, что это мое мнение и я его никоим образом не навязываю.


Перво-наперво мы сталкиваемся с dbExpress и IBX, которые входят в поставку Delphi, а также с драйверами для любимого Майкрософтом .NET, которые идут в поставке Delphi 2005.
Также, возможен доступ с помощью БДЕ, но сама Borland отказалась от поддержки этой библиотеки и полагаться на нее при написании программ для работы с Interbase / Firebird, по меньшей мере неперспективно, к тому же БДЕ – это порядка 20 мегабайт дополнительных модулей, которые необходимо устанавливать и очень ограниченная функциональность при работе с базой.


Что касается dbExpress и IBX, то тут ситуация вполне определенная. Из них двоих предпочтительнее IBX – все-таки компоненты прямого доступа. А так как обе технологии доступа, так же как и сервер Interbase, продюссируются фирмой Borland и не тестируются на совместимость с бесплатным Firebird, то в какой-то момент IBX и Firebird станут несовместимы.
С .NET тоже не все однозначно. Хотя Microsoft и пророчит этой технологии светлое будущее, однако пока что-то не видно потока программного обеспечения для новой технологии, да и доступ к базе данных с помощью унифицированных драйверов не сможет обеспечить максимальной скорости доступа и поддержки всех возможностей сервера.


Очень неплохим набором компонент являются Interbase Objects (IBO), которые выигрывали награду читателей журнала Delphi Informant в разделе Best Database Connectivity product три года подряд – в 2000, 2001 и 2002. Это компоненты прямого доступа от Джейсона Вартона с весьма широким набором функций и дополнительных компонент, позволяющая использовать все возможности сервера Interbase/Firebird. Компоненты обладают возможностью создавать «живые» запросы к БД, неплохо управляются с транзакциями и обеспечивают приличную производительность. Присутствует и свой набор средств отображения и редактирования данных.
Существуют и драйвера для работы через ОДБС – платный EasySoft ODBC, бесплатные Gemini ODBC, Firebird ODBC, XTG ODBC.


Теперь о неприятном. Такие средства как BDE, ODBC, dbExpress или ADO скрывают многие особенности работы движка базы данных, приводя все действия к "наименьшему общему знаменателю". То есть, клиентское приложение, обращаясь к БД через промежуточное ПО, выполняющее такое «приведение», получает существенно урезанные возможности в работе движка БД. В частности, поскольку все действия в InterBase/Firebird происходят в контексте транзакций, этот подход существенно снижает выгоды в использовании возможностей этих серверов БД.


Из экзотики можно упомянуть: IBTCL - библиотека функций доступа к IB для языка Tcl; CConnectionIbase - класс-"обертка" для PHP; PythonIB и KInterbaseDB - модули для Python, а также InterClient, который входит в поставку JBuilder, и Firebird JCA-JDBC driver – драйвера для доступа из классов Java.
Теперь сформулируем основные требования к средству доступа к базе. Среда разработки – Delphi, прямой доступ к БД без дополнительных библиотек, простота установки и использования, естественно, поддержка пользователей разработчиками.


Всем этим требованиям, причем от А до Ω отвечают компоненты компании Devrace – FIB Plus. Библиотека получила награду читателей журнала Delphi Informant в разделе Best Database Connectivity product за 2004 год, подвинув таким образом своего ближайшего конкурента - IBO.
Разработчиком является наш с вами земляк, одесский программист Сергей Бузаджи, что тоже плюс.
Сразу оговорюсь, что FIB Plus не бесплатны, но жители ex-USSR могут приобрести полную лицензионную версию по сильно сниженным ценам и при коммерческой реализации своего продукта, вы вернете вложенные деньги в кратчайшие сроки.


Не знаю, есть ли такое понятие, как западный и наш, скажем так – славянский (ex-USSR), стили программирования, но те же FIB Plus реализованы как-то более понятно и ближе к нашим стандартам кодирования, чем, к примеру, IBO или IBX.
Немаловажным фактором является также скорость реакции группы поддержки при решении возникших проблем, а в этом плане у разработчиков все в порядке – реагируют быстро и по-существу. А еще большим плюсом в данном процессе есть то, что разработчики общаются с вами на русском языке.


На данный момент последняя версия продукта FIB Plus 6.25, который является полностью самодостаточной библиотекой компонент прямого доступа к БД Firebird, то есть все, что нужно для работы находится и настраивается в нашем приложении и его проще устанавливать, настраивать и сопровождать.
Сразу видно, что библиотека писалась под нужды простого прикладного разработчика – в ней простым и понятным способом реализованы все функции, необходимые для быстрого начала работы, не углубляясь в дебри свойств и методов. Хотя это ни в коей мере не означает, что в FIB-ах заложена минимальная функциональность или они в чем-то ограничены. Даже опытный разработчик может открыть в них что-то новое и полезное, что сильно облегчит жизнь и позволит не изобретать велосипед, а сосредоточиться на процессе разработки.


Вкратце рассмотрим наиболее интересные особенности.



  • FIB Plus полностью поддерживает все возможности Borland Interbase и Firebird, поскольку работает через API этих серверов.
  • Поддерживаются «живые», то есть с возможностью редактирования, запросы к нескольким таблицам, поля-массивы.
  • Одной из особенностей является работа компонент сразу с двумя транзакциями – одна на чтение данных, другая – на запись. Это позволяет сильно снизить нагрузку на сервер БД, а также практически полностью избежать взаимоблокировок при работе.
  • Присутствует возможность выбирать клиентскую библиотеку доступа к БД.
  • Компоненты содержат множество настраиваемых параметров: запросов, форматов отображения, наименования полей - причем все они могут храниться в базе в так называемом репозитарии и извлекаться оттуда при старте приложения автоматически .
  • Встроенный редактор SQL запросов позволяет автоматически генерировать на основании запроса на выборку запросы на добавление, обновление, изменение записей БД. Есть возможность задать только запрос на выборку данных, а на его основе в процессе выполнения программы автоматически будут генерироваться запросы на обновление, вставку или удаление данных, что очень сокращает время при разработке БД с не сложными таблицами.
  • Помимо фильтрации и сортировке данных сервером, возможна локальная сортировка и фильтрация средствами библиотеки.
  • Реализован очень удобный механизм автоматической генерации уникальных значений с помощью механизма генераторов.
  • Очень полезная возможность использовать макросы в текстах запроса, а потом при работе обращаться к ним как к параметрам. Таким образом можно заменять очень большие куски запроса на необходимые вам, что позволяет при минимальных затратах создавать весьма навороченные программы.
  • Очень популярная в народе связка основная - подчиненная таблица создается практически с трех кликов.
  • Библиотека совместима со стандартными db-aware компонентами, входящими в состав Delphi. Следовательно, можно без проблем пользоваться как входящими в состав среды разработки так и сторонними средствами редактирования, отображения и генераторами отчетов.
  • Легко и понятно организована работа с кэшированными данными, то есть все изменения делаются в локальном кэше и при необходимости пакетом отправляются на сервер, что сильно снижает нагрузку на сеть.
  • Из незаметного - компоненты содержат механизмы для оптимизации работы с сетевым трафиком в многопользовательских приложениях и приложениях, работающих на медленных каналах связи (кэширование мета-данных и часто повторяющихся запросов, оптимизация связки вида "мастер-деталь", локальная сортировка и фильтрация данных), также реализована оптимизированная модель работы с оперативной памятью.

    Исходя из вышесказанного, FIB Plus является наиболее предпочтительным средством доступа к БД Interbase/Firebird, позволяя легко и непринужденно создавать приложения и для работы через Интернет, и для больших организаций, и для персональных нужд.


    Данную статью можно рассматривать как бесплатную рекламу замечательным компонентам доступа к БД. Используйте в работе «правильные» средства от «наших» разработчиков, чтобы потом не было мучительно больно. 

    Автор: Cat

    Cat's cry
    Версия для печати

    Статьи из раздела: Software / Программирование
    02/10/2005 "Рулим" базой Firebird
    30/09/2005 Встроенный сервер БД
    Статьи, размещенные на нашем сайте являются собственностью их авторов.
    Авторы несут полную ответственность за содержание своих статей.
    Администрация может не разделять мнения авторов. Обсуждение возможно на страницах форума сайта.
 
Разделы: Hardware | Драйвера | Производители Hardware | Объявления | Глоссарий | Владельцам сайтов | Ссылки |
4PC.info: О сайте | Статистика | Реклама на сайте