Данное общее описание более потробно будет представлено в разделе «Спецификации интерфейса списков v.1.0».
Блоки кода
Отличительной особенностью сервера является то, что используются блоки кода. Это обусловлено тем, что программа создана на платформе CLIPPER xHarbour. Прежде всего, xHarbour это виртуальная машина (VM). Такой подход уже использовался в системе управления базами данных (СУБД) CLIPPER, используется в JAVA.
В отличие от виртуальной машины JAVA, которая устанавливается на компьютере клиента и выполняет скрипты, полученные с сервера, виртуальная машина xHarbour работает на стороне сервера и выполняет блоки кода, посылаемые клиентом.
В отличие от виртуальной машины JAVA, которая устанавливается на компьютере клиента и выполняет скрипты, полученные с сервера, виртуальная машина xHarbour работает на стороне сервера и выполняет блоки кода, посылаемые клиентом.
Блоки кода это безымянные функции. Ссылку на эту безымянную функцию можно присвоить переменной и выполнить её с помощью специальной функции Eval ().
Блоки кода предоставляют прекрасную возможность строить информационные системы с гибкой структурой и различными видами связи и взаимодействия. Именно блоки кода положены в основу сервера dbfWebServer.
Передача данных
Мы были свидетелями парада технологий: майнфрам, клиент-сервер, распределённые сети, интернет. На всех этапах этой череды постоянно возникала проблема передачи данных. Каждый раз она каким-либо образом решалась, но всегда оставалось чувство неудовлетворённости. Не было полного понимания, что такое передача данных. В рамках технологии клиент-сервер это достаточно трудно осуществить, поскольку в такой конфигурации всегда доминирует сервер, от клиента в плане хранения данных мало что зависит.
Новый подход, предложенный в работе [4], и данная разработка дают возможность поставить передачу данных во главу угла создания информационных систем нового поколения, где передача данных становится определяющим условием существования информационных систем.
Из вышесказанного следует, что передача данных в утилитарном смысле для информационных систем это общение информационных объектов. Передаётся смысл информации, значения данных, а не структура данных, как таковая. Исходя из этого, информационные системы следует строить со слабоформализованными структурами данных, но мощными средствами обработки данных и представления их в естественном виде и передаваемые по стандартным телекоммуникационным каналам.
DbfWebServer станет весомым помощником в этом деле, поскольку учитывает как накопленный опыт, так и вышеописанные спецификации.
Передача данных это совместный доступ к одной и той же информации различных приложений.
Передача данных это однотипный предсказуемый пользовательский интерфейс приложений.
Передача данных это слабоформализованные структуры данных, обмен только информацией, а не структурой данных вместе с данными.
Передача данных это распределённые базы данных.
Эти соображения также легли в основу реализации спецификаций, изложенных в седьмой главе этой книги.
Реализация спецификаций
Перейдём к практической стороне вопроса реализации. Реализация вышеизложенных спецификаций и спецификаций, приведенных в гл. 7 в конкретной информационной системе задача непростая. Если бы все вопросы были решены, не было бы необходимости в разаработках в этом направлении.
В рамках данной разработки будем использовать подход разделения на процессы.
С появлением сервера dbfWebServer стало понятно, что работа с базами данных делится на два процесса. Такое разделение является весьма продуктивным направлением в области обработки данных и построения информационных систем. Попробуем убедиться в этом на конкретном примере.
Один процесс работает с базой данных. Этот процесс программа dbfWebServer, которая занимается задачей управления базой данных и обработкой запросов от клиентов.
Другой процесс отображает и строит пользовательский интерфейс. Пользовательский интерфейс строится исходя из данных, полученных от сервера, с помощью такого стандартного браузера, как Microsoft Internet Explorer, Netscape, Opera или Firefox.
Эти два процесса согласуются между собой с помощью спецификации HTML. Это обусловлено тем, что используются стандартные браузеры, и передача данных осуществляется в рамках технологии Интернет.
Рассмотрим построение интерфейса на примере рабочего блока, входящего в состав дистибутива.
Построение пользовательского интерфейса картотеки пациентов на базе управляемых списков (рис. 3.3).
Для создания пользовательского интерфейса сначала определим список глобальных переменных, которые будут использоваться в разработке.
Чтобы создать информационную систему или элемент информационной системы априори или исходя из опыта, определяется некий минимальный набор средств:
объявить и инициализировать глобальные переменные;
позаботиться о построении пользовательских форм;
объявить и инициализировать глобальные переменные;
позаботиться о построении пользовательских форм;
определиться с методологией построения форм;