скачать книгу бесплатно
DbfWebServer. Способ эффективной работы с таблицами DBFв среде Интернет
А. Шевелёв
Данная книга предназначена для всех, кто трепетно относится к накопленным данным и хочет их сохранить и приумножить. Предлагается достаточно простой способ создания информационных систем различного назначения.
DbfWebServer
Способ эффективной работы с таблицами DBFв среде Интернет
А. Шевелёв
© А. Шевелёв, 2017
ISBN 978-5-4485-2287-1
Создано в интеллектуальной издательской системе Ridero
Всё о сервере http://ixbase.info
Благодарности
Предлагаемый подход появился благодаря неустанным разработкам по совершенствованию и поддержке стиля xBASE со стороны xHarbour (http://xharbour.com) – разработчика программного обеспечения (ПО), ставшего достойным преемником великого наследия CLIPPER.
Особая благодарность владельцам авторского права (Массачусеттский технологический институт, Национальный институт исследований в области информатики и автоматизации, Университет Keio) за прекрасную документацию HTML
Девиз:
сервер, который всегда с тобой и с каждым днем лучше
Статические страницы могут быть превращены в динамические с помощью нового сервера, который поддерживает работу с базой данных. Под базой данных здесь подразумевается набор таблиц типа *.dbf.
Такой способ построения динамических страниц открывает новые возможности для формирования информационных ресурсов, настольных приложений и передачи данных.
Данная книга предназначена для всех, кто трепетно относится к накопленным данным и хочет их сохранить и приумножить. Предлагается достаточно простой способ создания информационных систем различного назначения
Введение
Работа с таблицами типа *.dbf пока не представлена должным образом в среде Интернет. Это связано, наверное, с повальным увлечением технологией SQL. Считается, что таблицы DBF – это устаревший подход и будущее только за технологиями типа сервер-клиент. Тем не менее, были попытки (и они не прекращаются) сблизить технологии Интернет и системы управления базами данных – СУБД (1,2). Эта разработка является также инструментом, способствующим насыщению Интернет массивом данных, хранящихся в базах данных. Теперь статические страницы становятся динамическими с легкостью, присущей системам управления данных типа CLIPPER. Работа с таблицами DBF проста и интуитивно понятна.
Таблица представляет собой набор колонок (полей) по вертикали и строк (записей) по горизонтали. Таким достаточно простым и наглядным образом формируются и собираются однотипные записи в списки, которые могут быть очень большими. Допустимый размер таблиц типа *.dbf намного превышает размер таблиц типа *.exl, используемых в программе Excel, и может достигать 3 млн записей, а СУБД DBF намного проще и легче системы SQL. На сегодняшний день именно в этих таблицах хранится достаточно много данных, которые не должны лежать мёртвым грузом или быть утерянны. Свободно обратиться к данным, хранящимся в таблицах *.dbf, организовать передачу данных между информационными узлами или приложениями позволяет новый сервер dbfWebServer (рис. В.1).
Рис. В.1. Экранная форма программы dbfWebServer
Список сокращений
HTTP – HyperText Markup Language
VM – виртуальная машина
WWW – World Wide Web
ДОС – дисковая операционная система
ИТ ixBASE – информационные технологии ixBASE
ОС – операционная система
ПО – программное обеспечение
ПО ixBASE – программное обеспечение ixBASE
СУБД – система управления базами данных
Глава 1. Эффективный сервер для таблиц DBF
Сервер, который всегда с тобой
DbfWebServer – это сервер, который всегда с тобой: простой, мобильный и компактный. Каждый день он пополняется новыми данными и сервисами и улучшается. Сервер очень удобен тем, что его можно запускать и на локальном компьютере. Для этого предусмотрены специальные режимы настройки сервера. Эти настройки находятся на стартовой странице сервера. С их помощью запуск сервера можно настроить автоматически при включении компьютера и/или из эксплорера с помощью специальной кнопки, что является весьма полезным и удобным и повышает эффективность работы.
Отличительной особенностью данного сервера является то, что для полноценной работы с базами данных достаточно одной программы, в отличие от комплекса SQL, например APACHE + MySQL + PHP. Для такого комплекса необходимо запустить как минимум два сервера – APACHE и SQL – или другую родственную пару серверов.
Скорость работы сервера dbfWebServer, по наблюдению и мнению автора, превосходит другие комбинации, что позволяет создавать быстрый пользовательский интерфейс для конечного пользователя, используя при этом браузер, использовать разнообразный спектр баз данных, что становится особенно актуальным, когда бизнес-приложения перемещаются в сторону платформы Интернет.
Размер программы составляет порядка 1400 Кб. В программу включены все основные функции CLIPPER, которые необходимы для работы с базой данных, строками, математическими операциями.
Запустить сервер можно с любого носителя, даже флэш-памяти, что также может стать весьма удобным методом работы, если необходимо часто переносить данные. Относительно небольшой объём базы данных, можно сказать мобильный, позволит носить с собой все данные, запускать сервер с любого компьютера и пользоваться этими данными. Такой подход, в свою очередь, позволит помочь при распределённой или удалённой работе, когда необходимо обслуживать или развивать несколько информационных ресурсов или проектов, использующих данные и базы данных.
Устойчивость сервера
Устойчивость работы сервера как программы и не разрушающий индексы таблиц режим работы сервера с базой данных является важным моментом. Для таблиц типа *.dbf всегда было достаточно трудно подобрать устойчивый сервер. В данном случае речь идёт об операционной системе (ОС). в этом отношении лучше всего показал себя сервер NOVELL. В других операционных системах при многопользовательском режиме работы достаточно часто наблюдается разрушение индексных файлов. Этот фактор в значительной мере тормозит использование таблиц в других конфигурациях не NOVELL и мешает широкому распространению приложений на основе баз данных DBF.
По отношению к операционной системе программа dbfWebServer является однопользовательской, а потребление информации имеет, наоборот, многопользовательский характер. Для такого случая следует отметить, что семейство операционных систем WIN32 работает более устойчиво.
Сервер dbfWebServer в своей работе для организации многопользовательского режима использует систему сокетов, а с сокетами ОС WIN32 работают надёжнее, нежели с системой разделения файлов между приложениями.
Программа dbfWebServer может работать параллельно с другими программами, обеспечивая одновременный разделённый доступ к таблицам и индексам.
Сервер обрабатывает ошибки, возникающие при интерпретации блоков кода, и возвращает соответствующие сообщения, поэтому пользователю или разработчику легко отлаживать скрипты, которые запускаются на сервере. Это, правда, не относится к бесконечным циклам. Здесь может возникнуть проблема.
Сервер построен в каскадном стиле, без использования потоков, поэтому прервать бесконечный цикл без перезагрузки сервера нет возможности.
С точки зрения безопасности и устойчивости работы сервера отладку скриптов лучше всего осуществлять в локальном режиме, на локальном сервере, а потом переносить на удалённый сервер.
Сама по себе работа СУБД CLIPPER с базами данных проверена временем и является самой надежной на сегодняшний день.
Состав сервера
Состав сервера определяет следующий основной перечень файлов и директорий, входящих в состав поставки (дистрибутив) сервера dbfWebServer:
\www\ – рабочая директория сервера
\www\dbf\ – поддиректория с таблицами *.DBF
\www\\html\ – поддиректория, в которой находятся
исходные скрипты HTML
\www\\HTML4\ – поддиректория c документацией HTML
\www\\xHarbour\ – поддиректория, в которой находится
документация xHarbour
dbfWebServer. exe – программа
dbfWebServer.ini – файл инициализации
dbfWebServer. txt – первичный список таблиц
В директории с таблицами представлены только основные таблицы, необходимые для начала работы и понимания сути работы сервера. Пользователь или разработчик может самостоятельно расширять этот список таблиц исходя из задач, которые ему предстоит решать. Способ формирования списка таблиц или проекта будет обсуждён далее.
\dbf – директория с таблицами
DBFHTM00.CDX
DBFHTM00.DBF – блоки кода для HRB. exe
DBFRUN00.CDX
DBFRUN00.DBF – блоки кода общего назначения
DIRECT00.CDX
DIRECT00.FTP
DIRECT00.DBF – для списков директорий
SPIDBF00.CDX
SPIDBF00.DBF – проект базы данных: список таблиц
SPIDBF10.CDX
SPIDBF10.DBF – проект базы данных: список полей
SPIDBF20.CDX
SPIDBF20.DBF – проект базы данных: список индексов
Директория \www\ добавлена с точки зрения совместимости с другими серверами, например Apache.
Примечание. От версии к версии состав сервера может меняться.
Установка сервера
Загрузить из Интернета архивный файл dbfWebServer. zip
Распаковать архивный файл или скопировать содержимое с инсталляционного диска на свой локальный жёсткий диск.
Программа не требует процедуры установки.
Если установка сервера производится с инсталляционного диска, то следует просто скопировать содержимое СД-диска на локальный жёсткий диск.
Рекомендуется скопировать всё в корневой каталог.
Запуск сервера
Сервер запускается из командной строки набором имени файла
dbfWebServer. exe
или кликом мыши по этому имени в проводнике.
После запуска появится окно с программой, как показано на рис. В.1.
После того как программа запустится, в адресной строке браузера введите и активизируйте следующий адрес:
http://localhost:4180
по умолчанию будет загружена страница index.html:
http://localhost:4180/html/index.html
Примечание. Загрузку стартовой страницы необходимо обеспечить как минимум для двух случаев:
• когда сервер устанавливается параллельно существующему другому серверу. это будет рассмотрено ниже (привязка сервера);
• когда сервер устанавливается самостоятельно.
Если сервер устанавливается параллельно, то используется файл dbf.html, чтобы не пересекаться с существующим сервером.
В любом случае по умолчанию загружается файл index.html из директории /html/.
После загрузки страницы index.html в браузере должна появиться картинка следующего содержания (рис. 1.2):
Рис. 1.2. Вид загруженной страницы index.html из сервера dbfWebServer
Для успешного старта программы и дальнейшей продуктивной работы с таблицами программе требуется два служебных файла.
Один файл – это файл инициализации, другой – текстовый файл, содержащий минимальный перечень используемых таблиц. Второй файл можно назвать стартовым файлом проекта.