Основы архитектуры

Прежде чем мы продолжим, необходимо понять основы архитектуры системы QHB. Понимание того, как взаимодействуют между собой части QHB, сделает эту главу понятнее.

Говоря терминами баз данных, QHB использует модель клиент/сервер. Сеанс QHB состоит из следующих взаимодействующих процессов (программ):

  • Серверный процесс, который управляет файлами базы данных, принимает подключения к базе данных от клиентских приложений и выполняет действия с ней от имени клиентов. Программа сервера баз данных называется qhb.

  • Клиентское приложение пользователя, которое будет выполнять операции с базой данных. Клиентские приложения могут быть весьма разнообразны по своей природе: клиент может быть текстовой утилитой, графическим приложением, веб-сервером, обращающимся к базе данных для отображения веб-страниц, или специализированной программой обслуживания базы данных. Некоторые клиентские приложения поставляются с дистрибутивом QHB, но большинство разрабатывается самими пользователями.

Как это обычно бывает для клиент/серверных приложений, клиент и сервер могут находиться на разных хостах. В этом случае они общаются через сетевое соединение по протоколу TCP/IP. Следует помнить об этом, поскольку файлы, к которым можно получить доступ на клиентском компьютере, могут оказаться недоступны (или могут быть доступны только с использованием другого имени файла) на компьютере сервера базы данных.

Сервер QHB может обрабатывать несколько одновременных подключений от клиентов. Для этого он запускает («ответвляет») новый процесс для каждого подключения. С этого момента клиент и новый серверный процесс обмениваются данными без вмешательства главного процесса qhb. Таким образом, главный процесс сервера работает постоянно, ожидая клиентских подключений, тогда как процессы клиента и связанного сервера создаются и удаляются. (Разумеется, все это происходит незаметно для пользователя. Здесь это упоминается только для полноты картины.)