ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

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

     

    Інформатика, програмування
    Використання пакету 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.

    7.3 Склад

    Структурно, 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

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

    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 preOpen         - Початок форматованого тексту.             procedure preClose         - Закінчення форматованого тексту.     

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status