Условия применения

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

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

При работе с системой резервирования с использованием функций библиотеки LinAPI клиентское приложение должно самостоятельно отслеживать отказ главного сервера, определять новый главный сервер, подсоединяться к нему и повторно выполнять прерванную транзакцию. При использовании библиотеки LincppAPI все эти действия выполняются средствами самой библиотеки – библиотека будет пытаться самостоятельно восстановить разорванное соединение с ЛИНТЕР-сервером в течение заданного промежутка времени и, в случае успешного соединения, повторит прерванную транзакцию.

Другой важной особенностью библиотеки LincppAPI является реализация в ней класса linDataSet, представляющего клиентскому приложению функциональные возможности, отсутствующие в библиотеке LinAPI. Класс linDataSet представляет собой размещенный полностью в оперативной памяти компьютера (кэшированный) набор данных, загруженный из БД СУБД ЛИНТЕР, что позволяет уменьшить число запросов к БД. Несложная обработка данных этого класса выполняется с помощью методов класса и не требует знания языка баз данных SQL (т.е. операторов INSERT, DELETE, UPDATE, конструкций WHERE,ORDER BY и др.). (При необходимости более сложной обработки данных, возможно, потребуется использование соответствующих SQL-операторов).

Класс linDataSet, расширяющий функциональность библиотеки LinAPI, можно использовать при разработке клиентских приложений, предназначенных как для работы в системе резервирования, так и для работы с независимыми ЛИНТЕР-серверами.