Смекни!
smekni.com

Основы использования WWW - технологий для доступа к существующим базам данных (стр. 2 из 2)

Третья глава посвящена описанию базовых элементов WWW-технологии, процедур установки и администрирования WWW-сервера.

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

В главах 5, 6, 7 излагается три технологических направления, используемых при реализации приведенных выше сценариев. Сориентировавшись на одно или несколько таких направлений, можно реализовывать программные комплексы с функциями "Преобразователь" и "Обработчик" сценариев 1-3.

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

  • Однократной генерации гипертекстовых документов.
  • Поддержки синхронности содержимого информационного хранилища с основной БД.
  • Обработки запросов от WWW-сервера с динамическим созданием документов на основе данных основной БД или информационного хранилища.

1.5. Обзор технологий

1.5.1. WWW - сервер NCSA HTTPD

Как было сказано ранее, одним из ключевых элементов технологии WWW является WWW-сервер. Стандартом де-факто для Unix-систем стало программное обеспечение (ПО) WWW-сервера Национального Центра по Суперкомпьютерным Приложениям (NCSA) Иллинойского Университета. Все вновь создаваемые продукты поддерживают полную совместимость с ПО NCSA по режимам работы и форматом данных. Cервер NCSA является постоянно совершенствуемым продуктом, отражающим последние веяния WWW-технологии. Созданная относительно недавно "Apache Group" разрабатывает свое программное обеспечение WWW - сервера на базе продукта NCSA HTTPD.

Глава 3 данного отчета посвящена установке и администрированию WWW-сервера NCSA HTTPD.

1.5.2. SQL - сервер фирмы Oracle

При реализации сценария 3 встает вопрос о выборе качественной платформы для создания информационного хранилища. Реляционная система управления базами данных фирмы Oracle является лидером на рынке СУБД. По производительности, надежности хранения данных, развитию семейства интерфейсов, объему серверных платформ продукты Oracle возглавляют многочисленные рейтинги. Гибкость использования, развитые средства управления доступом и распределенная архитектура делают сервер Oracle чрезвычайно привлекательным для технологии информационных хранилищ, а возможность работы на свободно - распространяемых Unix-платформах расширяет его возможности в некоммерческой среде.

Существенным ограничением использование Oracle в сфере науки и образования является достаточно высокая цена и низкое бюджетное финансирование. Однако с 1996 года фирма Oracle объявила о специальной программе для российских университетов, что позволяет за относительно небольшие деньги приобрести любой набор продуктов Oracle.

1.5.3. Библиотеки и функции на языке C

Одной из основных технологий создания CGI-модулей для реализации функций "преобразователя" и "обработчика" сценариев 1-3 является язык C. Язык C - наиболее распространенный язык программирования. В каждом ВУЗе есть специалисты, способные использовать его для создания приложений. При решении описанных задач язык C можно использовать для создания следующих программ:

  1. преобразователя, однократно преобразующего содержимое БД в сеть гипертекстовых документов (рис. 1-2);
  2. обработчика, динамически обрабатывающего запрос от WWW-сервера к БД. (рис. 1-3);
  3. перегрузчика из существующих БД в информационное хранилище (см. рис. 1-4);
  4. обработчика запросов от WWW-сервера к информационному хранилищу (рис. 1-5).

Для поддержки этих функций создано большое количество библиотек и функций языка C, готовых приложений в исходных текстах. В главе 4 описывается использование языка C для создания исполняемых CGI-программ.

1.5.4. Язык программирования Perl

Язык Perl был создан для повышения эффективности обработки текстовых документов. Он ориентирован на обработку строк. В настоящее время язык получил большое распространение как инструмент создания исполняемых модулей WWW-сервера. Существующие пакеты расширения обеспечивают доступ к SQL-серверам непосредственно из Perl-программы. Это позволяет использовать его для решения всех задач, возникающих при обеспечении WWW-доступа к базам данных. Perl эффективен также при обработке произвольных структур данных: существующих отчетов, списков, карточек в электронном виде.

В главе 6 приведены примеры использования его для создания HTML - документов, доступа к SQL-серверам, dbf-ориентированным базам данных. В Приложении 2 описаны все основные конструкции языка.

1.5.5. Пакет Web - Oracle - Web

Пакет WOW является свободно-распространяемым программным средством, предназначенным для создания интерактивных WWW-интерфейсов с СУБД Oracle. Пакет WOW был первым и наиболее простым средством, выпущенным фирмой Oracle. В настоящее время существует набор продуктов, развивающих функциональность WOW'а - Oracle Web Server версий 1, 2, Oracle Web Arcitecture.

Все перечисленные продукты позволяют использовать процедурное расширение языка SQL - PL/SQL, разработанное фирмой Oracle для динамического создания гипертекстовых документов. Высокая скорость разработки достигается за счет резкого упрощения доступа к БД - программы на PL/SQL исполняются самим сервером Oracle. Предлагаемый пакет WOW был переработан в Новосибирском областном центре НИТ с целью поддержки нескольких русскоязычных кодировок.

Основной областью использования WOW является обработка запросов от WWW-сервера к SQL-серверу Oracle в среде Unix. В предложенных сценариях пакет WOW позволит организовать эффективный WWW доступ к информационному хранилищу, построенному на базе сервера баз данных Oracle (сценарий 3). Глава 7 отчета посвящена описанию процедур установки и администрирования пакета.

1.5.6. Пакет Cold Fusion фирмы Allaire Corp

Пакет предназначен для использования под ОС Windows и позволяет обращаться к различным базам данных, поддерживающим интерфейс ODBC через WWW-интерфейсы. Пакет имеет коммерческий статус, его "evaluation copy" является свободно-распространяемой. Для доступа к базам данных используются конструкции языка DBML - расширения языка HTML, дополненного средствами доступа к БД через ODBC. Документы на языке DBML обрабатываются на серверной части, в результате чего создается HTML-документ. Полноценная версия пакета, вместе с WWW - сервером стоит $486.

Пакет может эффективно использоваться в качестве обработчика запросов WWW к исходным базам данных или информационному хранилищу (сценарии 2,3). Глава 5 отчета посвящена описанию процедуры установки и использованию пакета.

1.6. Оценка трудоемкости обеспечения WWW доступа

Трудоемкость обеспечения WWW-доступа к базам данных, очевидно, складывается из трудоемкости работ при реализации одного из вышеприведенных сценариев. Реализация первого сценария связана с последовательным преобразованием всех данных, находящихся в исходной БД. Разработка средств вывода содержимого таблицы в формате HTML с необходимым форматированием и текстовым сопровождением будет занимать порядка 1-3-х дней для одного разработчика. Разработка средств построения индексной структуры к выводимым данным является более творческой работой и может занять 1-3 недели для одного разработчика.

Трудоемкость построения интерфейсов для сценариев 2, 3, в общем случае, эквивалентна трудоемкости построения этих интерфейсов при создании исходной информационной системы (т.е. той, для которой обеспечивается WWW-доступ) с использованием традиционных средств разработки (не-CASE). В третьем сценарии дополнительные трудозатраты пойдут на перегрузку данных в ИХ. При перегрузке данных без изменения структуры и имен можно исходить из оценки трудозатрат: 1-2 таблицы в 1-2 дня для одного разработчика, в зависимости от сложности и объема таблиц, при условии отладки технологии перегрузки.

При использовании различных средств разработки интерфейсов к БД, представленных в отчете, трудозатраты могут существенно различаться. Ранжированный по уменьшению трудозатрат на разработку интерфейсов список будет выглядеть так:

  1. библиотеки и функции на языке C;
  2. язык Perl;
  3. - 4. пакеты WOW и Cold Fusion.