pobierz plik referatu

Transkrypt

pobierz plik referatu
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Rozdział 46
w
Środowisko Oracle Application Server w internetowej
aplikacji inteligentnego systemu lingwistycznego
w
pl
s.
1 Wstęp
da
.b
w
Streszczenie. W rozdziale przedstawiono sposób tworzenia aplikacji
w architekturze trójwarstwowej z wykorzystaniem środowiska Oracle
Application Server jako alternatywy do innych oferowanych metod obsługi
bazy inteligentnego lingwistycznego systemu. Autorzy niniejszego rozdziału
odwołują się do zasad budowy algorytmów przeznaczonych do analizy tekstu
na podstawie reguł gramatyki strukturalnej i komunikacyjnej z elementami
modelu logicznego języka, które zostały one przedstawione w artykule:
Intelligent Linguistic Database Systems i zaprezentowane na konferencji
FCCS’2005 w Bronisławowie. Prezentowany system w wymienionym
środowisku jest w stanie, na podstawie przekazanego zdania, wyszukać i
jednoznacznie określić wyrazy lub grupy wyrazów pod względem gramatyki
komunikatywnej. Artykuł ten obejmuje zakres tworzenia systemu
internetowego wykorzystującego moduł serwera HTTP Oracle - mod_plsql
.Wtyczka ta odwzorowuje żądania przeglądarki do określonej ścieżki
wirtualnej na wywołania procedur składowanych. Prezentowana aplikacja
obejmuje moduły wprowadzania, analizy i prezentacji danych.
Aplikacja bazodanowa stanowi warstwę pośrednią między systemem zarządzania bazą
danych a użytkownikiem. Aby skorzystać z bazy danych trzeba posłużyć się jakąś
aplikacją. Tworzeniem aplikacji zajmują się programiści wykorzystując do tego celu
różnorodne narzędzia i technologie.
2 Metody tworzenia aplikacji w środowisku Oracle
Oracle dostarcza zbioru narzędzi i środowisk umożliwiających wykorzystanie
najpopularniejszych języków programowania do tworzenia aplikacji łączących się z bazą
danych. Interfejsem najniższego poziomu jest interfejs OCI (Oracle Call Interface), który
Sławomir Wiak, Paweł Drzymała, Henryk Welfle, Maria Dems: Politechnika Łódzka,
Instytut Mechatroniki i Systemów Informatycznych, ul. Stefanowskiego 18/22,
90-924 Łódź, Polska
email: (wiakslaw, pdrzymal, welfle, mdems)@p.lodz.pl
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
S. Wiak, P. Drzymała, H. Welfle, M. Dems
w
przeznaczono do wykorzystania z poziomu C/C++. OCI wymaga od programisty
stosunkowo dużych umiejętności oraz poświęcenia niemałej dawki czasu na
programowanie i usuwanie błędów. Dostępne są również aplikacje tzw. prekompilatorów
dla różnych języków programowania. Prekompilator tłumaczy program z zanurzonymi
instrukcjami SQL na program zrozumiały dla kompilatora C.
Obecnie Oracle kładzie największy nacisk na obsługę języka Java. Dostęp do baz
danych realizowany jest w tym języku poprzez wykorzystanie interfejsu JDBC (Java
DataBase Connectivity). Alternatywnym sposobem programowania dostępu do baz danych
w aplikacjach Javy jest wykorzystanie prekompilatora o nazwie SQLJ. Prekompilator ten
działa podobnie jak prekompilatory z grupy Pro* - program w Javie z zanurzonymi
instrukcjami SQL tłumaczony jest na kod z odwołaniami do JDBC, a następnie
kompilowany. Obok Javy podstawowym językiem proceduralnym jest PL/SQL. Na
przestrzeni lat firma ORACLE znacząco rozszerzyła możliwości tego języka, umożliwiając
wykorzystanie go również do tworzenia aplikacji pracujących po stronie klienta.
Proste aplikacje WWW mogą być tworzone na bazie oprogramowania serwera baz
danych. Oracle 9i Database zawiera serwer http oparty na Apache, kontroler serwletów i
JSP oraz umożliwia tworzenie procedur składowanych generujących kod HTML.
w
w
3 Konfiguracja środowiska OAS i serwera http
da
.b
Komunikacja klienta możliwa jest dzięki modułowi serwera HTTP Oracle - mod_plsql.
„Wtyczka” ta odwzorowuje żądania przeglądarki do określonej ścieżki wirtualnej
(domyślnie /pls) na wywołania procedur składowanych. Procedury składowane generują
kod HTML, przekazywany następnie do modułu PL/SQL, który zwraca go przeglądarce.
Modul PL/SQL – łączy się z bazą danych wykorzystując parametry konfiguracyjne
zapisane w tzw. deskryptorze dostępu do baz danych – DAD (rys. 1).
pl
s.
Rys. 1. Strona konfiguracji ustawień serwera http
Menu konfiguracyjne Mod_plsql (rys. 2, 3) wykorzystywane jest do przeprowadzenia
konfiguracji bramki deskryptora dostępu do baz danych (gdzie ustawia się m.in. informacje
o połączeniu Oracle, tryb identyfikacji, parametry wysyłania plików).
440
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Środowisko Oracle Application Server w internetowej aplikacji inteligentnego systemu lingwistycznego
w
Rys. 2. Zdefiniowane przykładowe deskryptory dostępu do baz danych
w
w
Rys. 3. Konfiguracja przykładowego deskryptora dostępu do baz danych
da
.b
Konfiguracja zapisywana jest do pliku tekstowego wdbsrv.app w katalogu serwera http
który dostępny jest w podanej lokalizacji : ORACLE_HOME/Apache/modplsql/cfg/
Przy właściwie ustawionym deskryptorze dostępu procedury można wywołać przez
podanie ich nazwy w przeglądarce według opisu:
http:/nazwa_serwera/pls/nazwa_deskryptora/procedura
lub
http:/nazwa_serwera/pls/nazwa_deskryptora/nazwa_pakietu.procedura
4 Wbudowane pakiety Web Toolkit języka PL/SQL
pl
s.
Oracle zawiera grupę wbudowanych pakietów PL/SQL zwanych PL/SQL Web Toolkit.
Głównym zadaniem tych pakietów jest generowanie kodu HTML i przesyłanie go do
przeglądarki na komputerze klienta za pośrednictwem modułu serwera Apache o nazwie
mod_plsql.
PL/SQL Web Toolkit składa się z wybranych pakietów:
− htp i htf,
− owa_cache,
− owa_cookie,
− owa_image,
− owa_opt_lock,
− owa_pattern,
− owa_sec,
− owa_text,
− owa_util.
Podstawowym i najczęściej wykorzystywanym systemowym pakietem jest pakiet Hyper
Text Procedures (htp) generujący znaczniki HTML natomiast pakiet Hyper Text Functions
(htf) zawiera funkcje.
441
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
S. Wiak, P. Drzymała, H. Welfle, M. Dems
Pakiet owa_cookie służy do przechowywania po stronie klienta użytecznych informacji.
Ze względu na wydajność aplikacji powinno stosować się cookie a nie ukryte pola
formularza.
W pakiecie owa_cookie znajdują się procedury i funkcje, pozwalające wysyłać cookies
do przeglądarki i je z niej odczytywać. Pokazane są w tabeli 1.
Tabela 1. Procedury i funkcje pakietu owa_cookie
w
Nazwa funkcji
lub procedury
Przeznaczenie
procedura wysyłająca ciasteczka do komputera klienta
procedura czytająca zawartość wszystkich ciasteczek
funkcja odpowiadająca za przeczytanie zawartości ciasteczka
procedura usuwająca ciasteczko
w
w
Owa_cookie.send
Owa_cookie.get_all
Owa_cookie.get
Owa_cookie.remove
5 Opis i charakterystyka aplikacji
da
.b
Należy zaznaczyć, że system inteligentnej lingwistycznej bazy danych form językowych
był projektowany i powstawał w środowisku rozproszonym tzn. algorytmy
implementowane były w systemie z równoległym wprowadzaniem słowników funkcji
językowych przez wiele osób. Do realizacji tego celu zaistniała potrzeba wykorzystania
globalnego medium transmisji informacji i sieci komunikacyjnych - Internetu. Autorzy
musieli zatem zadbać o bezpieczeństwo architektury na wielu płaszczyznach dostępu i
zabezpieczeń projektu.
Do realizacji wymienionego celu budowy procedur przetwarzania zadań lingwistycznych na podstawie sprecyzowanych algorytmów autorzy zdecydowali się
wykorzystać:
− Kompletne rozwiązanie bazodanowe i analityczne – Oracle Application Server OAS
(Rys. 4), przeznaczone do szybkiego tworzenia nowej generacji aplikacji
ukierunkowanych dla Internetu, w tym środowisko serwera WWW - Apache
z implementacją protokołu kryptografii transmisji danych SSL przeznaczonego do
zadań komercyjnych w tzw. e-businnessie tzn. zadań dla których stawia się
najwyższe wymagania co do bezpieczeństwa.
− Rozwijający się obecnie język PL/SQL w pakiecie Web Toolkit. PL/SQL – jest
proceduralnym rozszerzeniem języka SQL, umożliwiającym wykonanie rozkazów
warunkowych, pętli itp. w połączeniu z zapytaniami do bazy. Procedury napisane
w PL/SQL mogą składać się z bloków, które z kolei mogą posiadać własne lokalne
zmienne pętle oraz obsługę błędów w tym mogą generować strony w oparciu
o znaczniki HTML.
pl
s.
442
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Środowisko Oracle Application Server w internetowej aplikacji inteligentnego systemu lingwistycznego
w
da
.b
w
w
1. The Oracle HTTP Server receives a PL/SQL Server Page request from a client browser.
2. The Oracle HTTP Server routes the request to the PL/SQL Gateway.
3. The request is forwarded by the PL/SQL Gateway to the Oracle Database.
4. The PL/SQL Gateway prepares the call parameters, and invokes the PL/SQL procedure in the
application.
5. The PL/SQL procedure generates an HTML page using data and the PL/SQL Web Toolkit
accessed from the database.
6. The response is returned to the PL/SQL Gateway.
7. The Oracle HTTP Server sends the response to the client browser.
Rys. 4. Schemat wymiany informacji w architekturze trójwarstwowej [1]
pl
s.
Oracle Application Server wspiera internetowe standardy XML oraz HTTP. Wykorzystanie
środowiska wydatnie obniży czas potrzebny do uruchomienia aplikacji funkcji
komunikacyjnych, czy „hurtowni danych form językowych”, przy równoczesnym
zapewnieniu skalowalności potrzebnej w najbardziej wymagających scenariuszach
lingwistycznych.
Przykład zawartości tabeli wybranych czasowników z parametrami przedstawiony został
na rys. 5. Pozostałe kategorie gramatyczne: rzeczowników, przymiotników, przyimków
przedstawione zostały w artykule [2].
Analiza zdań prostych oparta jest na funkcjach, których zasada działania wykorzystuje
rozbudowane bloki wyszukiwania podmiotu - na zasadzie śledzenia składni budowy zdania
a dokładniej określonego rzeczownika w stosunku do wyznaczonego metapredykatu.
Procedury i funkcje przeznaczone do obsługi Inteligentnej Lingwistycznej Bazy Danych
przechowywane są w pakietach z wykorzystaniem PL/SQL. Przykładowy pakiet
z procedurą wprowadzania danych przedstawiony został na rys. 6.
Komputerowy słownik operatorów wykonany został na platformie Oracle 9i Database i
zawiera kilka tysięcy elementów funkcji językowych zgromadzonych w postaci
tabelarycznej.
443
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
S. Wiak, P. Drzymała, H. Welfle, M. Dems
w
w
w
Rys. 5. Wybrane czasowniki z parametrami przedstawione w środowisku Enterprise
Manager Oracle 9i
da
.b
pl
s.
Rys. 6. Przykładowy pakiet zawierający procedurę przechowywaną odpowiedzialną za
wprowadzanie danych do analizatora tekstu.
Przykład początkowej strony aplikacji obsługującej dla zdań prostych system słownika
lingwistycznej bazy danych przedstawiony został na rys. 7.
444
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Środowisko Oracle Application Server w internetowej aplikacji inteligentnego systemu lingwistycznego
w
w
w
da
.b
Rys. 7. Początkowa strona aplikacji Inteligentnej lingwistycznej bazy danych
6 Podsumowanie
Oracle Application Serwer oraz system Oralce9i Database potrafi sprostać wszystkim
wyzwaniom, jakie stawia przed nią rynek, a zwłaszcza rynek rozwiązań biznesowych.
Posiada on pełen pakiet narzędzi i usług, które mogą wspierać rozwój firm i pomagać przy
zwiększaniu ich rentowności. Oracle 9i to wszechstronny produkt, będący uniwersalnym
serwerem danych, zaprojektowany z uwzględnieniem możliwości prowadzenia działalności
w Internecie. Jest doskonałym rozwiązaniem dla przedsięwzięć w których stosowane są
najnowsze techniki zarządzania danymi.
1.
2.
3.
4.
5.
pl
s.
Literatura
Oracle9i Application Server Oracle, Using the PL/SQL Gateway, Release 1 (v1.0.2.2), May
2001,Part No. A90099-01.
Drzymała P.,Welfle H.,Wiak S., Habrajska G., Łazarow E., Awdiejew A.: Intelligent Linguistic
Database Systems. FCCS’2005 Bronisławowo.
Adjejew A.: Gramatyka komunikacyjna. Wydawnictwo Naukowe PWN, Warszawa 1999.
Habrajska G.: Presupozycja - kondensacja – implikatura. Język w komunikacji, t.1, Łódź 2001.
Habrajska G.: Kondensacja i skrótowość w komunikacji przez komputer. Słowo w tekście,
przekładzie i słowniku, ed. Peter Lang, Europäischer Verlag der Wissenchaften, Sonderdruck
2002.
445
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
w
da
.b
w
w
pl
s.
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006

Podobne dokumenty