7.1 Введение
7.2 Назначение и схема работы
7.3 Состав
7.4 Установка
7.5 Использование
Возможно вы искали - Доклад: Использование пакета Cold Fusion для MS Windows при построении WWW - интерфейсов к базам данных
7.6 Спецификация процедур пакета htp
7.1 Введение
В данной главе отчета описывается свободно - распространяемое программное обеспечение - пакет WOW. Для освоения этого материала необходимо знание языка SQL и его процедурного расширения PL/SQL от фирмы Oracle. Кроме этого необходимо знание основ администрирования сервера Oracle. Информацию по PL/SQL Вы можете получить из документации по серверу Oracle, книга "PL/SQL Users Guide and Reference". Информацию об основах администрирования сервера Oracle можно получить из этой же документации, книга "Oracle7 Server Administration Guide".
Пакет WOW предназначен для использования под ОС Unix.
7.2 Назначение и схема работы
Пакет WOW предназначен для обработки запросов от WWW - сервера (Web - ) к SQL - серверу Oracle (-Oracle- ) с генерацией динамических HTML - документов (-Web ). Разработчик приложений, использующий WOW оперирует только с родным языком Oracle - PL/SQL, являющимся процедурным расширением языка SQL. Это обуславливает высокую эффективность разработки приложений. Обработка созданных приложений непосредственно в сервере Oracle определяет высокую скорость исполнения приложений.
Основная идея пакета WOW - преобразование запроса к WWW - серверу в вызов определенной процедуры PL/SQL. В качестве параметров процедуры, используются данные из запроса к WWW - серверу. Кроме этого, язык PL/SQL дополняется функциями вывода различных данных в формате HTML. Сфера технологических решений пакета приведена на рис. 7-1.
7.3 Состав
Похожий материал - Реферат: Интерпретатор командного языка shell
Структурно, WOW состоит из ряда исполняемых программ, соответствующих спецификации CGI и набора пакетов PL/SQL (см. рис. 7-2).
Пакет htp содержит процедуры и функции, облегчающие формирование HTML - документа. Пакет htf содержит описание различных констант и функций, используемых при формировании HTML - документов.
7.4 Установка
Для корректной работы пакета необходимо правильно провести процедуру установки. Пакет WOW требует около 2Mb дискового пространства. На базовом сервере должны быть установлены:
- операционная система семейства Unix;
- WWW - сервер;
- сервер баз данных Oracle или сетевой стек Oracle SQL*Net с возможностью доступа к удаленному серверу баз данных Oracle.
Этап I
В случае, когда пакет поставляется в виде исходных текстов, необходимо произвести компиляцию и сборку исполняемого модуля wowstub . При сборке wowstub необходимо использовать библиотеки установленного сервера Oracle или сетевого стека SQL*Net. Компиляция и сборка производится утилитой make на основании данных файла Makefile. Вам необходимо изменить ряд параметров Makefile для настройки на Вашу конфигурацию Oracle и Unix:
- ORACLE_HOME - должен совпадать с каталогом, определенным переменной ORACLE_HOME сервера Oracle.
- DEST_DIR - должен указывать на каталог, хранящий CGI модули Вашего WWW сервера.
- DOC_ROOT - должен указывать на каталог в котором будет размещена документация по WOW. Каталог должен быть доступен для WWW сервера.
Этап II
Независимо от сборки wowstub , необходимо создать ряд структур данных в БД Oracle.
- Создать пользователя, через которого WOW будет осуществлять доступ к данным и исполнение рабочих процедур. Обычно используется имя WWW .
- Создать из под вышеупомянутого пользователя все необходимые структуры данных и примеры. Для этого необходимо исполнить следующие SQL файлы, идущие в дистрибутиве WOW: wow.sql , ht.sql , math.sql , emp.sql , showemp.sql , hanoi.sql . Исполнить эти файлы можно с использованием одной из следующих утилит: SQL*Plus, SQL*DBA, Server Manager, Enterprize Manager.
Этап III
Очень интересно - Доклад: Коммутаторы Ethernet
Необходимо поместить модуль wowstub в каталог CGI программ Вашего WWW сервера. Необходимо переопределить ряд параметров файла wow , представляющего собой скрипт sh:
- ORACLE_HOME - в соответствии с параметром ORACLE_HOME Вашего сервера Oracle или стека SQL*Net;
- TWO_TASK - в соответствии с параметром TWO_TASK клиентской части Вашего сервера Oracle;
- WOW_UID - в соответствии с именем пользователя и его паролем, созданными на этапе II установки.
В случае если Вы используете версию от ЦНИТ НГУ, необходимо отредактировать все 4 файла: wow.win , wow.iso , wow.alt , wow.koi8 .
Отредактированный файл wow (все 4 отредактированных файлы при использовании версии от ЦНИТ НГУ) необходимо поместить в каталог для CGI - программ Вашего WWW сервера.
7.5 Использование
Рассмотрим простейший пример с использованием пакета WOW. При обращении к WWW - серверу www.cnit.nsu.ru по URL:
http://www.cnit.nsu.ru/cgi-bin/wow.win/example.test?answer=no
Вам будет интересно - Шпаргалка: Лабораторные работы по программированию
происходит следующая цепочка действий (см. рис. 7-3):
- WWW - сервер интерпретирует это обращение как запуск CGI - программы wow.win .
- Программа wow.win интерпретирует параметры как вызов процедуры test пакета example с параметром answer имеющим значение no , созданной в схеме WWW сервера Oracle.
- Сервер Oracle исполняет эту процедуру и все процедуры и функции, вызываемые из нее. Выходные данные, представляющие динамически созданный HTML - документ, передаются программе wow.win.
- Программа wow.win перекодирует выходной документ в кодировку Microsoft CodePage 1251, используемую в Windows - приложениях, и передает его WWW - серверу.
- WWW - сервер возвращает созданный документ, как результат запроса, WWW - клиенту.
URL, обращающийся к процедуре PL/SQL должен быть построен по определенным правилам и содержать ряд элементов:
- Указатель на модуль пакета WOW, находящийся в каталоге CGI - программ. Расширение программы wow - .koi8 , .win , .iso , .alt определяет кодировку WWW - клиента:
- КОИ-8
- Microsoft Code Page 1251
- ISO 8859-5
- Microsoft Code Page 866
Например:
http://www.cnit.nsu.ru/cgi-bin/wow.win
- Имя процедуры PL/SQL, к которой происходит обращение. Модули пакета используют схему и регистрационные данные пользователя www БД Oracle. Таким образом, вызываемая PL/SQL - процедура должна быть доступна пользователю www на исполнение. Если процедура (test ) создана прямо в схеме www , необходимо просто указать ее имя:
http://www.cnit.nsu.ru/cgi-bin/wow.win/test
Если процедура входит в состав пакета (example ), созданного в схеме www , необходимо добавить имя пакета и имя процедуры:
Похожий материал - Реферат: Некоторые черты SQL92 и SQL-3
http://www.cnit.nsu.ru/cgi-bin/wow.win/example.test
Когда пакет создан в другой схеме Oracle, необходимо указывать и имя схемы. Например, для схемы fancy получим:
http://www.cnit.nsu.ru/cgi-bin/wow.win/fancy.example.test
Пользователь www должен иметь права на исполнение этой процедуры, явно предоставленные оператором GRANT языка SQL.
- После имени процедуры, через разделитель '?', начинают перечисляться параметры процедуры и их значения в виде пар: