Avalanche - библиотека avalanche-sql

Библиотека avalanche-sql предназначена для реализации функционала приложения при взаимодействии с реляционными базами данных. Библиотека опирается на функционал источника данных (DataSource спецификации javax.sql) и предоставляет функциональным элементам системы дополнительную абстракцию доступа к базе данных.

Логическая схема взаимодействия

Рис.1 Логическая схема взаимодействия

Источник данных и JDBC драйвер как правило являются внешними элементами информационных систем. Например, являются элементами WEB сервера. В частном случае, источник данных и JDBC драйвер могут быть частью информационной системы.

Дополнительная абстракция позволяет предоставить доступ к базе данных функциональным элементам с других узлов системы, при этом на других узлах системы нет необходимости иметь драйвер базы данных и источник данных.

Логическая схема взаимодействия в многоузловой системе

Рис.2 Логическая схема взаимодействия в многоузловой системе.

Многоузловая архитектура позволяет оптимизировать число соединений с базой данных и выполнение SQL запросов. Узел системы, через который осуществляется доступ к базе данных, может быть зарезервирован введением дополнительного узла.

Основные элементы библиотеки avalanche-sql

Можно выделить два основных элемента и одну группу элементов библиотеки avalanche-sql:

  1. ru.funsys.avalanche.sql.Database - основной класс реализация логики библиотеки;
  2. ru.funsys.avalanche.sql.Adapter - класс адаптера, обеспечивающего взаимодействие различных функциональных элементов системы на одном или разных узлах с классом ru.funsys.avalanche.sql.Database.
  3. классы спецификации javax.sql - группа вспомогательных классов, реализующих спецификацию javax.sql. Эти классы не используются явно в коде приложения. Они обеспечивают изоляцию кода приложения от используемого JDBC драйвера СУБД и передачу данных между узлами;