PROJEKT ININ, 1 ČÁST 1 – ORACLE APEX
Martin Šimeček (kruh 258), prosinec ’08
Členění
Oracle APEX
ČLENĚNÍ Práce je rozdělena na tři části: První, nazvaná Portál Oracle APEX, se týká samotného Application Expressu. Přibližuje pracovní prostředí, shrnuje jeho možnosti a některé běžné postupy vytváření interaktivních online aplikací. Vycházel jsem ze zkušeností získaných při vytváření aplikace a z problémů, které bylo nutno řešit. Z této části lze tedy vyčíst, jak se používají základní komponenty, jaké typy stránek se vytvářejí, jaké možnosti jsou při návrhu databáze apod. Druhá část je protokol o vytvořené aplikaci pro správu seznamu databázových systémů. Je v ní popsáno používání aplikace a postup jejího vytváření. Protokol je vyčleněn do zvláštního dokumentu. Nakonec, třetí součást je již výše zmíněná aplikace. APEX je využit pro záznam a porovnávání základních vlastností databázových serverů. Web je naplněn informacemi o nejznámějších databázových systémech, přičemž lze seznam libovolně rozšiřovat a upravovat.
OBSAH ČLENĚNÍ ........................................................................................................................................................... 2 OBSAH ............................................................................................................................................................. 2 PORTÁL ORACLE APEX...................................................................................................................................... 4 POŽADAVKY ..................................................................................................................................................... 5 JAK FUNGUJE? .................................................................................................................................................. 6 SAMPLE APPLICATION ......................................................................................................................................... 6 SQL WORKSHOP ............................................................................................................................................... 7 OBJECT BROWSER ............................................................................................................................................. 7 UI DEFAULTS .................................................................................................................................................... 8 VLASTNÍ FUNKCE ............................................................................................................................................... 8 QUERY BUILDER ................................................................................................................................................ 9 APPLICATION BUILDER ................................................................................................................................... 10 PRŮVODCI ..................................................................................................................................................... 10 Vytvoření nové stránky ............................................................................................................................ 10 Přidání nové oblasti ................................................................................................................................. 11 Přidání nové komponenty ........................................................................................................................ 11 KOMPONENTY ................................................................................................................................................ 12 Konfigurace............................................................................................................................................. 12 Textová pole – Text Field ......................................................................................................................... 13 Zaškrtávací pole – CheckBox .................................................................................................................... 13 Přepínač – Radio Group ........................................................................................................................... 14 Seznam – Multiple Select ......................................................................................................................... 14 Shuttle .................................................................................................................................................... 14 Pouze text – Display Only ........................................................................................................................ 14 Komplexní komponenty ........................................................................................................................... 14 DEVELOPER TOOLBAR ....................................................................................................................................... 14 SHARED COMPONENTS ..................................................................................................................................... 15 SPRÁVA PŘÍSTUPU............................................................................................................................................ 16
~2~
Obsah
Oracle APEX
DALŠÍ ZDROJE INFORMACÍ ............................................................................................................................. 19 SHRNUTÍ ........................................................................................................................................................ 19 ZDROJE........................................................................................................................................................... 20 OBRÁZKY ....................................................................................................................................................... 20 BIBLIOGRAFIE................................................................................................................................................. 20
~3~
Portál Oracle APEX
1. část – Oracle APEX
PORTÁL ORACLE APEX Společnost Oracle přibaluje ke svým databázím zdarma webový systém zvaný Application Express (APEX), který je určen pro snadné vytváření databázových aplikací jejich postupným navrhováním v připraveném rozhraní. Vytváření těchto aplikací vyžaduje pouze webový prohlížeč a minimální znalosti programování. To je na jednu stranu pozitivní, protože tvořit může kdekdo a rychle, na stranu druhou ovšem limitující – nelze si nastavit stránky přesně podle svých představ.
Obrázek 1: Titulní strana APEXu.
Na adrese http://apex.oracle.com pak Oracle zdarma umožňuje vyzkoušet Application Express pro hostované aplikace přístupné z internetu. APEX není portál, ale technologie. Přihlášení nás přesune pouze na jednu z aplikací (konkrétně http://apex.oracle.com/pls/otn/f?p=4550:1), z čehož mimo jiné plyne, že cokoliv vidíme ve „vývojovém“ prostředí, můžeme vytvořit /použít i sami. Při registraci je nutno specifikovat kromě názvu workspace a kontaktních údajů i záměr, proč žádáme o vytvoření účtu, a počkat na schválení. Na e-mail nakonec dorazí přihlašovací údaje a je možno směle začít. Aplikace takto vytvořené: · · · · ·
jsou zabezpečené, mají ošetřeny chybové stavy, automaticky validují vstupy/výstupy, mohou být vícejazyčné, hostuje Oracle u sebe, nebo se dají stáhnout a aplikovat na vlastní server.
Následující diagram ukazuje členění APEXu:
~4~
Portál Oracle APEX
1. část – Oracle APEX
APEX
Application Builder
Supporting Objects
Messages Installation / Deinstallation Upgrade
SQL Workshop
Shared Components
Object Browser
Logic
SQL Commands
Security
SQL Scripts
Navigation
Utilities
Query Builder
User Interface
Globalization
Reports
Files
Application Diagram 1: Organizační schéma APEXu
· · ·
Application Builder slouží k návrhu rozhraní aplikace a k definici její funkcionality. Zabývá se jí podkapitola na straně 10. SQL Workshop zapouzdřuje nástroje pro práci s databází. Z umístění v hierarchii je patrné, že je nezávislý na vytvářené aplikaci. Týká se jí část na straně 7. Utilities je sekce sdružující nástroje pro hromadné načítání a ukládání dat ze/do souborů (XML, CSV…), vytváření přehledů tabulek, sledování výkonu databází (pro administrátory) apod.
POŽADAVKY Application Express používá kromě čistého HTML také hodně JavaScriptu. Dokumentace říká, že pro prohlížení či vývoj aplikací je nutné použít prohlížeč podporující HTML 4.0, JavaScript a CSS 1.0. Jmenovitě jsou pak doporučeny prohlížeče Internet Explorer 6.0 nebo vyšší a Firefox 1.0 nebo vyšší. Osobně jsem zjistil, že
~5~
Portál Oracle APEX
1. část – Oracle APEX
„alternativní“ prohlížeče mají potíže s Database Explorerem. V Opeře nefunguje takřka vůbec (nedají se například vytvářet databázové tabulky). Na editor kódu vlastních funkcí (str. 8) je pak dokonce nutné použít výhradně IE.
JAK FUNGUJE? APEX představuje rozhraní mezi Oracle databází a prohlížečem uživatele. Překládá požadavky předané protokolem HTTP do PL/SQL1 kódu. Ten databáze zpracuje a APEX vrátí HTML odpověď.
Obrázek 2: Architektura APEXu
Jak praví (1), není od verze 11.1 nutné používat Apache HTTP server – databáze má vlastní „PL/SQL Gateway“. APEX tedy bez našeho přičinění automaticky spravuje relace (sessions), verifikuje uživatele (a rozhoduje o právech přístupu dle nastavených rolí), zpracovává vstupy a výstupy (ošetření „nebezpečných znaků“ apod.) a odchytává chybové situace.
SAMPLE APPLICATION Velice vhod přichází možnost nechat si vygenerovat ukázkovou aplikaci. Vývojář tak může při seznamování se s prostředím využít již hotového projektu a „okoukat“, jak se které operace realizují.
Obrázek 3: Sample Application
Obrázek 3 ukazuje, že vygenerovaná aplikace disponuje velkým množstvím stránek nejpoužívanějších typů. Je zde přítomen graf, reporty, interaktivní reporty, stránky pro editaci atd. Kromě toho obsahuje i vlastní správu uživatelů a dává možnost inspirovat se při omezování přístupu ke stránkám. To vše v plně funkčním celku se skutečnou databázovou strukturou. 1
Procedural Language/Structured Query Language – rozšíření jazyka SQL pro Oracle databáze
~6~
SQL Workshop
1. část – Oracle APEX
SQL WORKSHOP Vždy, než začneme stavět aplikaci, musíme mít navrženou databázi, z které pak formuláře a reporty čerpají data. K práci s daty – tabulkami, indexy, pohledy atd. – slouží tzv. SQL Workshop. V něm je možné buď přímo zadávat SQL příkazy, nebo použít Object Browser (Obrázek 5) a přehledně procházet / vytvářet / upravovat tabulky a data v nich uložená. Oracle databáze podporuje triggery a uložené procedury, proto tato možnost nechybí ani v Browseru.
Obrázek 4: SQL Workshop
Při návrhu je velmi výhodné vytvořit si v tabulkách, které spolu souvisejí, patřičné cizí klíče (Foreign keys – FK), protože APEX pak při návrhu aplikace umožňuje v průvodcích čerpat data z relevantních tabulek víceméně automaticky.
OBJECT BROWSER
Obrázek 5: Object Browser
V Object Browseru lze prohlížet objekty v rámci databáze (rozbalovací nabídka Schema, viz Obrázek 5), upravovat je a vytvářet nové. Editace probíhá v duchu celého systému prostřednictvím průvodců, kde se postupně nadefinuje vše potřebné – název tabulky, sloupce, podmínky vkládaných dat (např. plat > 0), primární klíč a cizí klíče atd… Tato součást je velmi podobná nástroji SQL Developer rovněž od Oracle.
~7~
SQL Workshop
1. část – Oracle APEX
Obrázek 6: Oracle SQL Developer
Kromě samotných tabulek, indexů, cizích klíčů, podmínek, triggerů,… lze definovat i tzv. UI Defaults.
UI DEFAULTS Vyplatí se rozmyslet si hned po vytvoření tabulky způsob jejího použití. Nejspíš budeme chtít v aplikaci data nějakým způsobem upravovat – k tomu slouží formuláře. Jak se budou ve formulářích jednotlivá pole jevit? Jaké budou vracet hodnoty? A co když půjde o prostý výpis? Jakmile známe odpovědi na tyto otázky, můžeme definovat vzhled a chování jednotlivých položek na formulářích a v reportech.
Obrázek 7: UI Defaults
Obrázek 7 ukazuje pouze přehled viditelný v SQL Workshop. Celý nástroj se ve skutečnosti nachází v Shared Components -> User Interface -> User Interface Defaults.
VLASTNÍ FUNKCE Pro tvorbu uložených procedur a funkcí je v Object Browseru přítomen editor, který dokáže napsaný kód ihned zkompilovat a upozornit na chyby. Funguje pouze v Internet Exploreru, Opera ani Firefox pole pro úpravy nezobrazí správně.
~8~
SQL Workshop
1. část – Oracle APEX
Obrázek 8: Tvorba funkcí
Editoru chybí hlavně napojení na nápovědu nebo alespoň přehled syntaxe PL/SQL. Člověk tohoto jazyka neznalý při psaní poněkud tápe. Pro tvorbu vlastních funkcí je tedy nezbytné si nejdříve základní postupy osvojit. Na webu Oracle je k dispozici kompletní dokumentace i ukázky hotových funkcí (viz Další zdroje informací, str. 19). Nicméně pro vývoj složitější funkcionality se editor příliš nehodí.
QUERY BUILDER V SQL Workshop se SQL dotazy tvoří dvěma způsoby: buď je rovnou napíšeme do příslušného editačního políčka, nebo použijeme vizuální nástroj – Query Builder.
Obrázek 9: Query Builder
Obrázek 9 ukazuje, jakým způsobem tvorba probíhá. Výběrem tabulky ze seznamu vlevo se tato objeví na ploše uprostřed. Zvolíme pole, která bude výsledek dotazu obsahovat a jednoduše nadefinujeme i propojení tabulek. Vytvořený dotaz je pak vidět dole na kartě SQL.
~9~
Application Builder
1. část – Oracle APEX
APPLICATION BUILDER Po vytvoření zdroje dat můžeme přikročit k návrhu samotné aplikace. Tato kapitola popisuje součásti, jimž se nemůžeme vyhnout.
PRŮVODCI APEX jako takový stojí na systému průvodců. Přidávání a úpravy jakékoliv součásti se provádějí prostřednictvím sad stránek s tlačítky „Next“, „Previous“ a „Cancel“. Průvodce se nás postupně zeptá na základní vlastnosti prvku a nabízí i ukázky možných nastavení. Díky tomuto přístupu jsme nuceni přímo zadat jen minimum informací – většinu lze vybrat z nabídek. Pomocí průvodců intuitivně vytváříme stránky, oblasti a interaktivní prvky na nich (stejně jako tabulky, pohledy, uložené procedury a triggery v SQL Workshop). Navíc je možné vytvářet i průvodce vlastní, které pak používá naše aplikace. Následují ukázky několika průvodců, jimž se v podstatě nelze při tvorbě vyhnout. Zároveň hezky znázorňují, co a jak se v APEXu vytváří.
VYTVOŘENÍ NOVÉ STRÁNKY
Obrázek 10: Průvodce vytvořením stránky
Na výběr je několik základních typů, podle nichž se pak odvíjí pokračování průvodce. Zvolíte-li například Form, následuje rozhodnutí, zda se bude jednat o formulář nad tabulkou / pohledem či SQL dotazem, tabulku pro úpravu více záznamů apod. Typ Wizard se zeptá na počet stránek nového průvodce, zda má na každé stránce vytvořit informační oblast, jaké informace budou pro každou stránku společné atd. Zajímavá je stránka Chart. Lze vybrat, zda graf bude ve formátu Flash, SVG nebo HTML. Po specifikaci vzhledu a výběru dat se ukáže náhled grafu. Flashové grafy jsou efektní a oživí prezentaci dat. Bezesporu je užitečné nechat APEX automaticky vytvořit správu přístupu. K tomu slouží stránka typu Access Control. Více o oprávněních v podkapitole Správa přístupu na straně 16.
~ 10 ~
Application Builder
1. část – Oracle APEX
PŘIDÁNÍ NOVÉ OBLASTI
Obrázek 11: Průvodce vytvořením oblasti
Na existující stránku lze přidávat oblasti, do nichž se následně umisťují komponenty. Slouží k tomu tento průvodce. Je velmi podobný tomu pro vytváření stránky a opět usnadňuje přidání základních komponent, s kterými se v aplikaci pracuje – grafy, formuláře, výpisy apod.
PŘIDÁNÍ NOVÉ KOMPONENTY
Obrázek 12: Průvodce přidáním nové komponenty
Jako poslední vrstva nad samotným PL/SQL kódem se dají představit komponenty (více o nich v kapitole Komponenty na straně 12). Základní průvodce nepřináší nic zvláštního, povšimněte si ale dvou odkazů dole (Obrázek 12) : Create multiple items using tabular form a Create multiple items using Drag and Drop Layout.
~ 11 ~
Application Builder
1. část – Oracle APEX
Oracle zapracoval s AJAX2em a umožnil skládat stránku velmi efektním stylem přetahování komponent na jejich místo myší. Jakmile ovládací prvek umístíte, nahoře pouze zadáte jeho název a můžete pracovat s dalším. Nakonec se změny uloží jediným tlačítkem.
Obrázek 13: Drag and Drop layout
Tento koncept je použit i u úpravy položek na již hotové stránce a velmi zefektivňuje práci.
KOMPONENTY Pojmem komponenty se rozumí prvky uvnitř jednotlivých oblastí (regionů), jež uživatel používá pro interakci s daty. Jedná se tedy většinou o formulářová pole nejrůznějších typů. V APEXu lze stránky plnit standardními komponentami, které známe z webových stránek. Výhodou je, že se nemusíme vůbec starat o jejich zpracování. V průvodci pouze definujeme typ, název, zdroj dat a několik detailů. Následně je možné komponentu upravit a to velmi intuitivním způsobem.
KONFIGURACE Všechny komponenty sdílejí základní konfigurační bloky:
· · ·
Name – název a typ (editbox, textarea, select list…). Pod nastavením typu je šikovný odkaz, který nás okamžitě přesune na definici seznamu hodnot. Displayed – nastavení sekvence (určuje, v jakém pořadí se komponenty zpracují) a hlavně umístění komponenty do oblasti na stránce. Label – popisek, který se zobrazí u komponenty. Jeho detailní specifikace (bude vlevo, vpravo, nad, pod…?; bude mít vlastní nápovědu?, atd.).
2
AJAX – Asynchronous JavaScript And XML, technologie umožňující provádět asynchronní požadavky na server (na pozadí) a dynamicky měnit stránku na základě došlých výsledků. Typickou ukázkou jsou mapy.cz nebo Windows Live Hotmail.
~ 12 ~
Application Builder · · · · ·
· ·
1. část – Oracle APEX
Element – podrobnější nastavení vzhledu okolí komponenty. Nastavují se zde HTML atributy buňky tabulky a formuláře, kde se položka nachází. Source – zdroj dat. Lze použít statické nastavení, ale častěji se prostě načte buňka z tabulky. Mezi dalšími alternativami jsou pak SQL (nebo PL/SQL) dotaz a PL/SQL funkce. Default – výchozí hodnota, která se zobrazí v komponentě, je-li Source null. LOV3 - seznam hodnot, z nichž je možno vybírat. Týká se pouze komponent, u kterých má smysl (listbox, checkbox…). Security – definuje podmínky pro zobrazení / zpracování komponenty. Lze vybírat bezpečnostní schéma a určit, zda bude hodnota vázaná na relaci, případně že zdrojem požadavku nesmí být prohlížeč (jako parametr v URL nebo metoda POST). Tato možnost výrazně zjednodušuje zabezpečení aplikace a zaručuje ochranu formuláře před zneužitím. Conditions, Read Only – podmínky zobrazení komponenty. Help Text – nápověda, která se zobrazí po kliknutí na popisek (je-li tak nastaven v sekci Label). Podporuje HTML formátování.
Šikovná je pak možnost editovat několik základních parametrů všem komponentám najednou. Často přijde vhod u popisků (prompt), naopak chybí třeba výběr typu položky.
Obrázek 14: Úprava více komponent najednou
A nyní již krátce k nejpoužívanějším prvkům stránek.
TEXTOVÁ POLE – TEXT FIELD Slouží k zobrazení a úpravě řetězce. Nejčastěji je zdrojem pole z tabulky. Lze zvolit z několika typů (např. rozšířit o „popup“ s kalkulačkou).
ZAŠKRTÁVACÍ POLE – CHECKBOX Dávají uživateli na výběr z několika možností, které mohou nabývat hodnot ANO/NE. 3 K definici se používá LOV , jehož zdrojem může být SQL dotaz, PL/SQL dotaz, pole tabulky, či ruční (statické) zadání. Pro vytvoření seznamu hodnot je možné použít pomocné průvodce Create or edit static List of Values, příp. Create Dynamic List of Values, díky nimž nemusíme vůbec znát syntaxi (např. STATIC2:Hodnota 1;0,Hodnota 2;1).
3
List of Values – seznam hodnot.
~ 13 ~
Application Builder
1. část – Oracle APEX
PŘEPÍNAČ – RADIO GROUP Podobný checkboxu, nutí uživatele zvolit jednu možnost z několika variant.
SEZNAM – MULTIPLE SELECT Umožňuje výběr jedné nebo několika hodnot z předem připraveného seznamu. Zdrojem může být i SQL dotaz, v kterém jsou stanoveny display_value a return_value (tedy hodnota, která se zobrazí – typicky název – a hodnota, která bude vrácena – typicky ID). Vybraná data se pak odešlou jako text, kde jednotlivé položky jsou odděleny dvojtečkou (např. 1:5:12). APEX s tímto formátem pracuje velmi rád, takže lze jednoduše takto získané hodnoty uložit do databáze a nechat komponenty je automaticky zpracovávat.
SHUTTLE Zobrazí dva seznamy, mezi nimiž jsou ovládací prvky pro přesun položek. Od Multiple selectu se liší tím, že je třeba stanovit dva okruhy hodnot:
· ·
LOV – seznam hodnot, z kterých se vybírá; zobrazí se vlevo zdroj – tedy informace z příslušné tabulky o vybraných položkách (hodnoty oddělené dvojtečkou); zobrazí se vpravo
Komponenta je inteligentní – pozná, které hodnoty jsou již vybrány (obsahuje je box vpravo) a vyjme je ze seznamu dostupných vlevo. Z hlediska zpracování odeslaných údajů se chová stejně jako Multiple select – tedy return_value položek oddělené dvojtečkou.
POUZE TEXT – DISPLAY ONLY Chceme-li pouze vypsat informaci a neumožnit její editaci, použijeme tuto komponentu. Dá se vybrat, aby byly automaticky ošetřeny (escapovány) zvláštní znaky, které by mohly ovlivnit výslednou stránku a způsobit i kompromitaci databáze (mezi tyto znaky patří třeba < a > značící HTML tagy). Další nastavení jsou stejná jako například u Text field.
KOMPLEXNÍ KOMPONENTY Date Picker. Napsat vlastní implementaci kalendáře pro výběr data není zrovna triviální záležitost. APEX takovou komponentu přímo integruje.
File Browse. Umožní výběr souboru z disku pro upload na server. Supluje HTML input type=“file“.
DEVELOPER TOOLBAR
~ 14 ~
Application Builder
1. část – Oracle APEX
Při vývoji se na každé stránce vznikající aplikace dole zobrazuje tzv. Developer Toolbar.
Obrázek 15: Developer Toolbar
Nejpoužívanějšími odkazy na něm jsou pochopitelně Edit page xx a Application xx, které nás přenesou přímo na úpravy dané stránky, případně na seznam stránek právě prohlížené aplikace. Při návrhu může být užitečná i možnost zapnout si rychlé odkazy pro úpravy (Show Edit Links) v podobě šipek u editovatelných částí stránky (regiony, komponenty, breadcrumbs…). Při zkoumání potíží pak přijde vhod výpis proměnných relace (Session) nebo kompletní oznamování činnosti systému při zpracovávání stránky (Debug).
Obrázek 16: Debug mode
SHARED COMPONENTS Každá aplikace má nespočet rysů, které jsou společné pro všechny stránky v ní. Application Express jim věnuje celou jednu rozsáhlou sekci nazvanou Shared Components, neboli „sdílené součásti”. Nejviditelnější je pochopitelně Theme – motiv vzhledu sdílený celou aplikací. Na několik kliknutí lze změnit kompletní vzhled pouze tím, že nastavíme jiné téma. V rámci tématu pak můžeme upravovat vzhled jednotlivých součástí zvlášť. Část seznamu ukazuje Obrázek 17.
~ 15 ~
Application Builder
1. část – Oracle APEX
Obrázek 17: Šablony
Dále umožňuje část User Interface nastavovat předvolby uživatelského rozhraní a seznamy hodnot. K navigaci napříč aplikací slouží několik prvků. Předně jsou to Tabs – neboli pomyslná „ouška“ představující nabídku a dělící web na sekce. Jak uživatel prochází mezi stránkami a noří se hlouběji, pomáhají mu najít cestu zpět tzv. „drobky“ (breadcrumbs) v podobě odkazů na předchozí stránky v hierarchii (např. Seznam systémů >> Detail systému >> Editace). Potřebujeme-li zobrazit nějakou další navigaci v závislosti na kontextu, můžeme si předpřipravit seznamy (lists) odkazů. Ty lze pak přiřadit jen některým stránkám a zvolit, jak budou vypadat. Případné změny se tak provádějí na jednom místě a není nutné procházet všechny stránky, které seznam obsahují, a ručně je upravovat. Mezi další sdílené komponenty se řadí autentikační schémata a řízení přístupu, správa relací, překlad aplikace, obrázky v ní používané, CSS styly, reporty atd…
SPRÁVA PŘÍSTUPU Rozhodně je žádoucí, aby nebyly všechny součásti systému přístupné všem bez omezení. Kupříkladu běžný uživatel internetového obchodu může prohlížet zboží, ale až po registraci má dovoleno přidávat položky do košíku. Pouze pracovník obchodu má pak právo věci upravovat a teprve administrátor smí delegovat oprávnění uživatelům. V APEXu se tento model realizuje velmi snadno – prostým vytvořením nové stránky typu Access Control. Spolu s ní se vytvoří také dvě tabulky: APEX_ACCESS_CONTROL a APEX_ACCESS_SETUP ( Obrázek 20), a dál základní autorizační schémata: Administrator, View a Edit ( Obrázek 21).
~ 16 ~
Application Builder
1. část – Oracle APEX
Obrázek 18: Access Control
Na stránce s UAC4 můžeme přidávat a odebírat uživatelská jména. Aby fungovala, je nutné vytvořit příslušné uživatele i v rámci aplikace. To se zařídí z nabídky Application Builderu položkou Application Administration -> Manage Application Express Users (Obrázek 19). Každému jménu se pak přiřadí úroveň oprávnění (dle schématu). Kromě toho je nahoře v části Application Mode třeba nastavit metodu, jakou bude kontrola přístupu probíhat.
Obrázek 19: Nabídka - správa uživatelů APEXu
4
User Account Control, správa uživatelských účtů – termín převzatý z Windows Vista
~ 17 ~
Application Builder
Obrázek 20: Tabulky pro správu oprávnění
1. část – Oracle APEX
Obrázek 21: Výběr autorizačního schématu
Každá stránka, region i komponenta obsahují jako jednu z vlastností Authorization. V ní můžeme nyní vybrat jedno z čerstvě vytvořených autorizačních schémat. K dispozici je administrator, edit a view. Dle předpokladů jsou oprávnění kaskádní (administrator smí totéž, co edit a view, plus něco navíc; edit přidává možnosti k view). V drtivé většině případů si lze s těmito třemi vystačit. Administrátorovi přidělíme správu uživatelů, nějakým dalším správcům umožníme editovat položky a návštěvníkovi dovolíme aplikaci pouze prohlížet (ovšem pod heslem).
~ 18 ~
Další zdroje informací
1. část – Oracle APEX
DALŠÍ ZDROJE INFORMACÍ ·
· · ·
Jako vynikající zdroj inspirace se dají použít tzv. Packaged applications. http://www.oracle.com/technology/products/database/application_express/packaged_apps/package d_apps.html Rychlý (a neúplný) přehled jazyka PL/SQL spolu s odkazy na další reference je k dispozici na Wikipedii. http://en.wikipedia.org/wiki/PL_SQL Oficiální dokumentace jazyka PL/SQL je na webu Oracle http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28370/toc.htm „Verba movent, exempla trahunt,“ proto rozhodně doporučuji projít si i Advanced Tutorials, které prozradí jak například pracovat se seznamy, či jak nastavit v aplikaci práva přístupu. http://download.oracle.com/docs/cd/E10513_01/doc/appdev.310/e10497/toc.htm
SHRNUTÍ APEX vytváří zabezpečené relační webové aplikace nad Oracle databází bez znalosti PL/SQL kódu a s minimální znalostí jazyka SQL na straně vývojáře. (Portál Oracle APEX, str. 4) Práce je usnadněna množstvím průvodců, kteří některé akce automatizují. Návrhář není nucen zadávat volby přímo, ale vybírá z nabídnutých hodnot. (Průvodci, str. 10) Application Builder sdružuje všechny nástroje potřebné pro vývoj aplikace. Spravuje se v něm vzhled, navigace i jednotlivé stránky. (Application Builder, str. 10) SQL Workshop je sada pro návrh a úpravy databáze. Píší se v něm i uložené procedury, definují pohledy… Data lze vkládat přímo z klávesnice nebo importovat z několika formátů (XML, CSV…). (SQL Workshop, str. 7) Stránky se osazují komponentami známými z webových formulářů. Každá z nich má odpovídající vlastnosti pro řízení přístupu a podmíněné zobrazení. Komponenty se vkládají do oblastí (regionů) – těmi lze stránku rozdělit i „neviditelně“ na logické celky. (Komponenty, str. 12) Pro omezení přístupu je k dispozici zvláštní typ stránky, který zajistí vytvoření potřebných tabulek a autentikačních schémat. Ta lze poté přiřazovat jednotlivým prvkům stránek a omezovat jejich přístupnost. (Správa přístupu, str. 16)
~ 19 ~
Zdroje
1. část – Oracle APEX
ZDROJE OBRÁZKY TITULNÍ STRANA APEXU. ........................................................................................................................................ 4 ARCHITEKTURA APEXU........................................................................................................................................... 6 SAMPLE APPLICATION............................................................................................................................................. 6 SQL WORKSHOP................................................................................................................................................... 7 OBJECT BROWSER ................................................................................................................................................. 7 ORACLE SQL DEVELOPER ........................................................................................................................................ 8 UI DEFAULTS ....................................................................................................................................................... 8 TVORBA FUNKCÍ .................................................................................................................................................... 9 QUERY BUILDER .................................................................................................................................................... 9 PRŮVODCE VYTVOŘENÍM STRÁNKY ........................................................................................................................... 10 PRŮVODCE VYTVOŘENÍM OBLASTI ............................................................................................................................ 11 PRŮVODCE PŘIDÁNÍM NOVÉ KOMPONENTY ................................................................................................................ 11 DRAG AND DROP LAYOUT ...................................................................................................................................... 12 ÚPRAVA VÍCE KOMPONENT NAJEDNOU...................................................................................................................... 13 DEVELOPER TOOLBAR ........................................................................................................................................... 15 DEBUG MODE ..................................................................................................................................................... 15 ŠABLONY ........................................................................................................................................................... 16 ACCESS CONTROL ................................................................................................................................................ 17 NABÍDKA - SPRÁVA UŽIVATELŮ APEXU ..................................................................................................................... 17 TABULKY PRO SPRÁVU OPRÁVNĚN, VÝBĚR AUTORIZAČNÍHO SCHÉMATU ............................................................................. 18
BIBLIOGRAFIE 1. Oracle. Introducing Oracle Application Express. Web Oracle. [Online] 2008. [Citace: 16. 11 2008.] http://download.oracle.com/docs/cd/E10513_01/doc/appdev.310/e10498/intro_app.htm. 2. —. What is Oracle Application Express? Oracle Website. [Online] Oracle, 2008. [Citace: 20. 11 2008.] http://www.oracle.com/technology/products/database/application_express/html/what_is_apex.html.
~ 20 ~