Правила взаимодействия клиентского приложения и ядра СУБД ЛИНТЕР
Взаимодействие клиентского приложения и ядра СУБД ЛИНТЕР осуществляется по следующим правилам:
-
сетевой драйвер клиента, запущенный на компьютере с клиентским приложением, принимает команды интерфейса нижнего уровня, посланные клиентским приложением удаленному ЛИНТЕР-серверу, и перенаправляет их по сети сетевому драйверу сервера или локальной БД (если используется локальный протокол обмена данными local);
-
сетевой драйвер сервера принимает команду и (как любое клиентское приложение) отправляет ее ядру СУБД.
Соответствие имени удаленного ЛИНТЕР-сервера и его сетевого адреса задается в конфигурационном файле сетевого клиента (nodetab).
Оба драйвера работают в автоматическом режиме.
Таким образом, схема прохождения команды от клиентского приложения на узле-клиенте к ядру СУБД на узле-сервере выглядит следующим образом (выделенное квадратными скобками не всегда является обязательным):
Приложение - > Драйвер клиента - > [Драйвер сервера] - > ядро СУБД
Результаты обработки запроса (ответы) проходят обратный путь:
ядро СУБД - > [Драйвер сервера] - > Драйвер клиента - > Приложение
Если имя удаленного ЛИНТЕР-сервера на задано явно, то клиентское приложение «не видит» разницы между собственно ядром СУБД и сетевым драйвером клиента. Приложение подаёт запрос, не зная, кто его получит (ядро СУБД или сетевой драйвер клиента). Аналогичным образом принимаются и ответы – все равно от кого: от ядра СУБД или от драйвера сервера.
Такой механизм взаимодействия позволяет отлаживать клиентское приложение на локальном компьютере и впоследствии без изменения кода переносить его на удаленный компьютер.
Если клиентскому приложению необходимо использовать несколько ЛИНТЕР-серверов (например, для переноса данных из одной БД в другую), то ему придётся явно указывать логическое имя ЛИНТЕР-сервера, к которому относится посылаемая команда. Привязка логического имени ЛИНТЕР-сервера и его сетевого адреса осуществляется в конфигурационном файле (nodetab).
СУБД ЛИНТЕР позволяет кодировать (шифровать) передаваемые ею по сети данные. Кодирование/декодирование выполняется сетевыми драйверами клиента и сервера (шифрование возможно только в том случае, если установлен соответствующий протокол обмена данными).