106
Рисунок 2.16 Состав модуля TdmServer
Как уже отмечалось, сервер передает данные по протоколу TCP (за это
отвечает компонент DSTCPServerTransport). Потому, для сервера должен быть
задан порт прослушивания. В нашем случае он имеет значение 5000.
При подключении, на сервере создается отдельный поток. Клиент в
обязательном порядке передает данные для аутентификации (логин и пароль),
проверку которых выполняет компонент DSAuthenticationManager. В случае
успешного прохождения процедуры аутентификации, для передачи данных
между сервером и клиентом, DSServer создаст интерфейс взаимодействия. Этим
интерфейсом является экземпляр класса TdssmRemoteData.
В случае ошибки аутентификации сервер вызывает исключение и
уничтожает поток, который был создан для данного подключения.
Интерфейс взаимодействия
Как было сказано выше, экземпляр класса TdssmRemoteData создается
после успешной аутентификации и служит для предоставления клиентскому
приложению определенных данных и функциональности сервера.
При инициализации данного модуля в зависимости от типа пользователя
настраиваются провайдеры данных. Данная настройка не касается пользователей
ИСЗ группы «Администраторы» и получают доступ ко всем данным и функциям
интерфейса.
Цепочка передачи данных между клиентом и сервером выглядит так:
1. Компонент подключения к БД (TADOConnection);
2. Набор данных (TADOTable или TADOQuery);
3. Провайдер набора данных (TDataSetProvider);
4. Компонент клиентского соединения (TSQLConnection);