Блог Александра Божко
Архивы
Рубрики

UniDAC

Некоторое время назад я уже писал о DataSnap и своих экспериментах связанных с этой технологией. Интересно, что тогда я немного затронул набор компонентов доступа к БД AnyDAC. Сейчас, похоже, появилась необходимость более плотно обратиться к данной теме, а в базовом арсенале Delphi разработчиков появился FireDAC. Вкратце обрисую задачу.

Имеется некоторое Windows приложение, работающее с СУБД MS Access (опционально с MS SQL). Необходимо создать для данного приложения клиентскую часть, работающую под Android и частично реализующую функционал основного приложения. При этом данные должны храниться автономно, но по запросу пользователя синхронизироваться. Здесь сразу оговорю два момента. Во-первых задача абсолютно реальная и решать ее мне так или иначе придется. Во-вторых, сама по себе задача, без учета специфики конкретных СУБД, довольно типичная, в той или иной интерпретации, встречающаяся часто. Поэтому, допускаю, что подробное  описание подобного примера будет интересно читателям.

Здесь можно выделить три условные функциональные задачи:

  • обеспечение доступа к базам данных (внутренней, для автономной работы мобильного приложения и внешней, с которой работает основное приложение);
  • обеспечение репликации данных;
  • непосредственно, функциональная часть мобильного приложения.

Естественно, что локально на Android устройстве данные целесообразно хранить в SQLite базе. Более интересен вопрос синхронизации разных баз. Если бы базовое приложение использовало в качестве СУБД Inrebase, Oracle  или MySQL, то можно было бы подключиться к базе напрямую. При этом, в первом случае для доступа к БД мы могли бы воспользоваться FireDAC, а в случае с Oracle или MySQLUniDAC, или специальными компонентами доступа от DevART (ODAC и MyDAC, соответственно). Однако, в данном случае использовать прямое подключение к базе данных MS Access с мобильного устройства в принципе не возможно. Поэтому в данном случае проще использовать многозвенную архитектуру, а именно DataSnap.

купить UniDACкупить ODAC

И здесь опять возникает вопрос выбора компонентов доступа к БД. Вариантов здесь три. DBExpress, FireDAC и UniDAC. В очередной раз распишусь в своей нелюбви к DBExpress, хотя, возможно, это и субъективно. При использовании FireDAC в “классической” схеме DataSnap никаких дополнительных телодвижений использовать не придется. UniDAC использовать “в лоб” не получится, однако, этот набор компонентов так же работает с DataSnap и внятные описания имеются. Коммерческую составляющую, которая может отразится на выборе, я оставлю “за бортом”, поскольку в моем случае она не имеет значения.

купить RAD Studioкупить Delphi

Что касается репликации данных, то здесь мне повезло. Имеющийся функционал Windows приложения предполагает возможность синхронизации данных из разных баз. Соответственно, структура базы оптимизирована для репликации. Для каждой из значимых таблиц имеются уникальные идентификаторы. Так же реализованы алгоритмы синхронизации.

Если оценивать уровень сложности субъективно, то в принципе, на уровне технологии приложение должно получиться не особо сложным. Естественно, многое зависит от логики самого приложения и сложности структуры БД.

На текущий момент я сделал небольшой тестовый пример подключения к мобильного Android приложения с БД MS Access с помощью FireDAC. Так же, думаю, будет целесообразно разобраться с тем как работает с DataSnap UniDAC. Эти примеры я планирую опубликовать в следующих постах. И, естественно, для полноты картины собираюсь сделать небольшой пример репликации данных.

Интересно узнать у читателей блога, приходилось ли им решать подобную задачу и какой подход вы при этом избрали.

Сегодня небольшой обзор новых продуктов компании DevArt. Собственно, основной интерес представляют Delphi компоненты доступа к данным.

Помимо универсальной библиотеки UniDAC (которую я с удовольствием использую в некоторых проектах), в арсенале DevArt есть шесть отдельных библиотек, которые позволяют работать с особенностями конкретных СУБД:

Через несколько дней после выпуска официального релиза RAD Studio XE5 все они были обновлены. В принципе, все как обычно, компания заботится о своих клиентах и достаточно оперативно обеспечивает поддержку новых версий базового продукта. Но в контексте поддержки разработки под Android выявилось еще одна, очень сильная сторона компонентов от DevArt.
8 октября в блоге компании был опубликован пост-инструкция “How to Develop Android Database Applications in RAD Studio XE5“, из которого явственно следует, с помощью библиотек DevArt в Android приложениях можно писать клиенты не только для SQLite и InterBase, но и для Oracle, Postgree и MySQL. Цитирую дословно:
UniDAC – it is universal data access components that allow to connect to SQLite, Oracle, MySQL, PostgreSQL, and InterBase from Android
Это открывает действительно великолепные перспективы для еще большего числа Delphi разработчиков и Delphi проектов.
Кроме этого, компания выпустила новую версию собственных драйверов для DBExpress.
И, конечно, следует упомянуть о программе лояльности High Five. Вы можете получить существенную скидку за ссылку на страницы компонентов в своих профилях в социальных сетях или получить их бесплатно за обзор в блоге или в том случае, если вы Embarcadero MVP.

В контексте своих предыдущих постов я неоднократно упоминал те или иные компоненты доступа к данным. В данном обзоре я хочу рассказать о продуктах компании DevArt. В мире Delphi эта компания хорошо известна именно благодаря компонентам доступа к данным. Если вы искали с помощью чего подключиться, например, к Oracle или Postgre SQL, то наверняка обращали внимание на ODAC или PgDAC, соответственно.

В настоящий момент компания предлагает несколько специализированых библиотек для подключения к различным СУБД (Interbase/FireBird, Oracle, Postgre SQL, MySQL, SQLite, MS SQL). Кроме этого, существует универсальное решение – UniDAC. Эта библиотека поддерживает различные СУБД, подключаясь к ним различным способом (см. схему). “Самые быстрые и надежные решения для работы с любыми базами данных” – гласит слоган на русскоязычной странице библиотеки.

Совершенно недавно я получил возможность на практике познакомиться с возможностями  UniDAC, использовав данный набор в проекте DB Meta Studio. Сама функциональность данного приложения предполагает универсальность и возможность работать с разными СУБД. Здесь я попытаюсь дать общее представление о UniDAC и поделиться своими субъективными впечатлениями. Читать далее

Продукты DevArt
Купить онлайн:



Читай русскоязычные Delphi блоги
Каталог блогов Blogdir.ru
Яндекс.Метрика