Индустрия программирования


Взаимодействие серверного и клиентского приложений



Задачами серверного приложения являются:
  1. получение от клиентского приложения текста SQL запроса,
  2. исполнение указанного SQL запроса,
  3. передача полученных данных из результирующего множества клиентскому приложению по его
    запросам,
  4. контроль и обработка возникающих ошибок.

Для решения этих задач и поддержания архитектуры клиент-сервер в разработанной системе
применена следующая схема взаимодействия клиентского и серверного приложений:
  1. Серверное приложение при начале своей работы инициализирует переменные окружения
    и создает соединение с ODBC драйвером.
  2. Запускаемое WWW сервером клиентское приложение регистрирует сервис в библиотеке
    DDEML и посылает запрос на создание канала с сервером. Серверное приложение в ответ на
    запрос о создании канала проверяет наличие свободной строки в таблице регистрации клиента. В
    случае наличия свободной строки серверное разрешает создание канала и помечает строку в
    таблице регистрации как занятую, указывая в графе статуса клиентского приложения признак
    создания канала.
  3. Клиентское посылает серверному приложению готовый текст SQL запроса, подготовленного
    на основе данных, введенных удаленным пользователем. Серверное приложение при появлении
    транзакции передачи данных клиентом записывает в любую строку со статусом клиентского
    приложения "создан канал" в таблице регистрации клиентских приложений идентификатор
    используемого для передачи данных канала и сам получаемых текст SQL запроса. Статус
    клиентского приложения изменяется на "передан текст SQL запроса".
  4. Клиентское приложение, получив транзакцию об окончании передачи данных серверному
    приложению, посылает серверному приложению запрос на асинхронную передачу данных
    клиентскому приложению. Серверное приложение, получив запрос клиентского приложение,
    производит поиск в таблице регистрации идентификатора канала, использованного клиентским
    приложением для пересылки запроса. Найдя нужную строку серверное приложение меняет статус
    клиентского приложения в этой строке на "первая группа данных получена", извлекает ранее



    Начало  Назад  Вперед



    Книжный магазин