4. Možnosti prezentace a správy dat na Internetu

4.1 Úvod

Jak již bylo řečeno, databázové technologie jsou široce rozšířeny a jejich vzestup stále pokračuje. S tím vyvstává požadavek na to, aby data byla zpřístupněna v co nejširším měřítku. Prostředkem, který toto spojení zajišťuje je „všudypřítomný“ Internet, resp. World Wide Web - WWW. Zpočátku se jednalo jen o stránky s neměnným obsahem, ale dnes se odhaduje, že přibližně polovina stránek je generována dynamicky [14] – tj. obsah většiny z nich se vytváří na základě informací poskytovaných nějakým databázovým systémem. Uživatel tak může komunikovat s databázovou aplikací jen prostřednictvím webového prohlížeče.
Oracle8i standardně obsahuje komponentu Web Publishing Assistant s jehož pomocí je možno vytvářet „pseudodynamické“ webové stránky na základě SQL dotazů. Dalším nástrojem, už samostatně dodávaným, je Oracle WebDB, což je kompletní vývojové prostředí nabízející řešení, jak vytvářet dynamické webové stránky založené na datech z databáze. Tyto produkty a zejména WebDB budou popsány v následujících kapitolách.

4.2 Web Publishing Assistant

4.2.1 Princip

Tento asistent umožňuje vytvářet sestavy ve formátu HTML na základě databázových tabulek nebo konkrétních SQL dotazů. Takto vygenerované webové stránky je možno v pravidelných intervalech obnovovat a udržovat je tak v aktuálním stavu. Možnosti obnovování budou popsány níže.
Výsledky můžeme formátovat s využitím přednastavených šablon (templates.HTX) (více viz. kapitola 4.2.3).
Práce s ním je velmi jednoduchá a v několika minutách se dají požadovaná data připravit ke zveřejnění na Internetu. To vše bez nutnosti programovat v Javě nebo HTML. Navíc možnosti nastavení obnovování jsou velmi široké – stránky se mohou obnovovat i po několika minutách a tím se již v principu blíží dynamickým.
Aby obnovování stránek probíhalo, musí být aktivní služba (pod Windows NT) OracleWebAssistant – viz. Start Þ Settings Þ Control Panel Þ Services.

4.2.2 Vytvoření webové stránky

Proces vytvoření nové webové stránky je rozdělen do čtyř základních kroků – každý v samostatném okně. Spustí se tlačítkem New v nástrojové liště nebo Create Web Page z uvítací stránky:

  1. Přihlášení k databázi  (Login)       
    Zadává se uživatelské jméno / heslo (User Name / Password) a jméno databáze (resp. služby – viz. kapitola 3.3.1)
  2. Výběr dat pro zveřejnění (Query)  
    První možností výběru je grafická identifikace tabulky nebo jednotlivých sloupců ve stromové struktuře objektů v databázi.  
    Druhý způsob je přímé zadání dotazu v SQL (popřípadě jeho import ze souboru) – výsledek tohoto dotazu bude použit pro webovou stránku.
  3. Nastavení obnovování (Scheduling Options)     
    Můžeme vybírat z následujících možností:
    Immediately – vytvoří webovou stránku okamžitě bez možnosti budoucího obnovení
    Once – nastavení roku, měsíce, dne a času v příštích 31 dnech, kdy se stránka (jednou) vytvoří   
    On Day(s) of the Week – dovoluje nastavit čas a den (nebo dny) v týdnu, kdy se stránka bude vytvářet (např. Pondělí, Středa, Pátek v 1:00 hod.)        
    On Date(s) of the Month – pro vytvoření stránky lze nastavit čas a libovolný počet dnů v měsíci (např. 1., 15. a 30. den v 0:00 hod.)        
    At Regular Intervals – dovoluje nastavit interval obnovování. Stránka se vytvoří okamžitě a od té chvíle v určený interval. Ten musí být v intervalu jedné minuty až 31 dní.         
    When Data Changes – stránka se vytvoří a dále obnoví vždy při změně dat v databázi. Tato volba je možná jen, když při výběru dat byl použit první způsob (viz. bod 2).    
    Manually – při této volbě bude obnovování spouštěno „ručně“. Spustí se příkazem Generate v nástrojové liště Web Assistenta – viz. obrázek 4.2.1.
  4. Jméno souboru a formátování (File Options)     
    Nastavuje se jméno resp. umístění souboru ve formátu HTML a dále formátování vystupujících dat prostřednictvím šablony (Template.htx). K dispozici je standardní šablona (Generate Default Template) nebo můžeme použít vlastní.  
    Stránka se definitivně vytvoří zvolením Finish.

4.2.3 Šablony

Šablony umožňují formátovat výstupy dat do webové stránky. Jedná se o soubory s příponou HTX. Obsahují HTML kód doplněný o klíčová slova, která jsou podobná standardním HTML tagům[1] ve tvaru <%KEYWORD%>. Web Publishing Assistant při použití šablony (viz. bod 4 předchozí kapitoly) vygeneruje běžný HTML soubor (standardně web.htm).
Implicitní (default) šablona využívá k formátování dat Javovský applet[2]. Jeho výhodou je hlavně nezávislost na platformě (operačním systému i hardwaru) a webovém browseru (různé browsery obsahují odlišnosti v interpretaci HTML kódu). Šablony je možno upravovat (měnit barvu pozadí, textu, hlavičky atd.) přímo ve zdrojovém kódu nebo v libovolném HTML editoru – to vše i je-li už stránka vytvořena (v závislosti na nastavení obnovování se příště již vygeneruje podle změněné šablony v nové podobě). Podrobnější informace viz. [18].

Klíčová slova:

<%begindetail%>, <%enddetail%>

Tato klíčová slova ohraničují oblast, která se generuje cyklicky pro každý datový záznam. Jednotlivé hodnoty každého záznamu se umísťují prostřednictvím klíčových slov ve tvaru <%jméno_sloupce%>.

<%if podmínka%>, <%else%>, <%endif%>

Tímto způsobem můžeme do šablony vložit podmínku. Používá se např. pro případ vypsání hlášení pokud zadanému dotazu nevyhoví ani jeden záznam. V podmínkách se používají operátory EQ (=), LT (<), GT (>), CONTAINS (obsahuje).

Proměnné:

<%CurrentRecord%> - obsahuje číslo, které udává kolikátý záznam se právě vypisuje. To je kolikrát proběhl „cyklus begindetail – enddetail“. Při prvním průběhu má hodnotu nula (0).
<%CurrentDate%> - obsahuje datum a čas, kdy byla stránka vygenerována. Formát lze měnit množstvím parametrů – viz. [18].
<%MaxColumn%> - udává počet sloupců ve výsledku daného dotazu.
<%QueryId%> - obsahuje unikátní číslo vygenerované stránky (dotazu).

4.2.4 Konkrétní příklad

Prakticky bude funkce Web Publishing Assistenta ukázána na tabulkách STUDENTI a TESTY. Bude vytvořena webová stránka s číslem, jménem, příjmením studenta a výsledky všech testů – viz. bod 2. Postup odpovídá bodům z kapitoly 4.2.2 .

  1. Přihlášení: jméno / heslo (helmut / helmut) a jméno databáze (dbatest_server)
  2. Výběr dat provedeme pomocí SQL dotazu (volba Enter a query as a SQL statement). Bude vybráno celkem 7 sloupců, přičemž sloupce Jméno a Příjmení budou ve výstupu spojeny[3] v jeden.

SELECT studenti.id, prijmeni || ' ' || jmeno AS "Jméno", test1, test2, test3, test4
FROM studenti, testy
WHERE studenti.id = testy.id
ORDER BY prijmeni;

3.      Obnovování nastavíme na každou neděli v půlnoci – na kartě On Day(s) of the Week, zvolíme neděli (SUN) a čas 12:00 PM – viz. obrázek 4.2.4 – 1.

  1. Zadáme jméno a plnou cestu k souboru. Dále vybereme šablonu, podle které se bude webová stránka formátovat. Tato šablona již byla vytvořena předem – viz. příloha 9.1 a kapitola 4.2.3. Nakonec zvolíme Finish a potvrdíme OK.

4.3 Oracle WebDB

4.3.1 Úvodní popis

Oracle WebDB je kompletní řešení pro vytváření, rozvíjení a monitorování webových databázových aplikací a webů obsahově závislých na databázi [19]. Dále umožňuje spravovat databázové objekty (tabulky, pohledy, funkce, uživatele, role, práva atd.), vytvářet prvky HTML rozhraní (formuláře, grafy, menu a reporty[4]) nebo nastavovat web server. To vše přes jednoduché rozhraní založené na HTML s použitím standardního webového prohlížeče (bez znalosti HTML a Java).
Výsledná aplikace tedy spojuje výhody Internetu (snadný přístup k informacím) a databáze[5] Oracle (vysoká úroveň zabezpečení proti neautorizovanému přístupu).
Produkt Oracle WebDB byl v dalších verzích přejmenován na Oracle Portal[6].
WebDB je založena na třívrstvém modelu [14]. Aplikaci není nutné instalovat a spravovat v mnoha kopiích na každém počítači, ale stačí pouze jednou na aplikačním severu. Díky tomu může být klientem libovolné zařízení vybavené pouze webovým prohlížečem (první vrstva). Druhou vrstvu představuje web server. Tím může být standardně dodávaný Oracle WebDB Listener (pod Windows NT musí „běžet“ stejnojmenná služba – viz. Dodatek B) nebo libovolný HTTP[7] server podporující rozhraní CGI[8] (např. Microsoft IIS nebo Apache). Třetí vrstvou je databázový server Oracle 8i, 8.0.5 nebo 7.3.4 (s některými omezeními).
Uživatelské rozhraní WebDB je představováno sadou dynamicky generovaných HTML stránek s Java skriptem – obsahuje jen čistý HTML kód[9] bez přítomnosti Javy. Proto je možné použít na straně klienta i méně výkonný počítač – veškerá řídící a kontrolní činnost je přesunuta na aplikační server, kde je nainstalováno WebDB.

4.3.2 Struktura a funkce WebDB

Po úspěšném vstupu do WebDB (viz. dále kapitola 4.3.3) se objeví úvodní obrazovka s hlavním menu, které obsahuje pět položek pokrývajících všechny základní funkce celé aplikace. Dále sadu ikon pro rychlejší přístup k některým funkcím a pole pro vyhledávání v položkách menu.

Stručný přehled funkcí v jednotlivých položkách (viz. Obr. 4.3.2):

Browse

Tato volba poskytuje grafický přehled objektů v databázi (tabulky, pohledy, synonyma, funkce atd.). Lze je třídit podle jména, typu objektu nebo schémat (vlastnictví). Jakmile najdeme konkrétní objekt, můžeme s ním (podle jeho typu) provádět např.:

Uživatel je oprávněn prohlížet komponenty jen ve schématu, ve kterém má právo prohlížení (Browse In privileges).

Build

Zde jsou soustředěny nástroje pro vytváření a editaci jednotlivých komponent[10] a objektů. K dispozici jsou průvodci, kteří krok po kroku vedou uživatele procesem vytvoření jednotlivých komponent. Uživatel může vytvářet komponenty jen ve schématu, ve kterém má oprávnění (Build In privileges).

Všechny funkce jsou rozděleny do následujících podskupin:

ú         Forms – formuláře poskytují rozhraní pro úpravu dat v tabulce

ú         Menus – menu sestavené z hypertextových odkazů (viz. dále)

ú         Frame Drivers – rozdělení stránky na více částí pomocí rámců (frames)

ú         Dynamic Pages – vytváření dynamických stránek pomocí speciálního tagu <ORACLE>, do kterého je možno přímo vkládat PL/SQL kód

ú         Reports – výstupy hodnot databázových tabulek a pohledů

ú         Charts – vytváření grafů založených na datech databázové tabulky

ú         Calendars – zobrazení výsledku SQL dotazu ve formě kalendáře

ú         Hierarchies – vytváření hierarchických modelů

Administer

V této sekci najdeme nástroje pro správu uživatelů, rolí a práv – včetně specifických oprávnění Browse In a Build In (viz. výše).

§         User Manager – pomocí tohoto nástroje lze vytvářet nové uživatele nebo vyhledávat a měnit parametry stávajících. Měnit lze všechny standardní vlastnosti jako heslo nebo role a navíc oprávnění Browse In a Build In.

§         Grant Manager – umožňuje přiřazovat či odebírat oprávnění uživatelům resp. rolím na databázové objekty. Klasickým způsobem (viz. výše) můžeme vyhledat objekt a podle jeho typu mu přiřadit nebo odebrat oprávnění na dotazování (SELECT), vkládání (INSERT), změnu (UPDATE), mazání (DELETE) nebo spouštění (EXECUTE).

§         Role Manager – slouží k vytváření nových rolí nebo k vyhledávání a správě stávajících (přiřazování či odebírání uživatelů).

§         Change Your Password – umožňuje změnit heslo aktuálního uživatele („vlastní heslo“).

§         Report WebDB Privileges – poskytuje přehled uživatelů, kteří mají přiřazenu roli WEBDB_DEVELOPER (viz. dále) a oprávnění Browse In a Build In.

§         Configure WebDB Activity Log – umožňuje nastavit dobu platnosti a prohlížet tabulku záznamů o „žádostech“ uživatele na objekty (obsahuje přehled objektů a dobu jejich první a poslední aktivity atd. viz. Monitor).

§         Listener Settings – dovoluje spravovat vstupní parametry (viz. více v kapitole 4.3.3) a webový server (Oracle WebDB Listener).

Monitor

Obsahuje nástroje pro monitorování aktivit uživatelů a samotné databáze. Tak lze vyhodnocovat zatížení systému a výkon jednotlivých komponent.

§         User Interface Components – ve formě grafů poskytuje informace o využití komponent jako je doba odezvy a počet záznamů ve výsledku, jmenný seznam komponent, denní a hodinové využití, seznam koncových uživatelů včetně jejich IP adresy a typu browseru.

§         Browse Activity Log – umožňuje procházet (hledat, třídit apod.) tabulku se záznamy o využití komponent – viz. předchozí bod.

§         Database Objects – obsahuje nástroje pro sledování parametrů a aktivit samotné Oracle databáze jako např. informace o databázi a objektech v ní, spotřebě paměti, statistiky využití prostoru datovými soubory atd.

Sites

Tato položka, prostřednictvím nástroje Site Builder, slouží k logickému uspořádání informací do ucelených webových sídel (Websites). Součástí této struktury mohou být existující komponenty (reporty, formuláře apod.), ale i libovolné dokumenty uložené přímo v databázi. Po vložení nových informací či celého dokumentu je tento automaticky indexován pro vyhledávací mechanismus. Před publikováním lze požadovat schválení nebo nastavit dobu, po kterou bude dokument přístupný. Při změně obsahu je možno uchovávat i jednotlivé verze.
Při tvorbě designu website lze využívat všechny standardní prvky jako obrázky, menu z hypertextových odkazů či rámce (frames). Správa lze provádět z prostředí website samotné.
Obsahově je website rozdělena do tzv. folderů (obvykle položky hlavního menu), přičemž pro každý je možno nastavit individuální přístupová práva. Některé informace tak mohou být veřejně přístupné (Public) a jiné vyžadovat přihlášení uživatelským jménem a heslem.

4.3.3 Práce s WebDB

Přihlášení do systému

Ve webovém browseru zadáme adresu[11] pro přístup na úvodní stranu WebDB (resp. WebSite), která se skládá ze tří částí:
jméno_serveru.doména:port/Database_Access_Descriptor

Část adresy

Popis

„Naše“ hodnota

Jméno serveru

Jméno serveru, na kterém je nainstalována WebDB

SERVER

Doména

Síťová doména serveru

DOMAIN

Port

Číslo portu pro přístup k webserveru (je-li port 80, může být vynechán).

(80)

Database Access Descriptor (DAD)

Hodnota sloužící jako vstupní brána do databáze. Je různá pro každou instanci[12] WebDB nebo WebSite v databázi.

WebDB

Poté se objeví okno pro zadání uživatelského jména a hesla –  po úspěšném přihlášení se objeví úvodní obrazovka WebDB (viz. obr. 4.3.2). Uživatelský účet je týž jako v databázi Oracle, na které je WebDB nainstalována. Pokud DAD ukazuje na veřejně přístupnou část WebSite, přihlášení je vynecháno.

Pohyb uvnitř WebDB

Pro pohyb ve struktuře WebDB a dosažení jednotlivých funkcích jsou k dispozici následujícími způsoby:

§         Pohled s rámci – kliknutím na ikonu  v pravém horním rohu okna se obrazovka rozdělí na dvě části, přičemž v levé je stále k dispozici hlavní struktura WebDB a vyhledávací pole – v pravé části se zobrazuje obsah

Z jakéhokoli místa se lze vrátit na úvodní stranu ikonou  v pravém horním rohu okna. Mezi jednotlivými stránkami lze přecházet i pomocí tlačítek Vpřed (Forward), Vzad (Back) webového prohlížeče, avšak ne v průběhu vytváření objektů pomocí průvodců (Wizards). V takovém případě je nutno používat šipky  a .

Role WEBDB_DEVELOPER

Aby uživatel WebDB mohl vytvářet komponenty a databázové objekty, musí mít přiřazenu roli WEBDB_DEVELOPER. Proto ji nyní přiřadíme uživateli HELMUT.

  1. Na hlavní stránce WebDB zvolíme Administer (popřípadě  v nástrojové liště) a dále User Manager.
  2. V poli Select Recently Created Users vybereme uživatele HELMUT
  3. Na kartě Roles v horní části nalistujeme roli WEBDB_DEVELOPER a přidáme ji k ostatním tlačítkem Add. Změnu uložíme tlačítkem Apply.      
    Obdobným způsobem můžeme na kartě Browse Privileges resp. Build Privileges nastavit oprávnění, ve kterých schématech může uživatel prohlížet resp. vytvářet WebDB komponenty a objekty.

Roli lze rovněž uživateli přiřadit standardními administrátorskými nástroji (nebo SQL příkazem) v prostředí Oracle8i (viz. kapitola 3).

Správa komponent

Všechny vytvořené komponenty lze i po vytvoření kdykoli spravovat.

§         Edit – změny všech parametrů zvolených při vytvoření

K zobrazení komponenty ve webovém prohlížeči slouží adresa ve tvaru:

http://jméno_serveru.doména/DAD/SCHÉMA.KOMPONENTA.show

Odhlášení a informace o uživateli

Kliknutím na symbol zeměkoule v levém horním rohu okna se zobrazí stránka s informacemi o aktuálním uživateli. Jsou to mimo jiné identifikace uživatele, jeho IP adresa, typ prohlížeče, přidělené role apod.
Dále je zde odkaz na funkci změna hesla (Change Password) a odhlášení ze systému (Log off).

4.3.4 Vytvoření ukázkové aplikace

Tvorba ucelené aplikace pomocí WebDB spočívá ve vytvoření jednotlivých komponent na základě dat v databázi a jejich vzájemném propojení. Pro získání dat z databázových tabulek můžeme použít reporty (Reports), popřípadě dynamické stránky (Dynamic Pages). Editaci, vkládání nebo mazání dat  zajistíme prostřednictvím formulářových polí (Forms). Pro vzájemné propojení komponent slouží hypertextové odkazy (Links). Menu (Menus) poslouží k jejich logickému uspořádání a šablony (User Interface Templates) k úpravě vzhledu jednotlivých stránek.
Nyní zde budou stručně uvedeny postupy vytvoření základních komponent s běžným nastavením, které jsou použity v ukázkové aplikaci. Seznam a popis jednotlivých komponent je uveden v kapitole 4.3.2. Vzhledem k celkové šíři možností WebDB odkazuji například na [19, 20].

Report

  1. Zvolíme Build Þ User Interface Components Þ Reports (nebo ikonu  nástrojové lišty).
  2. V okně Create a New Report zvolíme Report from Query Wizard a pokračujeme Þ Create
  3. Vybereme schéma, do kterého bude report patřit a jeho jméno.
  4. Vybereme jednu nebo více tabulek se zdrojovými daty pomocí  a Add.
  5. Zvolíme způsob spojení tabulek (prostřednictvím jakých sloupců).
  6. Určíme sloupce, které budou ve výstupu.
  7. Podle potřeby zavedeme podmínky pro filtrování záznamů ve výstupu.
  8. Nastavíme způsob zobrazení jednotlivých sloupců. V našem případě u prvního sloupce nastavíme navíc předem vytvořený odkaz (Link) na formulář pro editaci dat dané tabulky.
  9. Nastavíme parametry zobrazení jako barvy, typ písma, maximální počet řádků na výstupu, třídění (Order by), typ výstupu (HTML, ASCII, Excel) apod.
  10. Nastavení případných vstupních parametrů
  11. Volba šablony zobrazení a textu záhlaví, zápatí a titulku
  12. Případný PL/SQL kód, který se má vykonat v jednotlivých fázích zobrazování stránky s výsledkem.

13. Potvrdíme vytvoření Þ OK

Formulář (Form)

  1. Zvolíme Build Þ User Interface Components Þ Forms (nebo ikonu  nástrojové lišty).
  2. V okně Create a New Form zvolíme Forms on Tables/Views  Þ Create.
  3. Vybereme schéma, do kterého bude formulář patřit a jeho jméno.
  4. Zvolíme tabulku (nebo pohled), na které bude formulář založen.
  5. Vybereme rozvržení Structured (druhá volba Unstructured dovoluje navrhovat vzhled formuláře přímo pomocí HTML)
  6. Nastavíme vzhled celého formuláře a zároveň i jednotlivých jeho polí (pojmenování, výška, šířka, typ písma, barva, formát vkládané hodnoty apod.)
  7. Výběr a umístění tlačítek Insert, Update, Delete, Query nebo Reset
  8. Volba šablony zobrazení a textu záhlaví, zápatí a titulku
  9. Případný PL/SQL kód, který se má vykonat v jednotlivých fázích zobrazování stránky s výsledkem

10. Potvrdíme vytvoření Þ OK

Hypertextový odkaz (Link)

  1. Zvolíme Build Þ Shared Components (nebo ikonu  nástrojové lišty) Þ Links
  2. Pokračujeme Create Link
  3. Vybereme schéma, do kterého bude odkaz patřit a jeho jméno.
  4. Z nabídky vybereme WebDB Component, na který bude link ukazovat a poté jeho jméno (nalistovat pomocí )
  5. Nastavení parametrů zobrazení cíle hypertextového odkazu. Například u formuláře je možno nastavit, které hodnoty v něm budou implicitně uvedeny.
  6. Potvrdíme vytvoření Þ OK

Výsledná podoba a funkce aplikace

Výchozí stránka prostřednictvím reportu ukazuje výsledky testů. Report je založený na tabulkách STUDENTI, TESTY a zobrazuje pouze sloupce ID, Prijmeni, Test1 – Test4 (obr. 4.3.4 –1).
Hodnoty ve sloupci ID tvoří zároveň odkaz na formulář pro úpravu výsledků testů (obr. 4.3.4 – 2) a ve sloupci Prijmeni odkaz na formulář pro úpravu údajů o studentech (obr. 4.3.4 – 3).
Po kliknutí na odkaz se ve formulářových polích díky parametrům odkazu (Link) rovnou zobrazí údaje z příslušného záznamu. Tlačítka umožňují záznamy prohlížet (Query), aktualizovat (Update), mazat (Delete) popřípadě přidávat (Insert).
Ve formuláři pro úpravu výsledků testů jsou pole vytvořena ve formě výběru z hodnot 1 – 4 (List of Values) a položka ID nelze měnit (pouze ve formuláři pro údaje studentů).

  

U každé komponenty lze individuálně nastavit přístupová práva (viz. správa komponent – Privileges v předchozí kapitole). Tímto způsobem lze nastavit report zobrazující výsledky jako veřejně přístupný (Public) a formuláře pro úpravu dat ponechat přístupný jen pro konkrétního uživatele (správce).
Úspěšná změna (vložení nebo mazání) dat se projeví příslušným hlášením.

  

4.4 ODBC / JDBC

Pro úplnost je nutno uvést i nejobecnější způsob přístupu k databázi. V roli klientské aplikace může stát libovolný program, který s databází komunikuje prostřednictvím příslušného (nativního) aplikačního rozhraní (API – Application Programming Interface) [31]. Každá databáze má svůj vlastní API. Aby byl program schopen komunikovat s více databázemi, musí podporovat více aplikačních rozhraní, což je velmi nepohodlné řešení. Proto (původně na platformě Microsoft Windows) vzniklo univerzální aplikační rozhraní (API) ODBC. Jeho obdobou je JDBC, které je charakteristické pro databázi Oracle díky široké podpoře Javy (viz. kapitola 2.1.4).

ODBC

[2] ODBC (Open DataBase Connectivity) je dnes nejrozšířenějším rozhraním pro přístup k databázím a je také téměř všemi databázemi podporováno. Slouží jako prostředník mezi klientskou aplikací a databázovým serverem. Rozhraní ODBC se volá jednotně a ODBC-ovladač pak požadavek předá databázovému serveru pomocí správného protokolu.

Počáteční nevýhodou byl nižší výkon oproti nativním ovladačům. Staré ODBC ovladače sloužily pouze jako mezistupeň mezi aplikací a nativním protokolem databáze. Novější ODBC ovladače však přistupují k databázovému serveru přímo a jejich výkon je srovnatelný s nativními ovladači. Některé databázové systémy používají ODBC jako svůj jediný nativní protokol.

JDBC

[9, 21] JDBC (Java DataBase Connectivity) je standardizované rozhraní pro přístup k relačním databázím z programů napsaných v Javě. Ve své podstatě je podobné rozhraní ODBC, ale v javových programech není z důvodu bezpečnosti a přenositelnosti programu žádoucí volat kód v jazyce C (ve kterém je napsáno ODBC).

Práce s databází prostřednictvím JDBC se dá charakterizovat následující posloupností akcí [9]:

  1. Založení spojení s databází
  2. Zasílání příkazů SQL
  3. Zpracování výsledků příkazů SQL
  4. Ukončení spojení s databází

Pro vlastní implementaci přístupu k databázím slouží tzv. ovladače JDBC, které provádějí veškerou komunikaci s cílovou databází. Vzhledem k tomu, že Java je silně objektově orientovaný jazyk, probíhá vše prostřednictvím objektů. Objektem je jak příkaz SQL předávaný databázi, tak výsledek příkazu. Jednotlivé řádky výsledku příkazu SQL jsou přístupné sekvenčně – po spuštění dotazu SQL je přístupný první řádek výsledku a po zavolání příslušné metody se zpřístupňují další řádky. 

 
 

[1] Tag je značka HTML ohraničená ostrými závorkami <začátek_tagu> </konec_tagu>.

[2] Applet je malý program nebo aplikace napsaná v Javě.

[3] Ke spojování řetězců v SQL používá systém Oracle dvojznak „ || “ (CONCATENATE).

[4] Reporty poskytují výsledky SQL dotazů ve formě tabulky.

[5] Vlastní data mohou být uložena v libovolné relační databázi [29].

[6] Všechny změny ve jménech produktů Oracle Corporation jsou uvedeny např. na http://programovanie.pc.sk/databazy/clanok.ltc?ID=151

[7] HTTP (HyperText Transfer Protocol) je [2] protokol zajišťující přenos HTML stránek z WWW serveru do prohlížeče.

[8] CGI (Common Gateway Interface) je [2] rozhraní definující způsob spouštění programů a předávání dat mezi WWW-serverem a programem.

[9] Další vývoj směřuje ke generování výstupu v XML, což umožní provoz aplikací i na speciálních zařízeních jako jsou například mobilní telefony [11].

[10] WebDB odlišuje termín komponenty (components) a objekty (objects). Komponenty jsou dynamicky generované webové stránky a obsah, který vytvoří WebDB. Objekty se rozumí objekty databáze Oracle, na kterých jsou komponenty založeny.

[11] Máme-li všechny 3 vrstvy systému zprovozněny na jednom počítači (jako v tomto případě), stačí zadat doménové jméno „localhost“ nebo IP adresu 127.0.0.1

[12] Instancí rozumíme jednu konkrétní instalaci WebDB pod určitým uživatelským jménem.