Оценить:
 Рейтинг: 0

DbfWebServer. Способ эффективной работы с таблицами DBFв среде Интернет

Год написания книги
2017
<< 1 2 3 4 5 6 7 8 9 10 ... 20 >>
На страницу:
6 из 20
Настройки чтения
Размер шрифта
Высота строк
Поля

Content-Length:». $np.»

Pragma: no-cache

«.$sp);

$reply=«»;

while (!feof ($fp)) $reply.=fgets ($fp,256); fclose ($fp);

echo "$reply»;

Примечание. Запросы к серверу из HTML-скриптов передаются с помощью метода GET или POST.

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

Управляемые списки

Основной задачей создания динамических страниц для наших задач при помощи таблиц является формирование управляемых списков. На это следует обратить особое внимание.

Чаще всего в информационных системах в качестве пользовательской формы строится карточка со списком. Карточка может быть выполнена в виде списка, но сути карточки в данном случае это не меняет. Карточка представляет развёрнутую информацию об объекте, полный перечень данных об объекте находится рядом со списком. По списку можно перемещаться, выбирая, таким образом, объект для детального просмотра. Карточка представляет информацию о выбранном объекте в нужном виде и объёме и позволяет редактировать эти данные.

Данное общее описание более потробно будет представлено в разделе «Спецификации интерфейса списков v.1.0».

Блоки кода

Отличительной особенностью сервера является то, что используются блоки кода. Это обусловлено тем, что программа создана на платформе CLIPPER – xHarbour. Прежде всего, xHarbour – это виртуальная машина (VM). Такой подход уже использовался в системе управления базами данных (СУБД) CLIPPER, используется в JAVA.

В отличие от виртуальной машины JAVA, которая устанавливается на компьютере клиента и выполняет скрипты, полученные с сервера, виртуальная машина xHarbour работает на стороне сервера и выполняет блоки кода, посылаемые клиентом.

Блоки кода – это безымянные функции. Ссылку на эту безымянную функцию можно присвоить переменной и выполнить её с помощью специальной функции Eval ().

Блоки кода предоставляют прекрасную возможность строить информационные системы с гибкой структурой и различными видами связи и взаимодействия. Именно блоки кода положены в основу сервера dbfWebServer.

Передача данных

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

Новый подход, предложенный в работе [4], и данная разработка дают возможность поставить передачу данных во главу угла создания информационных систем нового поколения, где передача данных становится определяющим условием существования информационных систем.

Из вышесказанного следует, что передача данных в утилитарном смысле для информационных систем – это общение информационных объектов. Передаётся смысл информации, значения данных, а не структура данных, как таковая. Исходя из этого, информационные системы следует строить со слабоформализованными структурами данных, но мощными средствами обработки данных и представления их в естественном виде и передаваемые по стандартным телекоммуникационным каналам.

DbfWebServer станет весомым помощником в этом деле, поскольку учитывает как накопленный опыт, так и вышеописанные спецификации.

Передача данных – это совместный доступ к одной и той же информации различных приложений.

Передача данных – это однотипный предсказуемый пользовательский интерфейс приложений.

Передача данных – это слабоформализованные структуры данных, обмен только информацией, а не структурой данных вместе с данными.

Передача данных – это распределённые базы данных.

Эти соображения также легли в основу реализации спецификаций, изложенных в седьмой главе этой книги.

Реализация спецификаций

Перейдём к практической стороне вопроса – реализации. Реализация вышеизложенных спецификаций и спецификаций, приведенных в гл. 7 в конкретной информационной системе – задача непростая. Если бы все вопросы были решены, не было бы необходимости в разаработках в этом направлении.

В рамках данной разработки будем использовать подход разделения на процессы.

С появлением сервера dbfWebServer стало понятно, что работа с базами данных делится на два процесса. Такое разделение является весьма продуктивным направлением в области обработки данных и построения информационных систем. Попробуем убедиться в этом на конкретном примере.

Один процесс работает с базой данных. Этот процесс – программа dbfWebServer, которая занимается задачей управления базой данных и обработкой запросов от клиентов.

Другой процесс отображает и строит пользовательский интерфейс. Пользовательский интерфейс строится исходя из данных, полученных от сервера, с помощью такого стандартного браузера, как Microsoft Internet Explorer, Netscape, Opera или Firefox.

Эти два процесса согласуются между собой с помощью спецификации HTML. Это обусловлено тем, что используются стандартные браузеры, и передача данных осуществляется в рамках технологии Интернет.

Рассмотрим построение интерфейса на примере рабочего блока, входящего в состав дистибутива.

Построение пользовательского интерфейса картотеки пациентов на базе управляемых списков (рис. 3.3).

Для создания пользовательского интерфейса сначала определим список глобальных переменных, которые будут использоваться в разработке.

Чтобы создать информационную систему или элемент информационной системы априори или исходя из опыта, определяется некий минимальный набор средств:

– объявить и инициализировать глобальные переменные;

– позаботиться о построении пользовательских форм;

– определиться с методологией построения форм;

– обозначить набор правил построения и развития форм.

Семейство переменных

Семейство переменных, которые помогают в управлении пользовательским списком, представлено следующим перечнем:

,ixpub («R_karbeg», 1) – row

,ixpub («L_karbeg», 10) – curele

,ixpub («V_karbeg»,»») – search value string

,ixpub («E_karbeg», 10) – end of list

,ixpub («U_karbeg»,»») – fierst element of list

,ixpub («N_karbeg»,»») – next element of list
<< 1 2 3 4 5 6 7 8 9 10 ... 20 >>
На страницу:
6 из 20