Використання пакету Web - Oracle-Web WOW

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

7.1 Введення

7.2 Призначення і схема роботи

7.3 Склад

7.4 Установка

7.5 Використання

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.

Використання пакету Web - Oracle-Web (WOW)

7.3 Склад

Структурно, WOW складається з ряду виконуваних програм, відповідних специфікації CGI і набору пакетів PL / SQL (див. рис. 7-2).

Використання пакету Web - Oracle-Web (WOW)

Пакет 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

Необхідно помістити модуль 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 - клієнта.

Використання пакету Web - Oracle-Web (WOW)

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, необхідно додати ім'я пакету та ім'я процедури:

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.

Після імені процедури, через роздільник '?', Починають перераховуватися параметри процедури і їх значення у вигляді пар:

=

між собою, різні параметри поділяються амперсандом '&':

= & =

Назва параметра має збігатися з назвою параметра викликається процедури. Число параметрів повинна в точності відповідати числу параметрів процедури. Якщо хоча б одна з цих вимог не дотримано, Ви отримаєте повідомлення про помилку. Порядок вказівки параметрів значення не має. Великі і малі літери в назві параметрів рівнозначні.

Кількість реально переданих параметрів може і не збігатися з числом параметрів, зазначених у специфікації процедури. У цьому випадку, всі опускаються параметри повинні мати значення за замовчуванням.

Приклад:
http://www.cnit.nsu.ru/cgi-bin/wow.win/example.test?answer=no

Виходячи з описаного механізму роботи пакета WOW можна сформулювати основні вимоги до PL / SQL - процедурам, що обробляє запити від WWW - серверу.

Всі вхідні змінні, що передаються через WOW в процедуру завжди мають тип varchar2. Якщо Ви хочете використовувати будь - якій іншій тип даних, необхідно використовувати функції перетворення з varchar2. У пакеті htp відсутні функції виведення початку і кінця HTML - документа. Оскільки багато сучасних броузери інтерпретують текст без обрамляють тегів ... як відформатованого, необхідно прямо задавати ці теги на початку і кінці документа.

Приклад пакету example:
Create or Replace package example is
procedure test (answer in Varchar2);
end;
/
Create or Replace package body example is
procedure test (answer in Varchar2) is
відповідь varchar2 (3);
cursor c_man (ans in varchar2) is select Прізвище from Результати_опроса where Відповідь = ans order by Прізвище;
begin
- Початок документа
htp.p ('');
- Висновок назви сторінки та заголовка
if answer = 'no'
then
відповідь: = 'НІ';
htp.htitle ('Прізвища людей, які відповіли негативно');
else
відповідь: = 'ТАК';
htp.htitle ('Прізвища людей, які відповіли позитивно');
end if;
htp.olistopen;
- Початок нумерованого списку
for man in c_man (Відповідь) loop
- Елемент списку
htp.item (man.Фамілія);
end loop;
- Кінець нумерованого списку
htp.olistclose;
- Кінець документа
htp.p ('');
end;
end;
/

При цьому мається на увазі що у схемі WWW Oracle знаходиться таблиця приблизно наступної структури:

Create table Результати_опроса (Прізвище varchar2 (30),
Ім'я varchar2 (14),
По батькові varchar2 (20),
Відповідь varchar2 (3));

Звертатися до пакету WOW можна і з форм HTML. Нижче наведено приклад звернення до того ж пакету example з найпростішої форми.



Тестова форма


Тестова форма

Введіть відповідь:



7.6 Специфікація процедур пакету htp
procedure title (ctitle in varchar2) - Виводить назву документа (теги)
procedure htitle (ctitle in varchar2) - Виводить назву документа і повторює його в заголовку першого рівня (теги,)
procedure header (nsize in integer, cheader in varchar2) - Виводить заголовок рівня nsize (теги ...)
procedure url (curl in varchar2, cname in varchar2) - Формує cname як гіпертекстную зв'язок, що вказує на curl (теги).
procedure gif (curl in varchar2) - Включає в документ картинку, шлях до якої curl (теги).
procedure gif (curl in varchar2, calign in varchar2) - Включає в документ картинку, шлях до якої curl з вирівнюванням, визначеним параметром calign (теги).
procedure bold (ctext in varchar2) - Виводить текст ctext жирним шрифтом (теги).
procedure italic (ctext in varchar2) - Виводить текст ctext шрифтом italic (теги)
procedure item (cval in varchar2) - Виводить cval як елемент списку (теги).
procedure formOpen (curl in varchar2) - Створює форму з дією curl (теги).
procedure formHidden (cname in varchar2, cvalue in varchar2) - Створює приховане поле форми для зберігання значення cvalue змінної з ім'ям cname.
procedure formPassword (cname in varchar2),
procedure formPassword (cname in varchar2, cvalue in varchar2)
- Створює поле форми для введення значення змінної - пароля з ім'ям cname і значенням за замовчуванням cvalue.
procedure formField (cname in varchar2, nsize in integer),
procedure formField (cname in varchar2),
procedure formField (cname in varchar2, cvalue in varchar2)
- Створює поле форми для введення значення змінної з ім'ям cname довжиною nsize зі значенням за замовчуванням cvalue.
procedure formText (cname in varchar2, nrow in integer, ncol in integer) - Створює багаторядкове поле форми (довжиною ncol, висотою nrow) для введення значення змінної з ім'ям cname.
procedure formCheckbox (cname in varchar2) - Створює елемент checkbox для введення значення логічної змінної cname.
procedure formRadio (cname in varchar2, cval in varchar2) - Створює елемент radiobutton для введення одного з значень cval змінної cname.
procedure formSelectOpen (cname in varchar2) - Створює список значень для змінної з ім'ям cname.
procedure formSelectOption (cval in varchar2) - Додає значення cval до списку значень змінної, описаної в formSelectOpen.
procedure formSelectClose - Закінчує список значень, відкритий formSelectOpen.
procedure formDo (cname in varchar2) - Створює кнопку типу SUBMIT поточної форми з ім'ям cname.
procedure formDo - Створює кнопку типу SUBMIT поточної форми з ім'ям 'Submit'.
procedure formUndo (cname in varchar2) - Створює кнопку типу RESET поточної форми з ім'ям cname.
procedure formUndo - Створює кнопку типу RESET поточної форми з ім'ям 'Reset'.
procedure formClose - Закриває поточну форму.
Процедури виведення:
procedure print (cbuf in varchar2),
procedure print (dbuf in date),
procedure print (nbuf in number)
- Виводять значення різних типів.
Синоніми для процедури print - p:
procedure p (cbuf in varchar2),
procedure p (dbuf in date),
procedure p (nbuf in number).
Процедури, що виводять постійні значення:
procedure line - Розділова лінія (тег).
procedure para - Початок параграфа (тег

).

procedure nl - Переклад рядка (тег
).
procedure item - Елемент списку (тег).
procedure ulistOpen - Початок ненумерованого списку (тег).
procedure ulistClose - Закінчення ненумерованого списку (тег).
procedure olistOpen - Початок нумерованого списку (тег).
procedure olistClose - Закінчення нумерованого списку (тег).
procedure dlistOpen - Початок списку визначень (тег).
procedure dlistClose - Закінчення списку визначень (тег).
procedure dterm - Термін списку визначень (тег).
procedure ddef - Визначення терміна (тег).
procedure divOpen - Початок форматованого тексту.
procedure divClose - Закінчення форматованого тексту.


Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Реферат
25кб. | скачати


Схожі роботи:
Web-Дизайн і програми для створення web-сторінок
Створення Web-документів Використання мови HTML
Створення Web документів Використання мови HTML
Web-сервери
Web-графіка
Робота в Web
Створення WEB
Web-камери
Графіка на Web-сторінках
© Усі права захищені
написати до нас