Базы данных в Internet

Страница 3

Сервер включен в локальную сеть, содержащую множество различных типов компьютеров (от Sun SPARKstation до i386) и других серверов (под управлением различных версий UNIX и NetWare). Аппаратное обеспечение сервера вполне справляется с нагрузкой, обеспечивая хорошее время реакции. Эти требования не являются минимально допустимыми, но тестирование на других конфигурациях сервера не проводилось.

Требования к надежности.

Для обеспечения устойчивого функционирования ПТК проверяются входные данные. При аварийном завершении программы система возвращается в первоначальное состояние, для чего имеется специальная процедура, реагирующая на соответствующий сигнал (аналог программного прерывания в DOS).

При отказе время восстановления зависит от сложности неисправности. В случае программного сбоя время восстановления равно времени, нужному перезагрузки сервера. При аппаратном сбое оно равно времени восстановления информации с резервной копии.

Дополнительные требования.

Для работы с ПТК к квалификации персонала не предъявляется особенных требований. Единственный необходимый навык- умение работы с программой просмотра для WWW. Для занесения информации в БД планируется задействовать одного человека.

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

Компьютер клиента может быть практически любой и необходимым требованием является лишь подключение к Сети и наличие браузера, поддерживающего HTML версии 2.0 (программа просмотра Netscape Navigator подходит как нельзя лучше, тем более существуют её модификации для множества аппаратных платформ и операционных систем при схожести интерфейса).

Эскизный проект структуры ПО ПТК.

На представленном ниже эскизе представлены основные блоки ПТК. В скобках указаны основные функции, выполняемые блоками.

Это эскиз, использованный при начальной стадии разработки.

Используемые для написания программы библиотеки:

· CGI.pm- библиотека для манипуляции информационными элементами (поля ввода, кнопки, радио кнопки, скрытые поля и т.д. в формате HTML, отображение информации на браузере клиента и ввод ответа от него)

· Pg.pm- библиотека для манипуляции БД (подключение к программе- монитору, посылка запросов, обработка результата и т.д.)

Эскизный проект структуры ТО ПТК.

Данный эскиз показывает, как работает система в общем. Конкретно всё зависит от того, где находится клиент, сервер, как клиент подсоединён к серверу.

Пользователь на клиентском компьютере в программе просмотра заполняет предложенную форму или выбирает дальнейшее действие.

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

Не важно, к какой из сетей подключен клиент (он даже может быть удалённым пользователем и соединиться по модему).

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

Получив запрос, монитор обрабатывает его. Если не произошло ошибок, ждёт запроса от программы на отправку программе результата.

На диске сервера хранится БД, модифицируемая по запросу клиента.

Технический проект структуры ПО ПТК.

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

1) Модуль Npi_people. Основная часть программы. Этот модуль вызывается при начале работы. Доступ к нему разрешён всем пользователям. Содержит рад подпрограмм общего назначения:

· setup- функция первоначальной настройки. Определение, какой пользователь подключён и что разрешено ему видеть

· set_mode- установка режима работы, т.е. что дальше будет делать программа - искать, модифицировать или удалять информацию из БД

· connect_db- подключение к нужной БД через монитор. В случае ошибки - аварийное завершение

· prepare_sql- подготовка SQL- запроса к БД

· handler- обработчик аварийных сигналов

2) Модуль html_output. Содержит подпрограммы вывода форм, форматирования и вывода результатов в формате HTML, приёма и обработки информации от пользователя.

· print_form- По установленному режиму вызвать функцию вывода той или иной формы

· search_form- вывод формы для поиска

· modify_form- вывод формы для модификации

· del_form- вывод формы для удаления

· print_result- выдача результата

· good_bye- выдача сообщения об аварийном завершении программы

3) Модуль Pg_dbi. Содержит подпрограммы работы с монитором БД.

· dbi_con- подсоединение к указанной БД

· dbi_rowsmatched- функция возвращает количество строк в результате

· do_sql- выполнение SQL- запроса

· dbi_disconnect- отсоединение от монитора БД

· dbi_nextrow- получение следующей строки результата

4) Модуль constants. Содержит набор необходимых для работы констант. Вынесен в отдельный модуль, чтобы не загромождать текст программы.

Технический проект структуры ТО ПТК.

Ниже приведена одна из конкретных реализаций ТО ПТК (именно на таком ТО работал автор)

Как видно из приведённой схемы, программа может работать как с внутренними клиентами (Intranet), так и с внешними (Internet). Типичная ЭВМ, за которой автор разрабатывал и тестировал ПТК - это процессор Intel 486DX2 66 МГц, 4 Мбайт ОЗУ, жесткий диск 100 Мбайт. ОС- MS DOS 6.22 и Windows3.1

Сеть на базе NetWare- это витая пара + карты Ethernet2000 на рабочих станциях

Сервер NetWare по конфигурации не сильно отличается от UNIX- сервера, конфигурация которого описана ранее.

Заключение.

Разработанный ПТК в целом соответствует ТЗ, полученному в начале работы. ПТК ещё нуждается в доработке, но уже выполняет основные функции. Вполне возможно, что развитием этой работы будет полный WWW- интерфейс к БД, позволяющий создавать свою собственную БД и без программирования манипулировать ей (по аналогии с FoxPro, например). Есть идеи по воплощению WWW средства для построения запросов в стандарте QBE (Query By Example). Но наиболее близок к воплощению проект WWW- календарь, содержащий все праздники и позволяющий находить праздник по дате или дату известного праздника в диалоговом режиме.

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

В последнее время на рынке Internet успешно продвигается технология Java, разработанная фирмой Sun. Java- это объектно- ориентированный язык, схожий с C++. Сама фирма характеризует его как «простой, объектно- ориентированный, распределяемый, интерпретируемый, надёжный, защищённый, не зависящий от архитектуры, высокопроизводительный, многопоточный и динамичный». На Java разрабатывают небольшие программы, которые можно загружать из Сети и выполнять на клиентском компьютере. Недавно появилась информация о выпуске спецификации JDBC (по аналогии с ODBC фирмы Microsoft)- стандарта для доступа из программы, написанной на Java к БД любого производителя, поставляющего драйвер, соответствующий JDBC для своей СУБД. С выпуском подобных драйверов упроститься доступ и модификация БД, появятся стандартные способы работы, что сильно упростит разработку ПТК, подобного описываемому здесь. Но пока не все производители ПО для клиентов поддержали начинания фирмы Sun, поэтому только браузер Netscape Navigator умеет выполнять Java- приложения.

Если Java станет стандартом, то можно будет переписать ПТК на этом языке, сделав его более надёжным, быстрым и привлекательным в смысле интерфейса пользователя.