Oracle Application Express

Rozměr: px
Začít zobrazení ze stránky:

Download "Oracle Application Express"

Transkript

1 Bankovní institut vysoká škola Praha Katedra informačních technologií a elektronického obchodování Oracle Application Express Nástroj pro menší podnikové aplikace Diplomová práce Autor: Bc. Tomáš Roubal IT a Management Vedoucí práce: Ing. Michal Valenta Ph. D. Praha Duben, 2010

2 Prohlášení: Prohlašuji, že jsem diplomovou práci zpracoval samostatně a s použitím uvedené literatury. V Praze dne Tomáš Roubal

3 Poděkování: Chtěl bych touto cestou poděkovat vedoucímu práce panu Ing. Michalu Valentovi za konzultace a vedení při zpracování této diplomové práce.

4 Anotace Tato práce se zabývá prostředím Oracle Application Express, které umožňuje rychlou tvorbu webových databázových aplikací a je nabízeno firmou Oracle zcela zdarma. V první části je práce zaměřena na recenzi tohoto prostředí, popis jeho možností a vlastností, ale také možností jeho nasazení a administrace. V rámci práce je také provedeno porovnání prostředí Oracle Application Express s vybranými obdobnými nástroji. Druhou částí práce je pak návrh a vytvoření demonstrační aplikace v tomto prostředí. Vytvořená aplikace demonstruje vybrané možnosti prostředí Oracle Application Express. V aplikaci jsou použita vlastní autentizační a autorizační schémata. Dále je řešena implementace vlastních procesů pro zpracování formulářů a využita možnost zasílání ových notifikací. V rámci vytvořené aplikace jsou ukázány možnosti interaktivních reportů. Annotation This thesis is focused on Oracle Application Express environment, which is available free to download and use and gives opportunity to build quickly web based database applications. The first part of thesis is product review of Oracle Application Express which describes its features, options and possibilities of its configuration. Oracle Application Express environment is also compared with selected other environments. In next part of this thesis is designed and implemented application in Oracle Application Express environment, which demonstrates its selected features. Application uses own created authentication and authorization schemes. There are also implemented custom form processing and notifications. Possibilities of interactive reports are also demonstrated within created application.

5 Obsah Obsah... 5 Úvod Prostředí Oracle Application Express Vlastnosti prostředí Moduly aplikace Application Builder SQL Workshop Utilities Struktura aplikace v Oracle Application Express Sdílené komponenty aplikace Stránky aplikace Možnosti a administrace prostředí Možnosti nasazení Nasazení prostředí Požadavky na komunikaci Instalace Administrace prostředí Oracle Application Express Porovnání s jinými nástroji Microsoft Office Access Iron Speed Designer Once:radix Shrnutí Analýza a návrh demonstrační aplikace Odborný článek Požadavky na aplikaci Use Case diagram Datový model Implementace demonstrační aplikace Vytvoření aplikace Kniha jízd Autentizační a autorizační schéma aplikace Formulář pro správu uživatelů

6 5.4 Zadávání jízd Interaktivní report vykonaných jízd ové notifikace a generování reportů do PDF ové notifikace Generování PDF reportů Instalace vytvořené aplikace Výsledky Závěry a doporučení Seznam použité literatury Seznam použitých zkratek Přílohy

7 Úvod Oracle Application Express je velmi zajímavým prostředím, které je k dispozici zcela zdarma a umožňuje rychlou tvorbu webových aplikací pracujících s databází. Tato práce si klade za cíl umožnit zájemcům o prostředí Oracle Application Express seznámení se s tímto prostředím a s možnostmi, které poskytuje pro tvorbu aplikací. Ve všech částech práce, pokud není uvedeno jinak, je popisována a použita verze prostředí 3.2.1, která je aktuální nejvyšší vydanou verzí v době psaní této práce. Cílem práce je recenze Oracle Application Express jako nástroje pro vývoj jednoduchých webových aplikací. Porovnání s jinými podobnými nástroji. Návrh a realizace demonstrační aplikace. První část práce je recenzí prostředí Oracle Application Express Je dále rozdělena na část zaměřenou na prostředí z pohledu vývojáře, kde jsou rozebrány vlastnosti prostředí, které mají vliv na možnosti a způsob tvorby aplikací. Poté se věnuje popisu jednotlivých částí prostředí a struktuře v něm vytvářených aplikací. Další část recenze se zabývá základními konfiguračními možnostmi prostředí a variantami jeho nasazení. Posléze pak vlastní instalací prostředí a jeho administrací. Následně je provedeno porovnání prostředí Oracle Application Express s vybranými obdobnými produkty s ohledem na možnosti tvorby aplikací, architekturu, dostupnost a omezení vytvořených aplikací plynoucí z použití jednotlivých prostředí. Hlavním cílem praktické části práce je navržení a implementace demonstrační aplikace v prostředí Oracle Application Express. Jako téma demonstrační aplikace jsem zvolil evidenci jízd firemních vozidel neboli knihu jízd. V rámci práce byla vytvořena funkční aplikace v prostředí Oracle Application Express, využívající vybrané komponenty, které toto prostředí nabízí. Aplikace obsahuje vlastní autentizační funkci a definovaná autorizační schémata oddělující přístupy k jednotlivým sekcím aplikace. Aplikace dále využívá možnosti změny vlastností a zobrazení jednotlivých komponent stránky podle definovaných kritérií, umožňujících přizpůsobit chování aplikace požadovaným pravidlům. V aplikaci je také řešena možnost zasílání ových notifikací, pomocí funkcí, které prostředí Oracle Application Express nabízí. Dále jsou využity možnosti interaktivního reportu prostředí a je řešena možnost generování reportů z aplikace do formátu PDF

8 1 Prostředí Oracle Application Express 1.1 Vlastnosti prostředí Oracle Application Express (APEX) je prostředí pro rychlý vývoj a provozování jednoduchých webových aplikací pracujících s databází, které firma Oracle nabízí zdarma ke kterékoliv edici svého databázového stroje včetně bezplatné edice Oracle Express.[26] Vychází z původního produktu HTML DB a umožňuje vývoj a provoz více aplikací v rámci jedné Oracle databáze včetně správy uživatelských přístupů a vývojářských oprávnění k aplikacím. Jak aplikace vytvořené v APEXu, tak i vývojové prostředí samotné je založené na webovém rozhraní. Na straně koncového uživatele aplikace i vývojáře je tedy vyžadován pouze webový prohlížeč. Prostředí samotné je realizováno přímo jako volitelná součást databázového stroje. Přestože tedy na straně uživatele není vyžadována žádná instalovaná komponenta kromě podporovaného webového prohlížeče, jedná se o dvouvrstvou architekturu, kde databázový stroj slouží nejen jako relační databáze, ale zároveň zpracovává vykreslování grafického uživatelského rozhraní a veškerou jeho logiku. Databázový stroj tedy zastává i funkce aplikačního serveru. Prostředí Oracle Application Express je uloženo přímo v databázi ve zvoleném databázovém schématu ve formě tabulek, procedur, pohledů a jiných databázových objektů. Jeho instalace je možná pouze na databázovém stoji firmy Oracle. Obr. 1: Architektura Oracle Application Express s použitím vestavěné PL/SQL brány Zdroj: Oracle Corporation : Oracle Application Express [25] Firma Oracle k Oracle Application Express neposkytuje žádnou záruku ani podporu, jelikož prostředí je distribuováno zdarma. K řešení problémů je však možné využít fórum - 8 -

9 zaměřené na APEX na firemních stránkách Oracle na adrese přičemž příspěvky do tohoto fóra poskytují i samotní zaměstnanci firmy Oracle a vývojáři APEXu. Vývoj aplikací v APEXu je založen na deklarativním programování.[5] Pomocí průvodců lze vytvořit bez psaní jakéhokoliv kódu reporty, formuláře pro změny a vkládání dat, ale například i koláčové grafy. To umožňuje vývoj nových jednoduchých aplikací nad existujícími daty velice rychle a efektivně, a to i vývojářům, kteří mají jen malé nebo dokonce žádné znalosti jazyka SQL a PL/SQL, i když je samozřejmě tato neznalost limitující pro další složitější úpravy aplikace. Pro rozšíření aplikací o složitější logiku a funkčnost, kterou nelze vytvořit pomocí průvodců a předpřipravených funkčností v prostředí APEXu, je potřebné použití procedurálního jazyka PL/SQL. Pro úpravy grafického rozhraní mimo rámec průvodců je pak nutná také znalost jazyka HTML, případně Java skriptu a CSS stylů. APEX rozděluje prostor pro tvorbu aplikací na pracovní prostory (workspace). Každému pracovnímu prostoru jsou při jeho vytvoření přiřazena schémata v databázi, pod kterými mohou pracovat v něm vytvořené aplikace. Každému pracovnímu prostoru se také samostatně vytváří uživatelské přístupy pro administrátory, vývojáře a uživatele pracovního prostoru. To umožňuje provozování více nezávislých prostředí pro vývoj aplikací, díky čemuž lze APEX provozovat i jako hostované vývojové a provozní prostředí. V rámci daného pracovního prostoru pak mohou uživatelé s vývojářskými oprávněními vytvářet libovolný počet samostatných aplikací. [5] Obr. 2: Struktura APEX prostředí Zdroj: GREENWALD, Rick : Beginning Oracle Application Express [5] - 9 -

10 Zavedení tohoto prostředí může být také sjednocující alternativou k mnoha malým podnikovým aplikacím vybudovaným například na produktech Microsoft Excel nebo MS Access, kterých bývá v podnicích často mnoho.[5] Migrace stávajících aplikací je přitom poměrně snadná díky nástrojům, které APEX nabízí pro migraci dat. K migraci aplikací z Microsoft Office Access je také možné využít například nástroj SQL Developer, který firma Oracle nabízí rovněž zdarma. Oracle Application Express dává možnost sjednocení těchto menších aplikací do jedné databáze s využitím databázového stroje Oracle. To může přinést mnohé výhody, jak ve sjednocení datové základny jako takové, tak ve využití všech možností a funkcí profesionálního databázového stroje firmy Oracle.[30] Instalace prostředí do databázového stroje je možná buď ve vývojářské nebo provozní verzi. Přičemž provozní verze umožňuje pouze instalaci a provoz již vytvořených aplikací, neobsahuje však žádné funkce pro jejich další úpravu a vývoj. Vývojářská verze obsahuje všechny funkčnosti verze provozní, k tomu přidává ještě prostředí pro vývoj aplikací (Application Builder), nástroje pro práci s objekty a daty v databázi pomocí jazyka SQL (SQL Workshop) a sadu dalších nástrojů (Utilities) jako generátor DDL skriptů, nástroj pro import/export dat nebo sadu předefinovaných náhledů pro monitoring.[11] Stručný popis jednotlivých částí tohoto prostředí je uveden v následujících kapitolách. Obr. 3: Hlavní obrazovka vývojářské verze Oracle Application Express Zdroj: otisk obrazovky z prostředí APEX

11 1.2 Moduly aplikace Modul Application Builder zastřešuje funkce pro vlastní vývoj aplikací v APEXu. Aplikace jsou vždy uloženy v konkrétním pracovním prostoru a právo na jejich vytváření a úpravu má pouze uživatel nebo uživatelé daného pracovního prostoru s přiděleným oprávněním pro vývoj aplikací. Protože uživatelé jednotlivých pracovních prostorů jsou na sobě zcela nezávislí (v různých pracovních prostorech mohou existovat uživatelé s totožným uživatelským jménem, ale jedná se o naprosto nezávislé a z pohledu APEXu rozdílné uživatele) je možné pomocí oddělených pracovních prostorů poskytovat v rámci jedné databáze prostor pro více skupin vývojářů, kteří mohou nezávisle na sobě vyvíjet a následně provozovat různé aplikace.[3] Způsob ověřování uživatelů prostředím je dále zmíněn v kapitole 1.4 jako součást sdílených komponent aplikace. Díky této vlastnosti a tomu, že prostředí APEX poskytuje veškeré potřebné nástroje pro vytváření a úpravu objektů v databázi a manipulaci s daty přes webové rozhraní, lze využít Oracle Application Express komerčně i jako prostředí pro poskytování prostoru na vývoj a provozování aplikací více samostatným subjektům.[25] Application Builder Část Application Builder v rámci konkrétního pracovního prostoru přihlášeného vývojáře nabízí tyto funkce: Vytvoření zcela nové aplikace Úpravu již existujících aplikací Instalaci a spuštění připravených demonstračních aplikací Administraci aplikací Import nových aplikací z instalačního balíku Spuštění aplikací existujících v daném pracovním prostoru Jedná se o hlavní část prostředí, která umožňuje vlastní vývoj a úpravu aplikací. Tvorba zde probíhá pomocí průvodců a grafického prostředí. Je možné editovat jednotlivé komponenty aplikace, které jsou podrobněji popsány v kapitolách 1.3 a

12 Obr. 4: Hlavní stránka pro editaci aplikace v části Application Builder Zdroj: otisk obrazovky z prostředí APEX SQL Workshop Dalším modulem je SQL Workshop, který sdružuje funkce pro prohlížení a manipulaci s databázovými objekty a daty. Obsahuje tyto nástroje: Object browser umožňuje prohlížení a vytváření databázových objektů a dat SQL commands umožňuje zadání SQL dotazu nebo DML příkazu SQL Scripts umožňuje vytváření nebo nahrání SQL skriptů a jejich následné spuštění v databázi nebo jejich export do souboru. Query Builder umožňuje vytváření SQL dotazů jak pomocí grafického rozhraní, tak přímo textovým zadáním a jejich uložení.[3] Nástroj Object Browser poskytuje funkčnosti pomocí nichž je možné velmi snadno v grafickém prostředí prohlížet a upravovat existující objekty v databázi, ale i vytvářet nové objekty. Prostředí je velmi podobné například Object Browseru v aplikaci TOAD for Oracle od firmy Quest Software, nebo v nástroji SQL Developer od firmy Oracle, na rozdíl

13 od těchto nástrojů ale komunikuje uživatel - vývojář s databázovým strojem pouze přes HTTP protokol a na jeho straně tedy není nutná ani instalace Oracle klienta ani spojení na databázi přes protokol SQL*Net. Obr. 5: Nástroj Object Browser Zdroj: otisk obrazovky z prostředí APEX Utilities Část Utilities sdružuje různé nástroje užitečné při vývoji aplikace a monitorování jejího provozu. Jsou to: Data Load/Unload Volba Load umožňuje nahrávání dat z textových, CSV a XML souborů do databázových tabulek. Datové soubory zde mohou být také uschovány do repository pro pozdější použití. Volba Unload slouží k exportování dat z databázových tabulek do textových souborů s libovolným oddělovačem nebo do XML souboru. Generate DDL tento nástroj umožňuje vytvoření DDL skriptů z existujících databázových objektů. Vytvořené skripty jsou uloženy v repository, odkud je možné je exportovat pro případné použití v jiné databázi. Vytvořené DDL skripty se také dají využít při přípravě instalačního balíčku aplikace

14 Objects Reports - obsahuje různé reporty nad existujícími tabulkami včetně zobrazení statistik a alokovaného místa. Reporty upozorňující na různé výjimky v databázových objektech jako přehled tabulek bez primárního klíče nebo neindexované tabulky. A dále pak reporty zaměřené na bezpečnost, programové jednotky psané v PL/SQL a reporty nad databázovým pohledem all_objects. Recycle Bin umožňuje pohled na vymazané databázové objekty, jejich případnou obnovu nebo naopak definitivní odmazání z databáze Další sada nástrojů, kterou část Utilities nabízí, je zaměřena na celou databázi. Některé tyto nástroje vyžadují přihlášení pod databázovým uživatelem s rolí DBA. Nástroje v Utilities týkající se celé databáze jsou: Database Monitor sdružuje různé pohledy užitečné pro monitoring celé databáze jako například pohledy na databázové sessions nebo systémové statistiky. APEX Views reporty nad systémovými pohledy Oracle Application Express. Zde je možné najít veškeré informace o aplikacích a jejich částech uložené v systémových pohledech v databázovém schématu, do kterého byl APEX instalován. Schema Comparison nástroj pro porovnání obsahu dvou schémat v databázi a nalezení rozdílů mezi nimi. About Database pohledy, ve kterých je možné vidět systémové informace o databázi a jejím nastavení.[3] 1.3 Struktura aplikace v Oracle Application Express Jak již bylo zmíněno v předešlé kapitole, funkce potřebné pro vývoj aplikací jsou v Oracle Application Express zastřešeny v části Application Builder. Zde je také průvodce, který při vytváření nové aplikace provede vývojáře základními volbami a vytvoří podle nich rychle jednoduchou použitelnou aplikaci obsahující formuláře a reporty nad nadefinovanými tabulkami. I když při vytváření aplikace ještě na začátku průvodce pro tvorbu aplikace nabízí vytvoření tabulek a import dat z textových nebo CSV souborů, ostatní funkce jsou již zaměřeny na tvorbu grafického uživatelského rozhraní (GUI) a na další tvorbu aplikační logiky jako například validace, listy hodnot (LOV), aplikační výpočty nebo větvení aplikace. Vytvoření datových struktur v databázi přímo při tvorbě aplikace je vhodné spíše pro rychlé vytvoření aplikace v APEXu (migrace) z již existující aplikace, například

15 v tabulkovém procesoru, kdy máme již dopředu známou strukturu a obsah dat a chceme je pouze co nejrychleji převést ve stejné podobě do Oracle databáze a následně nad nimi postavit aplikaci v APEXu. Jinak je vhodné před vlastní tvorbou nové aplikace nejprve na základě analýzy stanovit datový model a vytvořit předem v databázi všechny objekty, které bude aplikace využívat.[30] To lze buď pomocí nástrojů Oracle Application Express v části SQL Workshop případně Utilities při migraci tabulek z Excelu či textových souborů nebo nahrávání iniciálních dat. Další možností je pochopitelně využití jakýchkoliv jiných nástrojů pro Oracle Databáze mimo APEX. Pro správnou funkčnost APEXu je nutné, aby každá tabulka použitá v aplikaci měla primární klíč.[10] Ačkoliv i již vytvořenou aplikaci nebo její část je možné při pozdější změně datových struktur upravit, je počáteční analýza a správné stanovení datového modelu velice důležité, a při následné tvorbě aplikace ušetří mnoho práce. Při tvorbě aplikace totiž vestavění průvodci čerpají informace i z metadat o použitých datových strukturách, správný datový model tak umožňuje průvodci spíše vytvořit od počátku požadovanou aplikační část správně, čímž se ušetří mnoho dodatečných ručních úprav aplikace. [5] Z uživatelského pohledu je aplikace v APEXu složená podobně jako jiné databázové aplikace z jednotlivých obrazovek, které uživateli určitým způsobem zprostředkovávají náhled, případně možnosti úprav dat uložených v datových strukturách databáze a navigují ho mezi nimi. Vytváření aplikací v Oracle Application Express je přizpůsobeno požadavkům rychlého vývoje jednoduchých aplikací, ovšem zachovává si flexibilitu pro další složitější požadavky. APEX také obsahuje několik demonstračních aplikací, které lze při vytváření nové podobné aplikace využít jako základ a urychlit tak její tvorbu. Jednotlivé součásti aplikace v Oracle Application Express lze z pohledu vývojáře rozdělit podle jejich funkce v aplikaci do tří skupin[10]: Shared Components jsou komponenty, které ovlivňují, nebo jsou využitelné v celé aplikaci, patří sem i parametry pro vlastní definici aplikace. Pages definice jednotlivých stránek a jejich komponent zobrazovaných v aplikaci. Stránky mohou využívat i sdílené komponenty. Supporting Objects komponenty využívané pro instalaci aplikace do nového prostředí, upgradu a deinstalaci aplikace. Jedná se zejména o SQL skripty, ale také o definice různých validací a zpráv zobrazovaných během těchto kroků

16 Jiným dělením částí aplikace, zajímavým například z důvodu zálohování nebo instalace aplikace na jinou lokalitu, je pohled na to, kde jsou části aplikace uloženy. Vytvořená aplikace v Oracle Application Express je uložena převážně přímo v Oracle databázi, což může být obrovskou výhodou například právě z pohledu zálohování, kdy běžným zálohováním obsahu databáze zálohujeme nejen data, ale i samotnou aplikaci. Výjimku můžou tvořit statické soubory aplikace, které jsou součástí výsledných stránek aplikace, jako jsou soubory s různými ikonami nebo obrázky. Soubory tohoto typu mohou být uloženy jak v databázi, tak jako běžné soubory v souborovém systému databázového serveru v adresáři definovaném v instanci APEXu.[30] To zda budou statické soubory uloženy v databázi nebo přímo na souborovém systému je na vůli vývojáře, změnu nebo uložení souborů přímo do souborového systému databázového serveru ale není možné provést přes webové rozhraní vývojového prostředí APEX, a jejich uložení tedy musí provést osoba s přímým přístupem k tomuto adresáři. Uložení částí aplikace tímto způsobem však může být vhodné například pro statické soubory o velké velikosti. Komponenty aplikace lze tedy podle způsobu uložení rozdělit takto[30]: Databázové schéma definované pro APEX zde je v interních databázových strukturách Oracle Application Express uložena definice aplikace a jejích stránek a běžných komponent. Jsou zde uloženy i statické soubory aplikace, které vývojář uloží přes webové rozhraní vývojového prostředí. Aplikační databázové schéma, případně další databázová schémata Jedná se o schéma nebo schémata, ve kterých jsou databázové objekty, se kterými vytvořená aplikace pracuje jako například tabulky, view nebo databázové funkce a procedury. Adresář na databázovém serveru definovaný v instanci Oracle Application Express zde mohou být uloženy statické soubory odkazované ve webových stránkách aplikace. Další externí odkazy aplikace je v prohlížeči zobrazovaná jako běžná webová stránka, je tedy samozřejmě možné odkazovat i na externí URL adresy.[30] Hotovou vytvořenou aplikaci pak uživatelé mohou spouštět ve svém webovém prohlížeči z URL adresy s touto strukturou: [http nebo https]://[název serveru nebo IP adresa]:[port]/[pls/]apex/f?p=[id aplikace nebo její unikátní alias]

17 Zda se použije nešifrovaný protokol HTTP nebo šifrovaný záleží na nastavení instance Oracle Application Express administrátorem. Port nemusí být napsán, pokud by odpovídal obvyklému portu pro HTTP případně HTTPS protokol. Řetězec pls/ je v URL cestě jen za určité konfigurace APEX prostředí. ID popřípadě alias aplikace je unikátní identifikace v rámci APEX instance definovaná vývojářem při vytváření aplikace. Aplikace pak po zadání tohoto linku uživatele přesměruje na výchozí stránku a URL adresu nastavenou vývojářem v parametrech aplikace.[3] 1.4 Sdílené komponenty aplikace Kromě průvodců je jedním z hlavních prvků, které podporují rychlý vývoj aplikací v prostředí Oracle Application Express, právě koncept sdílených komponent aplikace (Shared Components). Tyto komponenty zahrnují jak základní parametry aplikace, tak prvky, které ovlivňují vzhled nebo chování celé aplikace nebo jsou v rámci aplikace vícekrát použitelné. To umožňuje například rychle změnit vzhled celé aplikace, změnit autorizační požadavky na celou nebo určitou část aplikace, změnit listy hodnot nebo jiné komponenty, které používá více obrazovek, bez ohledu na rozsáhlost aplikace a nutnosti procházení jednotlivých částí aplikace samotné.[10] Obr. 6: Dostupné sdílené komponenty aplikace Zdroj: otisk obrazovky z prostředí APEX

18 V Oracle Application Express jsou sdílené komponenty dále rozděleny na tyto části: Application Tato část obsahuje nastavení parametrů aplikace v prostředí Oracle Application Express. Základním atributem aplikace v APEXu je unikátní identifikační číslo aplikace v rámci celého repository Oracle Application Express. Při vytváření nové aplikace průvodce toto číslo sám navrhne, ale vývojář ho může změnit na jakékoliv jiné, ovšem musí zůstat zachována podmínka unikátnosti čísla, a to nejen v rámci pracovního prostoru, kde je aplikace vytvářena, ale v rámci celého APEX repository. Identifikační číslo po vytvoření aplikace už nelze později modifikovat. Toto identifikační číslo je i součástí URL adresy při volání aplikace. Alternativně k němu lze v sekci application v Shared Components nadefinovat také unikátní aplikační alias, který může být pak použit při volání aplikace v URL místo identifikačního čísla. Poslední z parametrů pro označení aplikace je aplikační jméno. To musí být unikátní pouze v rámci daného pracovního prostoru a slouží ke srozumitelnému označení aplikace pro vývojáře aplikace je pod tímto jménem zobrazována ve vývojovém prostředí. Dalším zásadním parametrem aplikace spadajícím do této sekce komponent je jméno databázového schématu, ve kterém má aplikace pracovat. Tento parametr neznamená, že by aplikace nemohla přistupovat i k objektům v jiných schématech. Aplikace bude veškeré akce v databázi provádět s právy zvoleného schématu, a bude tedy moci přistupovat i k objektům v jiných schématech, pokud na to bude mít zvolené schéma v db oprávnění, s nutností uvedení cizího schématu, ve kterém se objekt nachází. Sekce application v Shared Components poskytuje možnost nastavení celé řady dalších parametrů jako logování a debugování aplikace, řízení dostupnosti aplikace, nastavení aplikačního loga, připsání komentáře a mnoho dalších. Posledním parametrem z této sekce, který bych rád zmínil, je možnost nastavení autorizačního schématu pro celou aplikaci. Autorizační schémata jsou v APEX aplikacích způsob kontroly přístupu k jednotlivým částem aplikace. Jsou zmíněna dále ve společných komponentách u bezpečnostních prvků. Autorizační schéma lze nastavit pro každou stránku aplikace zvlášť. Nastavení autorizačního schématu přímo v Shared Components v sekci application pak znamená, že pro přístup na všechny stránky aplikace je nutno splnit minimálně podmínku tohoto autorizačního schématu.[10] Logic - V této sekci lze deklarovat aplikační prvky (Application Items). Deklarované aplikační prvky slouží v podstatě jako proměnné, které lze v rámci celé aplikace využívat a nastavovat jejich hodnotu. V sekci Logic lze dále vytvořit aplikační

19 procesy, tedy bloky PL/SQL kódu, které budou provedeny vždy v určeném místě aplikace, například při načítání každé nové stránky. Lze však vytvořit i procesy, které budou spouštěny na vyžádání jen některými částmi aplikace, budou ale dostupné jako pojmenovaný proces pro všechny stránky aplikace a vývojář tedy nemusí v případě vícenásobného využití opisovat vícekrát stejný PL/SQL kód. Obdobným způsobem lze vytvořit aplikační výpočet (Application Computation). Jedná se o definování položky, jejíž hodnota bude vždy přepočítána předem definovaným způsobem v definovaném místě aplikace, jako třeba načítání nové stránky. Aktuální hodnotu této položky lze pak využít kdekoliv v aplikaci. Dalšími možnostmi v sekci Logic je možnost napojení aplikace na webové služby a vytvoření pravidel pro vypnutí nebo zapnutí určité funkcionality aplikace nazvané Build Options.[10] Security Jak je patrné již z názvu, tato sekce společných komponent obsahuje nastavení pro zabezpečení aplikace. Prvním atributem je autentizační schéma, které bude aplikace používat pro ověření identity uživatele. APEX nabízí více možností jak ověřit identitu uživatele. Pro autentizaci uživatelů v aplikaci v Oracle Application Express je možné použít přímo databázové účty, nebo uživatelské účty vytvořené v repository Oracle Application Express, je také možné nechat aplikaci zcela bez autentizace nebo použít k autentizaci LDAP nebo Oracle Application Server Single Sign-On. K využití posledních dvou zmíněných možností je ovšem nutné, aby repository Oracle Application Express bylo správně nakonfigurováno k připojení k těmto serverům. Další položkou v sekci bezpečnost ve sdílených komponentách aplikace je nastavení autorizačních schémat. Autorizační schéma je v podstatě funkce, která pomocí definovaného SQL dotazu, PL/SQL kódu nebo jiným zvoleným způsobem ověří, zda autentizovaný uživatel splňuje její kritéria nebo ne. Jeho výstupem je tedy booleovská hodnota true nebo false. Vytvořená autorizační schémata lze navázat na jednotlivé části aplikace a zabezpečit tak, aby je využil pouze oprávněný uživatel. Další bezpečností funkcí je Session State Protection. Protože pohyb mezi jednotlivými obrazovkami aplikace v Oracle Application Express je závislý na URL adrese, existuje bezpečnostní riziko obejití aplikační logiky podvržením falešné URL adresy uživatelem. Funkce Session State Protection, pokud je zapnutá, umožňuje ošetřit toto riziko tím, že jako součást URL adres aplikace je generován kontrolní součet, který je aplikací kontrolován. Poslední položka odkazuje na další bezpečnostní atributy aplikace dostupné již ze sekce Application ve sdílených komponentách.[10]

20 Globalization Pomocí sdílených komponent v této sekci lze upravit aplikaci tak, aby podporovala více jazykových mutací. Oracle Application Express k tomu nabízí dva nástroje. Volba Translate Application umožňuje vytvoření překladu aplikace pro určitou jazykovou mutaci pod novým unikátním identifikačním číslem aplikace a export překladového souboru ve formátu XLIFF 1, do kterého APEX vyexportuje textové řetězce z celé nebo zvolené části aplikace. Po přeložení cílové podoby textů pro danou řeč je soubor možné nahrát ke zvolené jazykové mutaci a publikovat ji. Po publikování překladu pak aplikace podle svého nastavení může přepínat mezi jednotlivými mutacemi textů a poskytovat tak každému uživateli lokalizovanou verzi. Pod novým aplikačním ID jsou vytvořeny pouze překlady mapované k originální aplikaci, vývojář tak stále pracuje na vývoji pouze jediné aplikace. Přeložené mapované texty lze také v této sekci kdykoliv dodatečně upravovat. Dalším nástrojem podporujícím vícejazyčnou mutaci v této sekci je překlad textových zpráv. Tímto nástrojem lze vytvořit textovou zprávu s určitým unikátním jménem ve více jazykových mutacích, která může v textu obsahovat až 9 předávaných parametrů. V aplikaci ji pak lze využít v PL/SQL blocích, procedurách, balících i triggerech pomocí zavolání funkce APEX_LANG.MESSAGE, kde je prvním argumentem jméno zprávy, dalšími 9 argumenty implicitně nastavenými na hodnotu NULL jsou parametry, které se substitucí za znaky %1 až %9 doplní do vlastního textu zprávy a posledním nepovinným argumentem je kód jazykové mutace. Funkce na toto volání vrátí textový řetězec ve VARCHAR2 s příslušnou jazykovou mutací žádané zprávy. Pokud poslední argument pro určení jazykové mutace není při volání funkce APEX_LANG.MESSAGE explicitně uveden, vrátí funkce text odpovídající jazykové mutaci podle nastavení aplikace. Poslední volbou v této sekci je možnost nastavení atributů aplikace týkajících se jazykového nastavení. Zde lze například určit, kdy budou použity jazykové mutace nebo formát pro datum, který bude aplikace používat.[10] Navigation V této sekci sdílených komponent lze upravovat komponenty sloužící k navigaci v aplikaci. První takovou komponentou jsou záložky (Tabs). Ty se, pokud jsou pro stránku použity, v závislosti na šabloně dané stránky zobrazují v určité její části. Záložek lze vytvořit libovolný počet a ke každé záložce lze přiřadit jednu i více 1 XLIFF jedná se o otevřený standardizovaný formát pro lokalizaci na bázi XML[23]

21 stránek v aplikaci s tím, že jedna stránka je zvolena jako hlavní. Na každé stránce, kde jsou záložky použity, pak fungují tak, že je označena záložka, pod kterou spadá aktuálně zobrazená stránka, a ostatní záložky fungují jako odkaz na jim nastavené hlavní stránky. Pro jednu aplikaci lze vytvořit i více skupin záložek. Další komponentou, kterou lze využít pro navigaci v APEX aplikaci, jsou seznamy Lists. Seznamy lze plnit položkami, pro které lze definovat hypertextový odkaz na jiné stránky aplikace nebo jiné libovolné URL adresy. Výhodou použití seznamů ve sdílených komponentách pro navigaci v aplikaci je, že vytvořený seznam lze snadno spravovat z jednoho místa bez ohledu na to, v kolika místech aplikace je použit. Při úpravě seznamu se změna automaticky projeví v celé aplikaci ve všech jeho výskytech. Dalším navigační komponentou APEX aplikací jsou takzvané Breadcrumbs. Tato komponenta zajišťuje hierarchickou navigační strukturu pro jednotlivé stránky aplikace do jakékoliv úrovně. V této komponentě záznam pro každou stránku zároveň obsahuje i záznam o stránce, která je jejím předkem. V aplikaci pak funguje tato komponenta tak, že uživateli je na aktuální stránce zobrazena hierarchie příslušné stránky až na úroveň hlavní stránky aplikace, kde jednotlivá jména stránek jsou zároveň hypertextovými odkazy na tyto stránky. Uživatel má tedy díky této komponentě možnost se vrátit z aktuální stránky na jakoukoliv vyšší úroveň v aplikaci a zároveň je mu poskytnuta přehledná informace, kde se v aplikaci nachází. Hierarchickou navigační komponentou jsou také stromy. Stromy lze po vytvoření využít podobně jako seznamy na více místech aplikace. Stromy lze plnit hodnotami za pomoci libovolného SQL dotazu, který vrací sloupce s názvy nebo aliasy ID, PID, NAME, a LINK. Kde sloupec ID znamená unikátní ID položky ve stromu, hodnota PID je ID nadřazené položky ve stromu, hodnota sloupce NAME udává text, pod jakým bude položka ve stromu zobrazena, a LINK hypertextový odkaz pro danou položku. Pro funkci stromu platí podmínka, že SQL dotaz musí pro všechny vrácené hodnoty PID zároveň vrátit i odpovídající záznamy, kde PID = ID. Poslední položka, kterou APEX ve sdílených komponentách v této sekci nabízí, je nazvaná Navigation Bar Entries. Tato komponenta uživateli zobrazí na předem daném místě v obrazovkách aplikace sadu definovaných odkazů podle zvoleného pořadí.[10] User Interface Vzhled aplikace v APEXu je založen na takzvaných tématech (Themes). Téma aplikace volí vývojář hned při jejím vytváření, ale je možné ho později změnit právě z této sekce sdílených komponent. Téma představuje skupinu

22 šablon k různým typům obrazovek a komponent v aplikaci. Šablona zde představuje kostru určitého typu stránky nebo komponenty v HTML kódu se speciálními textovými řetězci, které APEX následně při implementaci dané komponenty substituuje za konkrétní hodnoty. Změnou šablony lze tedy změnit například konkrétní podobu tlačítek v aplikaci nebo určitého typu obrazovek. Pomocí substitucí šablony obrazovek také určují, v kterém místě se zobrazí jednotlivé sdílené komponenty. Šablony kromě klasického HTML kódu mohou obsahovat i Java Script, kaskádové styly nebo jiný obsah, který bude schopen prohlížeč uživatele při čtení výsledné stránky interpretovat. Změnou tématu aplikace se obmění sada šablon a změní se tak velmi jednoduše a rychle vzhled celé aplikace bez dopadu na její funkčnost. Lze také upravovat jednotlivé šablony aplikace, nebo vytvářet nové vlastní jako alternativu, kterou mohou využít jen některé komponenty. Je možné také vytvářet celá vlastní témata, obsahující sadu šablon. Tato schopnost může být například užitečná pro případy, kdy chceme, aby aplikace ve firmě měly jednotný vzhled. Vytvořením tématu obsahující všechny potřebné šablony pro požadovaný vzhled aplikací pak dosáhneme tohoto cíle jednoduše tím, že pro každou vyvíjenou aplikaci bude použito toto téma.[5] Další užitečnou možností Oracle Application Express pro sjednocení vzhledu aplikací je vytvoření User Interface Defaults (UID) pro databázové tabulky nebo view. Jedná se v podstatě o obal databázových objektů metadaty, které APEX využije při vytváření nových částí aplikace využívajících tyto objekty. Pomocí UID lze například nastavit jaké popisky APEX implicitně vytvoří pro jednotlivé atributy tabulky nebo view, v jakém pořadí budou implicitně atributy z těchto objektů ve formulářích nebo reportech zobrazeny, nebo které atributy se implicitně v aplikaci zobrazovat nemají. Nadefinování UID k databázovému objektu tak může ušetřit práci při vytváření nových částí aplikace, které tento objekt využívají a zároveň sjednotit způsob, jakým je daný objekt v aplikacích zobrazován. Další komponentou spadající do sekce User Interface ve sdílených komponentách jsou listy hodnot list of values (LOV). Listy hodnot fungují jako převodník mezi hodnotami, které jsou skutečně uloženy v databázi a hodnotami, které chceme zobrazit uživateli. Příkladem může být například zobrazení záznamů o obchodních transakcích, kde budeme chtít, aby v aplikaci bylo uživateli zobrazeno celé jméno transaktora namísto jeho identifikačního čísla, které ukládáme v databázi k transakčním záznamům. Po vytvoření odpovídajícího listu hodnot lze tohoto docílit jednoduše tím, že položku s identifikačním číslem transaktora navážeme na vytvořený list hodnot. Listy hodnot lze v Oracle Application Express definovat jak na lokální

23 úrovni jednotlivých stránek, tak ve sdílených komponentách. Rozdíl je v tom, že jednou nadefinovaný list hodnot ve sdílených komponentách může být využit v aplikaci vícekrát. List hodnot může být definován jako statický seznam zobrazovaných a odpovídajících návratových hodnot nebo jako dynamicky spouštěný SQL dotaz, který vrací 2 sloupce s aliasy d - pro hodnoty zobrazované uživateli a r pro návratové hodnoty do databáze. Poslední komponentou z této části jsou zkratky (Shortcuts). Zkratky slouží k definování často používaného kusu kódu, který lze pak pomocí substitucí využít v aplikaci vícekrát bez nutnosti přepisování celého kódu.[10] Reports V této sekci sdílených komponent lze definovat tiskové reporty, které budou moci uživatelé aplikace využívat. Obsah reportů je definován klasickým SQL dotazem a umožňuje i využití proměnných při spuštění reportu. Oracle Application Express nabízí vytvoření reportů v různých formátech včetně formátů PDF, Microsoft Word a Excel nebo HTML. Oracle Application Express ovšem sám o sobě tyto jmenované formáty není schopen generovat. Aby bylo možné reporty v těchto formátech vytvořit, musí být Oracle Application Express administrátorem patřičně nakonfigurován a napojen na tiskový server, který je schopen provést konverzi do těchto formátů. APEX pak provede pouze spuštění reportu a odeslání výsledku ve formátu XML tiskovému serveru, který vrátí jako výsledek zkonvertovaný report. K vytvořeným reportům je také možné navrhnout definici rozložení reportu (layout), která se použije při konverzi z XML. S pomocí report serveru tak lze vytvořit přesně formátované reporty podle požadavků.[10] Files - V této sekci je možné uložit do virtuálního adresáře aplikace soubory s kaskádovými styly, obrázky nebo jiné statické soubory, které je pak možné využít v aplikaci. Soubory takto uložené lze volat v HTML kódu stránek aplikace stejným způsobem, jako soubory uložené se stránkami na klasickém webovém serveru.[10] 1.5 Stránky aplikace Každá stránka v Oracle Application Express aplikaci musí mít svoje unikátní identifikační číslo v rámci celé aplikace. Toto číslo je kromě některých typů stránek volitelné. Při volání stránky v aplikaci je pak toto identifikační číslo součástí URL adresy společně s identifikačním číslem aplikace a dalšími parametry. Stránky aplikace v APEXu mohou obsahovat komponenty jak definované pouze pro konkrétní stránku tak i sdílené komponenty. Stránky jsou vykreslovány podle šablon HTML kódu ve sdílených

24 komponentách, do kterých je ještě za pomocí substitucí doplňován další kód nebo obsah dalších podřazených šablon. Kromě sdílených komponent pro navigaci a některých jiných pevně umístěných prvků na začátku a konci stránky podle šablon je další obsah stránky a její komponenty rozdělen do jednotlivých regionů, které slouží jako kontejnery pro jejich umístění na stránce. Region může obsahovat různé typy komponent a jeho umístění na stránce aplikace v rámci oblasti určené pro regiony je řízeno třemi parametry sekvenčním číslem, číslem sloupce a bodem zobrazení (Display point). Tyto parametry souvisí s tím, jak ve skutečnosti funguje formátování stránek aplikace pro klienta. Stránka aplikace v APEXu je na prohlížeč klienta odesílána jako klasická webová stránka, formátování a umístění jednotlivých komponent je tedy řízeno klasickými prostředky pro webové stránky, jako HTML formátování a kaskádové styly. Jedním z hlavních prostředků, které APEX pro správné umístění obsahu stránky používá, je pak HTML tabulka.[3] Parametry pro umístění regionu se pak dají vysvětlit tak, že Display point určuje, kde bude region umístěn v rámci šablony stránky, a číslo sloupce je číslo sloupce HTML tabulky v této oblasti, do které má být region vykreslen. Sekvenční číslo určuje, v jakém pořadí bude jednotlivé regiony a komponenty APEX při vytváření stránky generovat. Mimo různých atributů určujících vzhled a chování regionu je zajímavá možnost, kterou má i většina ostatních komponent aplikace, a to podmínit zobrazení regionu (komponenty) na základě nějakého kritéria. Kritéria ke zobrazení jednotlivých komponent nebo celých regionů stránky mohou být určena mnoha způsoby od porovnávání hodnot atributů po SQL dotazy nebo návratové hodnoty PL/SQL kódu. Zobrazování je také možné podmínit některými parametry prostředí prohlížeče. To umožňuje velmi efektivně řídit obsah stránky na základě různých rozhodujících podmínek, které mohou být v případě, že vývojář aplikace ovládá PL/SQL, i velmi složité.[10] Vytváření nových stránek aplikace je při vývoji stejně jako vytváření jiných komponent maximálně usnadněno průvodci, kteří vývojáře postupně provedou všemi základními volbami potřebnými pro vytvoření jednoduché stránky daného typu. Takto vytvořené stránky většinou obsahují pouze region s vybraným typem komponenty a zvolené navigační prvky. Základní nabídka typů pro vytvoření nové stránky aplikace je[10]: Blank Page - vygeneruje novou prázdnou stránku aplikace obsahující jen zvolené navigační prvky. Multiple Blank Pages - vygeneruje sadu nových prázdných stránek obsahujících jen zvolené navigační prvky

25 Report vygeneruje novou stránku aplikace obsahující report zvoleného typu a zvolené navigační prvky. Reportem se zde rozumí objekt zobrazující výsledky SQL dotazu ve formátu tabulky. Reporty mohou obsahovat i hypertextové odkazy nebo multimediální a jiné soubory uložené v databázi. Některé multimediální soubory pak může APEX rozeznat a zobrazit odpovídajícím způsobem. Soubory jakéhokoliv typu a obsahu pak mohou být v reportu zobrazeny jako hypertextový odkaz ke stažení souboru. Od verze Oracle Application Express 3.1 pak toto prostředí nabízí nový a podle mého názoru velmi zajímavý a užitečný typ reportu, takzvaný interaktivní report (Interactive Report).[25] Náročnost vytvoření tohoto reportu z pohledu vývojáře je obdobná jako u klasického, pro uživatele aplikace však výsledný report nabízí mnohem širší možnosti než statická tabulka s výsledky daného selektu. U interaktivních reportů má uživatel aplikace možnost pomocí ovládacích komponent reportu dále s tímto reportem pracovat a upravit si ho podle vlastních požadavku, přičemž se však vždy pohybuje v rámci oblasti výsledků selektu a mezí definovaných vývojářem. U interaktivních reportů má uživatel možnost sám zakrýt nebo přehodit pořadí některých sloupců, přidat vlastní kalkulace k reportu, dále filtrovat výsledky reportu podle vlastních kritérií, sdružovat výsledky podle některého ze sloupců, nastavit vytváření agregací a mnoho jiných funkcí. Velmi zajímavá také může být možnost podbarvovat podle určitých kritérií některé řádky nebo položky reportu. Všechny tyto další úpravy nad výslednou podobou interaktivního reportu přitom uživatel může provádět v aplikaci přes snadno ovladatelné grafické rozhraní a jím provedené úpravy nad výsledným formátem reportu pak uložit jako vlastní uživatelskou verzi pro tento report, pokud je to pro report vývojářem povoleno. Stejné možnosti formátování má i samotný vývojář při vývoji aplikace, ten má navíc možnost tyto úpravy uložit jako výchozí formát reportu pro všechny uživatele.[10] Chart vygeneruje stránku s grafem založeným na SQL selektu a zvolenými navigační prvky. Grafy dokáže APEX podle volby vytvořit ve formě HTML kódu nebo za využití technologie Macromedia Flash to vyžaduje, aby na straně klienta byl nainstalován Flash Player 8 nebo vyšší.[10] Třetí možností je pak vytvoření grafů za

26 využití formátu SVG. 2 V závislosti na použité technologii pak APEX umožňuje tvořit různé druhy grafů. Obsah grafů se definuje pomocí SQL dotazu s pevně danou strukturou jmen očekávaných sloupců. Grafy umožňují selektem vytvořit i hypertextové odkazy z jednotlivých zobrazovaných položek, což dále zvyšuje pružnost APEX aplikací.[10] Form - vygeneruje stránku s různým typem formuláře a zvolenými navigační prvky. Formuláře umožňují procházení jednotlivých záznamů, a pokud je to možné, také přidávání nových záznamů a editaci nebo smazání existujících záznamů. Kterákoliv z možností úpravy, přidávání a mazání záznamů může být však vývojářem potlačena. APEX nabízí formuláře více typů, formulář může být například napojen přímo na tabulku nebo view, může být však také definován SQL dotazem nebo napojen na webové služby registrované v aplikaci. Je možné také vytvořit kombinovaný formulář Master Detail nad dvěma tabulkami, z nichž jedna obsahuje detailní rozšířené záznamy k záznamům z hlavní tabulky, typicky tabulky propojené cizím klíčem. Velmi účinná pro zobrazení dat uživatelům je kombinace reportu a formuláře, kterou APEX také umožňuje vytvořit přímo pomocí průvodce. Report pak zobrazuje celkový pohled na data a pomocí hypertextových odkazů umožňuje uživateli zobrazení formuláře s detaily dané položky a případně s možností její editace nebo smazání.[10] Wizzard tato volba umožňuje vytvoření skupiny několika propojených stránek vybraného typu. Procházení těchto stránek je pak při vytváření ihned nastaveno tak, aby po potvrzení jedné stránky byl přesměrován na stránku následující. Účelem této možnosti je snadné vytvoření propojených stránek například pro vytvoření aplikačních průvodců.[10] Calendar umožňuje vytvořit stránku se zajímavou komponentou Oracle Application Express pro zobrazení záznamů, jež obsahují také položku s datovým typem DATE v kalendáři. Komponenta kalendář může být naplněna v nejjednodušším použití daty přímo ze zvolené tabulky a jejích atributů, může být však také plněna pomocí libovolného SQL dotazu, který vrací předem definované sloupce. Kromě textové hodnoty položek lze dotazem také definovat jejich hypertextové odkazy. Uživatel pak 2 Formát pro webovou grafiku na bázi XML od konsorcia W3C. Všechny webové prohlížeče však tento formát nemusí podporovat a většina těch, které ho podporují, vyžadují, aby měl uživatel nainstalovaný plugin pro SVG.[25]

27 má možnost v aplikaci tyto záznamy procházet listováním v kalendáři, včetně volby různé granurality časové osy a po kliknutí na danou položku může být přesměrován například na stránku aplikace zobrazující detail o dané položce.[10] Tree - vygeneruje stránku s komponentou strom a zvolenými navigační prvky. Login Page slouží pro vygenerování nové stránky pro autentizaci uživatele do aplikace. Přihlašovací stránka aplikace je automaticky vygenerována při vytváření nové aplikace, pomocí této volby je možné v případě potřeby (například po nechtěném smazání) vytvořit tuto stránku znovu.[10] Access Control vytvoření této stránky slouží jako snadná možnost, jak vybudovat k aplikaci v Oracle Application Expressu bezpečnostní logiku oddělených oprávnění v aplikaci pro různé uživatele. Průvodce v tomto případě vytvoří novou stránku v aplikaci nazvanou Access Control Administration Page, kromě toho ale vytvoří v databázi v aplikačním schématu 2 nové tabulky (APEX_ACCESS_SETUP a APEX_ACCESS_CONTROL) pro administraci přístupů uživatelů a také autorizační schémata pro 3 základní aplikační role: Administrator, Edit a View. Na vytvořené stránce je pak možné definovat jména uživatelů a jejich aplikační role, kromě toho je možné přepínat i mezi různými módy kontroly aplikačních rolí. V aplikaci pak už stačí pro zajištění kontroly přístupu jednotlivým stránkám nebo komponentám přidružit požadované vytvořené autorizační schéma. Celou tuto funkčnost lze nahradit pochopitelně i vlastní implementací nebo ji následně po vytvoření ještě dále upravit. Funkčnost vytvoření kontroly přístupů pomocí této volby pouze usnadňuje využití standardní funkčnosti autorizačních schémat v Oracle Application Express.[10] Page Zero je speciální stránka, která může být pouze jedna v celé aplikaci a jejíž ID musí být vždy 0. Komponenty, které vývojář umístí na tuto stránku, bude Oracle Application Express vykreslovat pro každou stránku aplikace, pokud to nebude v podmínkách pro vykreslení nulové stránky pro určité stránky potlačeno.[10] Po dokončení všech voleb průvodce v závislosti na zvoleném typu stránky se vytvoří nová stránka aplikace. Takto vytvořená stránka obsahuje veškerou základní logiku, aby mohla být zobrazena, většinou je však potřeba stránku dále upravit a přidal další logiku nebo regiony, aby splňovala požadavky aplikace. To lze provést po vytvoření stránky její editací

28 Obr. 7: Definice stránky Zdroj: otisk obrazovky z prostředí APEX Ve vývojovém prostředí pro editaci stránky jsou komponenty stránky rozděleny do tří sekcí: Renderování stránky (Page Rendering) v této sekci je přístup k veškerým nastavením stránky, které ovlivní to, jak se stránka zobrazí. Neboli veškeré atributy a komponenty stránky definované v této sekci jsou iniciovány v okamžiku, kdy Oracle Application Express dostane od uživatele žádost o zobrazení dané stránky aplikace. Na klientskou stanici je pak poslána výsledná vygenerovaná stránka. V této sekci lze definovat různé atributy stránky určující její chování a vzhled jako například jméno stránky, autorizační schéma pro vstup do stránky nebo použitá šablona pro vykreslení stránky. Dále zde lze přidávat, editovat nebo mazat regiony stránky (Regions), tlačítka (Buttons) umístěná na stránce a jejich funkčnost, prvky (Items) obsažené na stránce,

29 výpočty hodnot (Computations) některých prvků a procesy (Process), které mají být provedeny v určitém bodě generování stránky, jako například načtení záznamů z databáze do mapovaných prvků formuláře. Procesování stránky (Page Processing) - tato sekce umožňuje nastavení veškeré logiky, která má být provedena v okamžiku, kdy uživatel odešle výsledek svých akcí na dané stránce. Mohou to být opět výpočty různých prvků, dále různé validace, které mohou zabránit uživateli uložení provedených změn, procesy, které mají být provedeny po odeslání změn uživatelem, pokud jsou všechny validace v pořádku. Poslední oblastí v této sekci je pak větvení aplikace Branches, kterým se určuje, na kterou URL adresu nebo stránku aplikace bude uživatel přesměrován po odeslání aktuální stránky. Lze vytvářet i více podmíněných pravidel větvení a tím vytvořit logiku navigování mezi stránkami podmíněné určitými kritérii. Pravidla větvení jsou zpracovávána stejně jako jiné prvky stránky v pořadí podle sekvenčních čísel, jakmile dojde na zpracování větvení, jehož podmínka byla splněna, aplikace ihned provede přesměrování a na další definovaná větvení s vyšším sekvenčním číslem už není brán zřetel. Stránka by měla vždy obsahovat jedno nepodmíněné větvení nebo sadu podmíněných větvení, u kterých je zaručeno, že alespoň jedna z podmínek bude splněna, jako poslední. Pokud totiž není splněna žádná podmínka větvení, vyhlásí Oracle Application Express po odeslání stránky uživatelem chybu aplikace, jelikož nemá, jak dál pokračovat. Sdílené komponenty (Shared Components) Tato sekce zobrazuje a zaroveň umožňuje snadný přístup k některým sdíleným komponentám aplikace ovlivňujícím výsledný vzhled a chování stránky. Výsledná stránka aplikace pomocí dodatečných editací umožněných v této sekci už může v závislosti na schopnostech vývojáře obsahovat poměrně složitou logiku. Prvky stránky fungují na rozdíl od aplikačních prvků jako zobrazitelné komponenty, které mohou být zobrazeny na stránce volitelným způsobem, například jako textové pole, combo box nebo check box. Jejich hodnota může být navázána buď na hodnoty objektu v databázi nebo být určena výpočty definovanými na stránce. Prvky jsou platné jen v rámci dané stránky, ale v rámci ní může být jejich hodnota stejně jako u aplikačních prvků referencována nebo měněna. V SQL a PL/SQL kódu na stránce lze pak s hodnotami těchto prvků pracovat jako s klasickou proměnnou v SQL.[10] Různé komponenty stránky pak mohou být schovávány nebo nastavovány podle nejrůznějších kritérií, SQL nebo PL/SQL kódu nebo volání funkcí a procedur uložených v databázi. Viditelnost ve stránce aplikace na základě různých

30 podmínek lze definovat i samotným prvkům stránky. Lze také definovat prvky, které jsou skryté stále, a využít je pouze jako nositele proměnné potřebné pro určitou logiku stránky. Stránky upravené dodatečnou editací ve vývojovém prostředí mohou také obsahovat sadu mnoha regionů a kombinovat nejrůznější komponenty jako například report s grafy na jedné stránce aplikace. Při přechodu na další stránku aplikace je také možné předávat parametry v URL adrese mezi stránkami a navázat například stránku s reportem tak, aby report zobrazil jen údaje pro danou výseč grafu označenou uživatelem na předchozí stránce.[10] Pro dodatečné úpravy a ladění aplikace je také dobré, že upravované stránky lze přímo z vývojového prostředí spustit, a dolaďovat tak funkčnost a vzhled aplikace. Při spouštění aplikace z vývojového prostředí přitom vývojář vidí aplikaci ve stejné podobě, jako bude viděna běžným uživatelem, pod stránkou aplikace má však ještě k dispozici pomocné hypertextové linky, které mu umožní například snadný návrat do vývojového prostředí, zobrazení informací o aktuální session, ladění aktuální stránky nebo zobrazení editačních linků, pomocí nichž může snadno měnit zobrazené popisky prvků a jiných komponent stránky.[10]

31 2 Možnosti a administrace prostředí 2.1 Možnosti nasazení Nasazení prostředí Jak již bylo zmíněno v předchozí části práce, Oracle Application Express je nástroj, který firma Oracle nabízí zdarma ke kterékoliv platné licenci databázového stroje Oracle a to včetně varianty Oracle Database Express Edition, která je k dispozici zcela zdarma. Pro instalaci je vyžadováno, aby se jednalo o databázový stroj Oracle ve verzi nebo vyšší, konfigurace databáze pak musí splňovat podmínky uvedené v instalační dokumentaci firmy Oracle k tomuto produktu. Instalace je možná na jakékoliv platformě, pro kterou je k dispozici instalace Oracle databáze. Na straně klienta je pro správnou funkci prostředí požadováno, aby webový prohlížeč podporoval Javascript a standardy HTML 4.0 a CSS 1.0. Tyto požadavky splňují například prohlížeče Microsoft Internet Explorer od verze 6.0 nebo Mozzilla Firefox od verze 1.0. Pro chod aplikací je dále nutné, aby na prohlížeči byly povoleny cookies.[11] Kromě možnosti instalace vlastního prostředí existují také komerční poskytovatelé prostoru v prostředí Oracle Application Express dostupném na internetu. Podnik tedy může pořídit toto prostředí těmito způsoby: Instalací Oracle Application Express do již existující licencované Oracle databáze vlastněné podnikem a splňující minimální požadavek na verzi databázového stroje. Zakoupením kterékoliv varianty licence k databázovému stroji Oracle. Využitím edice Oracle Database Express Edition poskytované zdarma Využitím služeb poskytovatele prostoru v prostředí Oracle Application Express Pokud může podnik přistoupit k variantě instalace Oracle Application Express do již vlastněné databáze, ať již z důvodu, že se jedná o databázi, ve které se již nachází objekty, se kterými mají budoucí aplikace pracovat, nebo z důvodu nevyužitých kapacit databázového serveru, jedná se o variantu, která podniku nepřináší žádné další náklady. Zakoupením kterékoliv varianty licence databázového stroje firmy Oracle získá podnik zároveň možnost instalovat a využívat na této databázi prostředí Oracle Application Express. Databázový stroj firmy Oracle je řazen mezi přední komerční databázové stroje.[30] Porovnání vlastností jednotlivých edicí databázového stroje lze nalézt na

32 stránkách firmy Oracle na následujícím odkazu: Při této variantě je nutné počítat nejen s náklady na licenci databázového stroje, ale také s náklady na databázový server odpovídající nárokům, které budou na databázi kladeny. Minimální hardwarové požadavky jsou pak uvedeny v instalačních manuálech k jednotlivým edicím. Ceny licencí databázového stroje Oracle se odvíjejí nejen od edice databázového stroje, ale také od typu licencování. Přehled cen, za které je možné pořídit licence k jednotlivým edicím databázového stoje Oracle 11g, jsou uvedeny na těchto stránkách výrobce.[27] Licence je možné pořídit buď podle počtu uživatelů databáze, nebo podle počtu procesorů databázového serveru. Například pro edici Oracle Database 11g Standard Edition One je cena licence na jednoho uživatele udávaná na stránkách firmy Oracle 180 dolarů a na procesor dolarů, pro nejvyšší edici Oracle Database Enterprise Edition je pak cena za jednoho uživatele 950 dolarů a dolarů procesor.[27] Využitím bezplatné edice Oracle Database Express Edition je možné využívat databázový stroj firmy Oracle včetně prostředí Oracle Application Express zcela zdarma. Je však stále nutné počítat s investicí do databázového serveru odpovídajícímu nárokům na databázi i možnostem a omezením této bezplatné edice. Tato bezplatná Edice databázového stroje je v součastné době dostupná pouze ve starší verzi Oracle 10g R2 a celkově se samozřejmě jedná o edici s nejomezenějšími možnostmi. Firma Oracle pochopitelně k této edici neposkytuje také žádnou podporu. Dalšími omezeními jsou například možnost využití pouze jednoho CPU na databázovém serveru, využití paměti RAM databázovou instancí maximálně do výše 1GB, maximální velikost databáze je pak 4GB. Tato edice je k dispozici pouze pro operační systémy Windows a Linux a jako jediná nemá podporu jazyka Java.[28] Přes tato uvedená a další omezení této edice se stále jedná o velmi kvalitní a ověřený databázový stroj, navíc při jeho využití je kdykoliv možné po zakoupení licence databázi snadno povýšit na vyšší edici. To činí tuto edici ideální jako startovní pro menší podnikové aplikace, u nichž je pak snadno možné, pokud dojde k jejich růstu, provést upgrade databázového stroje na vyšší placenou edici.[5] Instalace Oracle Database Express Edition v sobě již obsahuje nainstalované prostředí Oracle Application Express a to ve verzi 2.1. Prostředí zde dokonce slouží jako implicitní nástroj pro administraci databáze, na který je uživatel odkázán ihned po dokončení instalace databáze.[28] Pro využití veškerých možností tohoto prostředí je však dobré provést upgrade na aktuální verzi, kterou je v době

33 psaní této práce verze V přípravě je však již nová verze Oracle Application Express 4.0.[25] Využitím služeb poskytovatele prostoru v prostředí Oracle Application Express se podnik vyhne všem nákladům na provozování databázového serveru. Míra poskytovaných služeb a velikost poskytnutého prostoru se pak odvíjí od konkrétního ujednání s poskytovatelem. Při této variantě je také nutné zvážit bezpečnostní a jiná rizika související se svěřením podnikových dat externímu dodavateli. Na druhou stranu je možné dosáhnout menších nákladů na provoz aplikace a výhodou může také být, že aplikace je přístupná přes síť internet bez nutnosti budování potřebné infrastruktury v podniku. Takovým poskytovatelem je například MaxApex na stránkách který nabízí různé úrovně hostingu od hostingu zdarma po balík služeb Enterprise za 150 dolarů měsíčně, který obsahuje tabulkový prostor o velikosti 1GB, možnost vytvoření 10 Oracle uživatelům, 10 pracovních prostorů a neomezeného počtu aplikací.[14] Možnost využití prostoru v prostředí Oracle Application Express je také přímo na stránkách firmy Oracle Tyto stránky jsou však určeny pouze pro seznámení vývojářů s tímto produktem a nemají být využity k jiným účelům.[25] U variant vlastního prostředí Oracle Application Express je také potřeba počítat s tím, že pokud bude od aplikací vyžadován export nebo tisk reportů, je prostředí samo osobě schopno vygenerovat pouze formáty CSV a XML. Pokud bude požadováno po cílových aplikacích generování jiných formátů, jako například PDF nebo RTF, je potřeba připojit také tiskový server, který dokáže tuto konverzi zajistit. Jako server pro generování reportů je možné použít firmou Oracle doporučovaný vlastní produkt Orace BI Publisher, který je však placeným produktem, nebo jiný tiskový server schopný přijímat formát XSL-FO, jako je například zdarma dostupný produkt Apache FOP.[25] Požadavky na komunikaci Aby mohlo prostředí Oracle Application Express fungovat, potřebuje zajistit komunikaci přes HTTP protokol mezi webovým prohlížečem a APEX prostředím v Oracle databázi. Podle instalační dokumentace existují dvě konfigurační možnosti pro zajištění této komunikace[11]: Vestavěná PL/SQL brána přímo v Oracle databázi Oracle HTTP server s mod_plsql pluginem

34 Vestavěná PL/SQL brána (Embedded PL/SQL Gateway) je součástí všech edic Oracle Database 11g a je také součástí edice Oracle Database Express Edition 10g. Tato brána je integrována přímo v instanci databáze a při jejím použití jsou tak jedinými komponentami, které jsou využity pro běh aplikace v APEX prostředí, webový prohlížeč u klienta a instance Oracle databáze. Variantu s vestavěnou PL/SQL bránou není možné použít pro verze Oracle Databáze 9i a její použití se také nedoporučuje pro APEX prostředí, které bude dostupné z internetu nebo kde je zvýšené riziko hackerského útoku. Při použití vestavěné PL/SQL brány totiž hrozí větší riziko, že bude napaden databázový server, který přímo komunikuje s koncovými uživateli aplikací. Na druhou stranu tato konfigurace pro nasazení, kde toto riziko není tak velké, přináší výhody ve snadnější architektuře celého řešení, kdy je k provozu celých aplikací v prostředí Oracle Application Express potřeba pouze databázový server Oracle.[11] Obr. 8: Architektura prostředí APEX s použitím vestavěné PL/SQL brány Zdroj: JENNINGS, Terri: Oracle Application Express Installation Guide [11] Použití varianty Oracle HTTP serveru s mod_plsql pluginem je možné u všech verzí Oracle databáze. Instalace Oracle HTTP serveru je dostupná na stránkách firmy Oracle vždy ke konkrétnímu releasu Oracle databáze. Tento server pak funguje tak, že transformuje všechny webové požadavky od klienta do volání databázových procedur prostředí Oracle Application Express přes protokol SQL*Net. Použití této varianty je nutné pro starší verze databázového stroje Oracle a doporučuje se pro prostředí APEX publikovaná ve veřejné síti Internet nebo také pro databáze běžící v prostředí Oracle RAC. Výhodou této varianty je vyšší bezpečnost spojená s oddělením webového serveru od databázového serveru, na druhou stranu je však komplikovanější o další komponentu v architektuře řešení prostředí Oracle Application Express.[11]

35 Obr. 9: Architektura prostředí APEX s použitím Oracle HTTP serveru s mod_plsql pluginem Zdroj: JENNINGS, Terri : Oracle Application Express Installation Guide [11] V obou těchto variantách je možné nakonfigurovat prostředí Oracle Application Express tak, aby pro komunikaci s uživateli byl použit buď nezabezpečený protokol HTTP nebo zabezpečená varianta HTTPS.[9] 2.2 Instalace Instalaci Oracle Application Express poskytuje firma Oracle na svých stránkách Oracle Technology Network (OTN) v sekci věnované tomuto produktu.[25] Instalační balíček obsahuje jak instalaci vývojové varianty prostředí Oracle Application Express, tak pouze provozní varianty. Instalace samotná má formu SQL a PL/SQL skriptů a provádí se pod databázovým uživatelem SYS. Kompletní instalační postup závisí na zvolených konfiguračních možnostech a je detailně popsán v instalační dokumentaci k tomuto produktu.[11] Přesto bych v této kapitole rád shrnul alespoň základní body instalačního postupu. Před samotnou instalací prostředí je nutné ověřit, zda cílová databáze splňuje všechny požadavky popsané v instalační dokumentaci k dané verzi APEX prostředí. Požadavky se týkají zejména verze databázového stroje Oracle, instalovaných komponent a volného prostoru.[11] Spuštění instalace se provede spuštěním příslušného skriptu ze staženého instalačního balíčku v prostředí SQL *Plus pod uživatelem SYS. V instalační dokumentaci k Oracle Application Express verze 3.2 je to skript apexins.sql pro instalaci plného vývojového prostředí a skript apexrtins.sql pro instalaci pouze provozního prostředí. Oba tyto skripty pak při spuštění očekávají předání 4 následujících parametrů v tomto pořadí. Jméno tabulkového prostoru pro schéma a metadata APEX prostředí Jméno tabulkového prostoru pro soubory ukládané do databáze přes APEX prostředí

36 Jméno dočasného tabulkového prostoru Jméno virtuálního adresáře pro statické soubory v prostředí. Pro podporu budoucích upgradů prostředí má být tento parametr nastaven na hodnotu /i/.[11] Jako tabulkové prostory pro prostředí Oracle Application Express lze použít tabulkový prostor SYSAUX, který je i uveden v příkladu spuštění instalace v instalační dokumentaci k produktu. V tomto tabulkovém prostrou je také předinstalováno APEX prostředí ve verzi 2.1 v Oracle Database Express Edition 10g, na které jsem měl možnost APEX prostředí využít. Z hlediska budoucí správy provozních prostředí a databáze však může být výhodné vytvořit nové tabulkové prostory určené pouze pro toto prostředí a instalování APEX prostředí do nich.[30] Obr. 10: Spuštění instalace vývojového prostředí APEXu 3.2 Zdroj: otisk obrazovky z instalace (upgradu) prostředí na APEX na OS Windows XP Instalace vytvoří v databázi 3 nové účty: APEX_030200, schéma APEX prostředí, ve kterém jsou vytvořeny objekty a uložena metadata, FLOWS_FILES, který bude vlastnit soubory uložené v databázi a APEX_PUBLIC_USER, který má v databázi minimální oprávnění a slouží pro připojení Oracle HTTP serveru s mod_plsql. Upgrade ze starší verze APEX prostředí se spouští stejnými instalačními skripty jako instalace, v tomto případě již databázový účet FLOWS_FILES existuje a účet APEX_PUBLIC_USER bude instalací vytvořen pouze v případě, že neexistuje.[11]

37 Po dokončení instalace je pro funkčnost prostředí Oracle Application Express nutné provést ještě další po instalační kroky, závislé na zvolené konfiguraci a podrobně popsané v instalační dokumentaci k produktu. Je nutné mimo jiné nakonfigurovat vystavěnou PL/SQL bránu nebo nainstalovat a nakonfigurovat odpovídající verzi Oracle HTTP serveru s mod_plsql.[11] V případě upgradu prostředí ze starší verze a použití vestavěné PL/SQL brány je také ještě potřeba změnit umístění obsahu virtuálního adresáře do umístění se statickými soubory z instalace aktuální verze. Adresář se statickými soubory je umístěn v instalačním balíku v podadresáři apex/images. V případě použití Oracle HTTP serveru je pak nutné tyto statické soubory z instalace překopírovat do adresáře HTTP serveru.[11] Obr. 11: Změna umístění virtuálního adresáře Zdroj: otisk obrazovky z instalace APEX Instalační balíček umožňuje také instalaci některé z připravených lokalizovaných verzí, k dispozici je například německá, francouzská nebo japonská. K dispozici jsou také skripty a postupy pro změnu konfigurace z vývojového prostředí na pouze provozní a naopak. Jako poslední z konfiguračních kroků před možností přihlášení do administrátorského rozhraní Oracle Application Express je nutné nastavit účet ADMIN v základním pracovním prostoru označeném jako INTERNAL, který slouží v APEXu jako hlavní účet pro administraci prostředí přes webové rozhraní. Tento účet ADMIN není, stejně jako ostatní uživatelé vytvoření později v APEX prostředí, skutečným databázovým uživatelem. Jedná se o účet definovaný pouze v interních strukturách APEX prostředí. Při instalaci

38 Oracle Application Express do databáze je tento účet instalací automaticky vytvořen, před prvním přihlášením do administrátorského rozhraní je však potřeba tomuto účtu změnit přihlašovací heslo pomocí skriptu apxchpwd.sql, který je také součástí instalačního balíku.[11] 2.3 Administrace prostředí Oracle Application Express Pro administraci prostředí Oracle Application Express nabízí stejně jako pro vývoj a provoz aplikací webové rozhranní. Do tohoto prostředí mají přístup pouze uživatelé, kteří jsou nastaveni jako administrátoři APEX instance. Po instalaci APEX prostředí do databáze je jediným takovým uživatelem uživatel ADMIN ve zvláštním pracovním prostoru označeném INTERNAL. Přístup do administrátorského rozhraní je možný z těchto URL adres[11]: [http nebo https]://[název serveru nebo IP adresa]:[port]/[pls/]apex/apex_admin Použití HTTP nebo šifrovaného HTTPS záleží na nastavení instance Oracle Application Express. Řetězec pls/ je v URL adrese jen tehdy, pokud je použita konfigurace s Oracle HTTP serverem s mod_plsql pluginem. Po zadání této adresy se administrátor prostředí přihlásí pouze zadáním jména a hesla. Další možností je spuštění administrátorského prostředí z URL adresy pro běžné přihlašování do vývojového prostředí: [http nebo https]://[název serveru nebo IP adresa]:[port]/[pls/]apex/apex_login Kde ovšem kromě jména a hesla musí administrátor zadat jako pracovní prostor (workspace) prostor Internal. Po přihlášení do tohoto rozhraní má administrátor možnost měnit nastavení instance prostředí Oracle Application Express, vytvářet a administrovat pracovní prostory a monitorovat různé aktivity v prostředí. Celé prostředí je rozděleno do těchto částí[9]: Manage Services tato část umožňuje nastavení modulů vývojářského prostředí jako například omezení maximální velikosti ukládaných SQL skriptů v části SQL Workshop nebo možnosti vytváření demonstračních aplikací. Dále správu dalších APEX služeb jako například ové fronty nebo náhledu na nainstalované lokalizace prostředí. Je zde také možné spravovat public témata, která budou moci využívat vývojáři ve všech pracovních prostorech

39 Manage Workspaces umožňuje prohlížet a zpracovávat požadavky na pracovní prostory a změny. Zakládat pracovní prostory, prohlížet a měnit jejich nastavení. Při vytváření pracovních prostorů nebo i později je možné mimo jiné nastavit i kvóty jejich velikosti, což umožňuje efektivně řídit prostor vyhrazený v databázi. Při zakládání pracovního prostoru je možné k tomuto prostoru přiřadit existující databázové schéma nebo založit společně s pracovním prostorem nové schéma. Následně je možné k existujícímu pracovnímu prostoru přiřadit ještě i další schémata, která budou mít vývojáři při vytváření aplikací na výběr pro jejich provoz. Vytvořené pracovní prostory je zde možné i znepřístupnit nebo zcela smazat. V této sekci je také možné zakládat uživatelské účty různých typů pro jednotlivé pracovní prostory a importovat nebo exportovat celý vybraný pracovní prostor. Manage Applications v této sekci je možné prohlédnout základní atributy aplikací vytvořených v pracovních prostorech, jako jejich názvy, ID, používané schéma, status, nebo počet stran. Monitor Activity umožňuje zobrazení různých reportů užitečných pro monitoring prostředí jako například log přihlášení do APEX instance, počet stránek spuštěných jednotlivými uživateli nebo počty provedených změn v pracovních prostorech jednotlivými vývojáři

40 Obr. 12: Administrační rozhraní instance APEX prostředí Zdroj: otisk obrazovky z prostředí APEX V prostředí Oracle Application Express lze zakládat 4 typy uživatelů. Jsou jimi[30]: Administrátor instance prostředí Oracle Application Express. Tento uživatel může administrovat instanci APEX prostředí a zakládat nové pracovní prostory a uživatele. Sám se může hlasit pouze do administrátorského rozhraní pracovního prostoru Internal. Po instalaci nového prostředí je jako uživatel tohoto typu vytvořen uživatel ADMIN. Administrátor pracovního prostoru (workspace administrator) má administrátorská oprávnění k pracovnímu prostoru, ve kterém byl administrátorem instance vytvořen. V tomto pracovním prostoru může zakládat nové uživatelské a vývojářské účty a administrovat další nastavení pracovního prostoru. Administrátor má zároveň uživatelská a vývojářská oprávnění, a může tak pod svým účtem vytvářet a upravovat aplikace ve svém pracovním prostoru. Může se také přihlásit do všech aplikací ve svém pracovním prostoru, pokud tyto aplikace používají pro autentizaci APEX účty a vstupu administrátorského účtu není zabráněno jiným aplikačním nastavením. Administrátor pracovního prostoru se může přihlásit pouze do svého pracovního prostoru

41 Vývojář je oprávněn k přihlášení pouze do svého pracovního prostoru. Může být vytvořen administrátorem jeho pracovního prostoru nebo administrátorem instance. V rámci svého pracovního prostoru mohou vývojáři vytvářet a upravovat všechny aplikace. Vývojář má stejně jako administrátor zároveň uživatelská oprávnění, a může se tak pod svým účtem přihlásit do všech aplikací ve svém pracovním prostoru, pokud tyto aplikace používají pro autentizaci APEX účty a vstupu jeho účtu není zabráněno jinou aplikační logikou. Uživatel vytvořený v prostředí Oracle Application Express může vstoupit do jakékoliv aplikace v rámci svého pracovního prostoru, pokud tyto aplikace používají pro autentizaci APEX účty a vstupu jeho účtu není zabráněno jinou aplikační logikou. Aplikace však mohou být také nastaveny k autentizaci pomocí jiných metod, jako ověření pomocí databázového účtu, LDAP serveru, Oracle Application Server Single Sign-On nebo pomocí jiné vytvořené aplikační logiky, případně mohou být aplikace také zcela bez autentizace. Uživatelský účet v Oracle Application Express je oprávněn vytvořit administrátor daného pracovního prostoru a administrátor APEX instance. Všechny tyto typu účtů vytvářené v APEX prostředí nejsou skutečnými databázovými uživateli. Účty jsou definovány pouze v rámci databázových struktur tabulek schématu APEX prostředí.[30]

42 3 Porovnání s jinými nástroji V součastné době existuje mnoho produktů, které umožňují rychlý vývoj aplikací nad databázovým systémem. Pro porovnání s nástrojem Oracle Application Express jsem zvolil produkt Microsoft Office Access, který je často využívanou aplikací pro tvorbu malých aplikací a v literatuře k Oracle Application Express[5] je zmiňován jako prostředí, pro které je Oracle Application Express vhodnou alternativou. Dále pak nástroj pro rychlý vývoj webových aplikací Iron Speed Designer, který nabízí možnost tvorby aplikací s využitím.net framework a open source prostředí once:radix. 3.1 Microsoft Office Access Microsoft Office Access je aplikace, která je součástí široce rozšířeného kancelářského balíku Microsoft Office v edicích Professional a vyšších od firmy Microsoft, a jež v sobě kombinuje grafické uživatelské rozhraní pro správu relační databáze a vývoj aplikací s relačním SŘBD Microsoft Jet Database Engine.[34] Rozšířenost a silná obecná povědomost o tomto produktu je také určitě jedním z důvodů, proč je mnoho menších aplikací vyvíjených vlastními silami v podniku stavěno právě v Microsoft Office Access. SŘBD Microsoft Jet Database Engine je přímo součástí operačních systémů Windows, což dává také možnost jeho využití v těchto operačních systémech přes API (Application Programming Interface) rozhranní ODBC (Open Database Connectivity) i bez nutnosti instalace Microsoft Office Access. Produkt Microsoft Office Access pak umožňuje s využitím tohoto SŘBD vytvořit v databázovém systému velmi rychle databázové objekty a aplikace s grafickým uživatelským rozhraním. Verze produktu Microsoft Office Access 2007 tento SŘBD v operačním systému dále ještě povyšuje na vlastní verzi nazvanou Access Database Engine.[35] Aplikace Microsoft Office Access je, stejně jako celý kancelářský balík Microsoft Office, dostupná pouze pro operační systém Windows v různých verzích. Její pořízení je možné v rámci různých variant licencí jak celého balíku aplikací Microsoft Office, tak samostatné licence pouze k Microsoft Office Access. Předpokládaná cena 1 licence uvedená na stránkách firmy Microsoft pro samostatnou instalaci produktu Microsoft Office Access v krabicové verzi bez zbytku produktů Microsoft Office je 6 440,- Kč bez DPH.[19] Prostředí slouží shodně s Oracle Application Express jako vývojové prostředí pro tvorbu aplikací a zároveň i jako prostředí pro jejich běh. Na rozdíl od APEXu je ale Microsoft

43 Office Access klientská aplikace a je tedy nutné, aby byla instalována na každé vývojářské i uživatelské stanici, ze které bude aplikace vytvořená v tomto produktu využívána. Části aplikace v Microsoft Office Access mohou být sice také publikovány ve formě webových stránek jako datové stránky aplikace, propojení těchto stránek s databází je však realizováno pomocí ovládacích prvků modelu COM, které jsou volány pomocí skriptů obsažených ve webové stránce a spuštěných na straně klienta uživatele. Tyto ovládací prvky potřebné pro běh aplikace musí být tedy opět instalovány na každé stanici, ze které má být webová stránka aplikace v Microsoft Office Access zobrazena. Pro možnost aktivního přístupu k datům je pak opět nutné, aby na stanici byl nainstalován Microsoft Office Access, v opačném případě prvky umožňují pouze pasivní náhled na data.[20] K verzi Access 2007 však firma Microsoft nabízí také zdarma distribuovatelné runtime prostředí, které po nainstalování umožní uživatelům používat vytvořené aplikace v plné funkčnosti.[34] Toto prostředí má však odstraněné nebo vypnuté veškeré nástroje pro úpravu aplikací a je opět dostupné pouze pro operační systémy Windows.[15] Použití aplikací v Microsoft Office Access je tedy ve všech variantách omezeno pouze na uživatele pracující na operačním systému Windows. Z jiných operačních systémů může být přístupný pouze vlastní databázový systém přes API rozhranní, například pomocí ovladačů JDBC. Aplikace vytvořené v prostředí Oracle Application Express v tomto ohledu poskytují hned několik výhod tím, že na straně uživatelů je vyžadován pouze webový prohlížeč podporující požadované standardy. Oracle Application Express aplikace tedy neomezují okruh uživatelů a vývojářů na konkrétní operační systém a nevyžadují na straně klienta instalaci jakéhokoliv softwarového vybavení mimo zmíněného prohlížeče. Tato nevýhoda Microsoft Office Access by měla být odstraněna v plánované verzi Microsoft Office Access 2010, která má umožnit publikaci formulářů a reportů pomocí softwaru Microsoft SharePoint ve formě běžných webových stránek, které budou vyžadovat na straně uživatele pouze webový prohlížeč a jejich užívání tak nebude omezeno na konkrétní operační systém.[34] Jak Microsoft Office Access, tak Oracle Application Express jsou produkty spjaty vždy s konkrétním databázovým strojem. V obou případech je také vytvořená aplikace uložena přímo v databázi. V případě Oracle Application Express je pak v databázi obsaženo i samotné vývojové a provozní prostředí. Zatímco Microsoft Office Access využívá SŘBD Microsoft Jet Database Engine pracující na straně klienta a určený svým zaměřením jako snadno využitelné řešení pro malé uživatelské databáze s malým počtem uživatelů, APEX

44 využívá SŘBD firmy Oracle, který je zaměřen a hojně komerčně využíván jako řešení rozsáhlých databázových systémů podniku. Z těchto radikálních rozdílů v zaměření použitého databázového systému pochopitelně plyne řada rozdílných vlastností, které ovlivňují možnosti výsledné aplikace a také architekturu celého řešení. Zatímco databáze používaná produktem Microsoft Office Access má formu jednoho souboru, který je uložen kdekoliv na souborovém systému a je přímo otevírán klientem, databázový systém Oracle pracuje na principu klient server a jeho struktura je mnohem komplikovanější. Při použití prostředí Oracle Application Express je tedy nutné počítat kromě licence ke zvolené edici Oracle Database, kde je možné také využití edice Oracle Database Express Edition poskytované zdarma, se zřízením a provozem databázového serveru odpovídajícího nárokům dané verze Oracle databáze a nárokům, které budeme na databázový systém mít. Za tuto investici však získáme pro budoucí aplikace výhody použitím mnohem výkonnějšího databázového stroje. Data aplikace tak například nebudou vázána maximální velikostí databáze 2 GB, což je limit velikosti databáze udávaný pro Microsoft Office Access 2007.[16] Tento limit překonává již Oracle Database Express Edition 10g poskytovaná zdarma, která omezuje velikost dat na 4GB, ostatní placené edice pak žádný limit ve velikosti databáze neudávají.[27] Rozdílů mezi Microsoft Jet Database Engine a Oracle Database je vzhledem k odlišnosti jejich zaměření samozřejmě mnohem více, jejich srovnání však není předmětem této diplomové práce. Přesné informace o možnostech jednotlivých edicí Oracle Database jsou publikovány na firemních stránkách Oracle v části věnované tomuto produktu na Obecně lze však říci, že aplikace vytvořené v Oracle Application Express mohou díky využití databázového stroje Oracle dosáhnout lepší výkonnosti, pracovat s mnohem větším objemem dat, počtem uživatelů a využívat daleko širších možností databázového stroje Oracle jako třeba podpory objektových datových typů nebo procedurálního jazyka PL/SQL. Produkt Microsoft Office Access však také nabízí alternativu pro aplikace, které vyžadují výkonnější databázový systém, a to možností propojení na Microsoft SQL Server. V takovém případě pak databáze Microsoft Office Access uchovává pouze komponenty grafického uživatelského rozhraní a ostatní databázové objekty jsou uloženy v připojené databázi Microsoft SQL.[17] Microsoft SQL Server je podobně jako Oracle Database dostupný v různých edicích. Od edice poskytované zdarma, která má, co se týče velikosti databáze, paměti a počtu procesorů stejná omezení jako Oracle Database Express Edition 10g, až po placené edice bez těchto omezení. Uváděná běžná cena standardní edice je pak dolarů na jeden procesor.[18] I při využití tohoto řešení je však vytvořená aplikace

45 stále závislá u svého grafického uživatelského rozhraní na desktopové databázi Access.[17] Prostředí Oracle Application Express umožňuje, aby v rámci jeho instance bylo provozováno více aplikací a dále, aby tyto aplikace byly rozděleny do pracovních prostorů, čímž lze dosáhnout toho, že aplikace v jedné instanci prostředí mohou být vyvíjeny a provozovány na sobě nezávislými skupinami.[30] Díky této vlastnosti a možnostem databázového stroje Oracle lze prostředí Oracle Application Express využít ke konsolidaci více menších aplikací a dat, která využívají, na jedno místo a tím zjednodušit jejich správu, zlepšit kontrolu nad nimi a odbourat případné duplicity mezi daty drženými v různých aplikacích.[30] Kromě toho je také možné, díky tomu, že APEX nabízí oddělení aplikací do samostatných pracovních prostorů a tomu, že aplikace jsou plně webové, využít pro prostor na tvorbu aplikací externího poskytovatele a přenechat tak veškerou režii s provozováním databázového systému na něm. To může být výhodné, například pokud pro aplikace potřebujeme pouze malý prostor a požadujeme jejich dostupnost uživatelům přes Internet a náklady spojené s provozováním vlastního databázového systému by byly vyšší než náklady za služby externího poskytovatele. Tyto možnosti Microsoft Office Access nenabízí. I když je možné při využití Microsoft SQL Serveru sjednotit datovou základnu více aplikací, grafické uživatelské rozhraní aplikace je stále uloženo v samostatné Access databázi. Jako klientská aplikace pak Microsoft Access nenabízí možnost poskytování vývojového prostoru externím poskytovatelem. Verze Microsoft Office 2007 nabízí podobně jako Oracle Application Express ke stažení sadu několika připravených aplikací například k evidenci kontaktů, úkolů nebo incidentů.[17] Prostředí samotné pak umožňuje vytváření: databázových tabulek dotazů formulářů sestav reportů maker modulů

46 U tabulek je stejně jako v Oracle Application Express možné definovat relace mezi nimi a definovat integritní omezení. Tabulky se v tomto nástroji vytváří a upravují velmi jednoduše pomocí návrhového zobrazení. Jedna z velkých výhod tohoto prostředí je také to, že umožňuje snadné připojení tabulek z jiných databázových systémů pomocí rozhranní ODBC. Dotazy databázová view je pak možné vytvářet jak v návrhovém zobrazení, tak pomocí SQL dotazů. Design formulářů aplikace i sestav reportů je v návrhovém prostředí velmi jednoduchý a flexibilní. Pro další aplikační logiku nebo funkčnosti je pak již nutné naprogramování maker a modulů v jazyce Visual Basic for Applications (VBA).[17] Obr. 13: Ukázka návrhového zobrazení formuláře v Microsoft Office Access Zdroj: otisk obrazovky z prostředí Microsoft Office Access 2007 Na rozdíl od Oracle Application Express nemá Access koncept sdílených komponent aplikace, všechny prvky formulářů a sestav je tedy nutné vždy definovat individuálně. Při vývoji tak nelze ušetřit čas při definování komponent, které se v aplikaci opakují vícekrát. Zrovna tak při změně, která má dopad na více takovýchto prvků, je potřeba provést potřebné úpravy u všech individuálně. Nelze také změnit vzhled celé aplikace nebo více

47 formulářů najednou layout každého formuláře je definován individuálně. Microsoft Office Access také oproti Oracle Application Express nenabízí možnosti pro provozování aplikace ve více lokalizacích a má omezené možnosti v oblasti autentizace a autorizace uživatelů aplikace. Naopak výhodou prostředí Microsoft Office Access je možnost snadného provázání s ostatními aplikace sady Microsoft Access a možnost exportů do dokumentů formátu Microsoft Word nebo Excel bez nutnosti připojení dalších komponent k tomuto prostředí. Produkt Microsoft Office Access je jistě dobrým nástrojem pro malé aplikace s malým počet uživatelů například v rámci pracovní skupiny, které lze v tomto prostředí vytvořit velmi rychle a bez programátorských znalostí, pokud nevyžadujeme po aplikaci další logiku. Nástroj Oracle Application Express k tomuto prostředí nabízí alternativu se srovnatelnou časovou náročností vývoje aplikace a s potenciálem pro další rozvoj těchto aplikací. Toto prostředí je přitom poskytováno zcela zdarma k jakékoliv edici Oracle databáze a je možné využít také zdarma poskytované Oracle Database Express Edition 10g. Je také možno využít služeb poskytovatele prostoru pro APEX aplikace na Internetu a vyhnout se tak nákladům spojeným s budováním potřebné infrastruktury. 3.2 Iron Speed Designer Nástroj Iron Speed Designer od firmy Iron Speed slouží pro rychlý vývoj webových aplikací, které využívají databázový systém. V době psaní této práce je nástroj dostupný ve verzi 6.2. Jedná se o vývojové prostředí, které neslouží pro samotný běh vytvořených aplikací. Toto prostředí pouze generuje aplikační kód založený na technologii ASP.NET, která je součástí zdarma poskytovaného Microsoft.NET framework a to buď v jazyce C# nebo Visual Basic. NET.[6] ASP.NET je nástupcem starší technologie ASP (Active Server Pages) a umožňuje vytváření dynamických webových stránek, na základě zdrojového kódu psaném v jednom z podporovaných jazyků jako C#, Visual Basic.NET a dalších. Na straně webového serveru Microsoft Internet Information Services (IIS) jsou webové stránky drženy ve zkompilované podobě. Stránky se zde skládají z jednotlivých komponent, kterým je možné určovat vlastnosti a zachycovat na nich události. Na straně klienta je pak pro zobrazení těchto stránek potřeba pouze podporovaný webový prohlížeč.[33] Podporované verze prostředí.net pro provozování vytvořených aplikací v nástroji Iron Speed Designer jsou[6]:

48 .NET Framework verze 2.0.NET Framework verze 3.0.NET Framework verze 3.5.NET Framework verze 3.5 SP1 Jako webový server je pak podporován Microsoft IIS 5.0, 6.0 a 7.0 dostupný na operačních systémech Windows 7, Windows Server 2008, Windows Server 2003 a vyšších edicích Windows Vista. Pro samotný vývoj aplikací je pak možné také využít jako webový server Microsoft ASP.NET Development Server, který je součástí produktu Microsoft Visual Web Developer dostupného zdarma. Tento server je pak možné použít i na operačním systému Microsoft Windows XP.[6] Pro vlastní provoz aplikací je kromě provozování vlastního webového serveru možné využít i poskytovatele prostoru pro aplikace stavěných na technologii ASP.NET jako je třeba WinHost na adrese který nabízí ve variantě hostingu WinHost Basic za 4,95 dolarů měsíčně webový prostor 1GB společně se 100 MB prostoru v databázi Microsoft SQL 2008.[37] Výhodou tohoto nástroje oproti Oracle Application Express je to, že pokud požadujeme po aplikaci funkčnost, která je mimo možnosti průvodců a nastavení tohoto nástroje, je kdykoliv možné editovat zdrojový kód aplikace přímo v prostředí Iron Speed Designer nebo v prostředí Microsoft Visual Studio a potřebnou část aplikace doprogramovat přímo. Možnosti vytvořených aplikací v tomto prostředí jsou tak limitované samotnou technologii ASP.NET a ne tímto vývojovým prostředím. K dopracování takovéto funkčnosti je již potřeba znalost.net framework a programovacího jazyka, ve kterém byla aplikace vygenerována. Vytvořené aplikace v tomto prostředí mohou být napojeny na tyto uváděné typy databází[6]: Microsoft Access Microsoft SQL Server MySQL Oracle Microsoft Data Access Components

49 Podrobnější informace o jednotlivých podporovaných verzích databází jsou pak k dispozici na stránkách firmy Iron Speed uvedených ve zdrojích. V každém případě jsou však aplikace v tomto prostředí použitelné pro více SŘBD než aplikace v Oracle Application Express, které je spojeno pouze s SŘBD firmy Oracle. Na rozdíl od APEXu se také jedná o aplikace s klasickou třívrstvou architekturou, kde je aplikační a databázový server oddělen.[6] Prostředí Iron Speed Designer je na rozdíl od Oracle Application Express prostředím placeným, je k dispozici ale také zdarma, ovšem s omezenou funkčností. Licencování se vztahuje pouze na vývojové prostředí a nijak neomezuje následný provoz aplikací. Ceny jednotlivých edicí jsou určeny podle počtu instalací vývojářů. V následujících bodech bych rád shrnul některé vybrané možnosti a omezení jednotlivých edicí. Kompletní seznam rozdílů edic je dostupný na stránkách firmy Iron Speed.[6] V edici zdarma je možné vygenerovat pouze 30 aplikačních stránek, je dostupný pouze omezený počet vizuálních stylů aplikace a jsou podporovány exporty dat pouze ve formátu CSV. Dále není možné v této edici prostředí vytvořit aplikaci s bezpečnostními prvky jako je autentizace a autorizace uživatelů.[6] Další, již placenou edicí tohoto prostředí, je Professional Edition. Tato edice již nemá omezení na počet vygenerovaných stránek a má větší výběr vizuálních stylů. Podporuje také vícejazyčné mutace aplikace. Data je možné navíc exportovat i ve formátu pro Microsoft Excel a je také dostupná tvorba reportů ve formátech PDF a Microsoft Word. Z oblasti bezpečnosti je pak možné ve vytvářených aplikacích použít autentizaci s využitím databázových účtů a autorizaci určovat na úrovni jednotlivých komponent aplikace. Cena za 1 licenci prostředí v této edici začíná na 995,- dolarech. Jsou možné i dražší varianty v závislosti na požadované podpoře.[6] Poslední nejvyšší edicí tohoto prostředí je Enterprise Edition, která umožňuje využití všech možností tohoto prostředí. Lze v ní vytvářet i aplikační stránky umožňující složitější náhledy na data, aplikace s definovaným workflow a podporující ové notifikace. Jsou k dispozici rozšířené možnosti pro tisk reportů. Pro autentizaci uživatelů v aplikaci je možné také využití Active Directory nebo autentizace uživatele ve Windows. V této edici je také možné vytvořit aplikace využívající více databází. Cena za 1 licenci prostředí začíná na 1 995,- dolarech, jsou možné i dražší varianty v závislosti na požadované podpoře.[6]

50 Vzhledem k těmto licenčním podmínkám jsem měl možnost pro účely této práce využít pouze edici prostředí dostupnou zdarma s omezenou funkčností. Při vyváření nové aplikace je aktivován průvodce, který provede vývojáře základními volbami pro tvorbu aplikace rozdělených do následujících kroků: Page Style volba vzhledu stránek aplikace, podobně jako témata v APEXu. Database Server výběr a napojení aplikace na databázový systém. Pages zde se definuje, které stránky má aplikace obsahovat. Tato část je podle mého názoru velmi zajímavě a dobře řešena pro velmi rychlý vývoj stránek aplikace. V tomto kroku průvodce nabízí v jedné části formuláře menu s typizovanými šablonami stránek, jako je pouze náhled nad daty v tabulkách, stránka pro editaci záznamů v tabulce, volby pro možnost přidání, editaci a zobrazení jednoho záznamu a další typizované stránky, které již však nejsou dostupné ve volně poskytované edici. Na druhé části formuláře pak vývojář zvolí z existujících tabulek a view v databázi, pro které tyto databázové objekty mají být zvolené typy stránek vytvořeny. Pro všechny zvolené tabulky a view jsou tedy vytvořeny stejné typy stránek. Pokud požadujeme pro různé objekty jiné typy stránek, je nutné po vytvoření aplikace znovu spustit průvodce vytvořením dalších stránek, fungujícího na stejném principu, nebo některé nechtěně vytvořené stránky po vytvoření aplikace odebrat

51 Obr. 14: Průvodce pro vytvoření aplikace v prostředí Iron Speed Zdroj: otisk obrazovky z prostředí Iron Speed 6.2 Keys zde je možné pro databázové tabulky nebo view neobsahující primární klíče nadefinovat virtuální primární klíč pro účely funkčnosti formulářů. Stejně tak je možné definovat virtuální cizí klíče pro stránky zobrazující tabulky v pohledu master detail. Tyto klíče jsou definovány mimo databázi a jsou pouze součástí aplikace. Languages zde je možné u placených edicí prostředí nadefinovat vícejazyčnou podporu aplikace. Application Settings v této části se definují nastavení aplikace jako jméno, adresář, kde má být projekt s aplikací vytvořen, jazyk zdrojového kódu, verze běhového prostředí.net a další volby. Finish v poslední části průvodce shrne zvolené aplikační stránky, které budou vygenerovány, a po potvrzení vygeneruje zdrojový kód aplikace. Vytvořená aplikace je založena na objektově orientovaném zdrojovém kódu a dalších souborech strukturovaných podle návrhového vzoru model-view-controller do úrovní prezentační vrstvy, logické vrstvy a vrstvy zajištující přístup k datům. Jednotlivé stránky aplikace lze ve vývojovém prostředí prohlížet v náhledovém módu nebo v design módu,

52 kde je možné upravovat jednotlivé prvky stránky strukturované do tabulky. Vlastnosti je možné určovat jak na úrovni stránek, tak na úrovni jednotlivých prvků.[6] Toto prostředí na rozdíl od prostředí Oracle Application Express neobsahuje možnost tvoření a změny datových struktur v databázi. Všechny stránky jsou také průvodcem vytvořeny na základě jednoduchého dotazu zobrazujícího celý obsah tabulky nebo view. Úpravu formátu zobrazení hodnot je nutné definovat až u jednotlivých prvků v design módu. Stejně tak nepotřebné sloupce, které nechceme zobrazovat, je nutné na stránce následně v design módu odstranit. Prostředí dále umožňuje vytvoření vlastního dotazu, kde je možné propojení více tabulek a view a definování selekčních podmínek. Průvodce vytvářením dotazem však neumožňuje psaní SQL kódu přímo, není také možné použít databázové funkce.[6] Tato omezení si vysvětluji pravděpodobně jako daň za možnost využití různých SŘBD. Nevýhodou prostředí Iron Speed Designer proti Oracle Application Express při následných úpravách aplikací také může být koncept sdílených komponent aplikace. Dále je to pak oficiální podpora pouze prohlížečů Internet Explorer[6] a také nutnost zakoupení licence, jelikož funkčnost zdarma dostupné edice má spíše prezentační charakter a je nedostačující na vytvoření většiny aplikací, například z důvodu absence možnosti autentizace uživatelů. Na druhou stranu lze v prostředí Iron Speed Designer vytvořit velmi rychle velice dobře vypadající aplikace stavěné nad existující databázovou strukturou. Je také výhodou, že vytvořená aplikace není závislá na samotném vývojovém prostředí. Zdrojový kód aplikace lze dále upravovat v prostředí Microsoft Visual Studio.[6]

53 Obr. 15: Ukázka aplikace vytvořené pomocí průvodce v prostředí Iron Speed Designer Zdroj: otisk obrazovky z prostředí Iron Speed Once:radix Once:radix je open source prostředí od společnosti once:technologies vydané pod všeobecnou veřejnou licencí (GNU GPL) pro rychlý vývoj webových aplikací využívající open source databázi PostgreSQL. Během psaní této práce bylo toto prostředí dostupné ve verzi 1.5. Prostředí samotné pro svou funkci využívá kombinaci následujících dalších technologií a programů, všech dostupných zdarma[24]: Sun Java JDK 1.6 Apache Tomcat 6 JasperForge i-report PostgreSQL

54 Na rozdíl od prostředí Oracle Application Express, které je celé součástí databázového systému a pro svou funkci využívá databázové procedury a balíky, prostředí once:radix je konstruováno jako Java servlet, využívající open source server Apache Tomcat ke svému běhu. Databázový systém relačního SŘBD PostgreSQL, který je také open source, je zde využíván jako datové repository. Pro design reportů je pak využita open source komponenta i-report komunity JasperForge.[24] Vytvořené reporty lze generovat do PDF, RTF, CSV a dalších formátů, jejichž kompletní seznam je na stránkách komunity JasperForge.[8] Výsledná aplikační stránka je na klientské straně tvořena XTHML kódem a skripty vytvořenými serverem na základě XML definice aplikační stránky. Dále pak kaskádovými styly, obrázky a skripty uloženými na serveru. Data z databázového systému připojenému k serveru jsou na straně klienta ještě cachována.[24] Obr. 16: Architektura prostředí once:radix Zdroj: Once:technologies : once:radix [24] Prostředí once:radix je k dispozici jako samostatný balík a pro jeho zprovoznění je potřeba všechny jím využívané komponenty s prostředím správně nakonfigurovat. Konfigurace na straně prostředí once:radix samotného se pak provádí ruční editací konfiguračního

55 souboru. Před využíváním prostředí je pak dále nutné, již přes webové rozhraní, vytvořit v připojené databázi repository prostředí.[24] Pro zobrazení webového rozhraní prostředí na straně uživatelů a vývojářů jsou podporovány pouze open source prohlížeče Mozilla Firefox nebo Camino.[24] Při pokusu o zobrazení rozhraní v prohlížeči Internet Explorer jsem nebyl úspěšný. Ve webovém prohlížeči Mozilla Firefox je pro správnou funkci prostředí ještě nutné povolit parametr signed.applets.codebase_principal_support [24], který není komunitou Mozilla doporučovaný z důvodu nižšího zabezpečení. Při tomto nastavení totiž při dotazu na důvěryhodnost spuštěného skriptu nezobrazuje prohlížeč verifikaci autora, ale pouze URL adresu.[22] Z úvodní webové stránky prostředí once:radix je možné po přihlášení spustit následující webové aplikace v závislosti na oprávnění uživatele[24]: oadmin - Aplikace, která slouží pro administraci prostředí a umožňuje spouštění SQL příkazů v připojeném databázovém systému. ocli Tato aplikace slouží jako uživatelské rozhraní pro běh vytvořených aplikací uvnitř prostředí. oed Editor pro tvorbu aplikačních stránek. Na rozdíl od Oracle Application Express toto prostředí nenabízí při tvorbě databázových objektů a aplikací žádné průvodce. Webové administrátorské rozhraní je velmi strohé a pro tvorbu objektů v databázi je dostupná pouze SQL konzole. Dále obsahuje tato aplikace sadu nástrojů k záloze a obnově databáze a k načtení změn v databázi do prostředí. Editor aplikací umožňuje design aplikačních stránek tvořených datovými poli, popisky, obrázky a dalšími komponentami pomocí kontextového menu a umisťováním do layoutu stránky přetahováním myší. Stránka je tvořena jednotlivými bloky a podbloky a může obsahovat informace z více databázových tabulek najednou. Jednotlivým komponentám stránky je možné přiřazovat různé atributy a vytvořit událostní logiku pomocí Java skriptu. Definice vytvořených stránek jsou pak ukládány na server ve formě XML souborů. Před použitím nových databázových tabulek ve vytvářené aplikaci je pak nutné jejich nastavení v prostředí pomocí předinstalované aplikace pro správu prostředí, která se spouští klientském rozhraní ocli. Stejně jako APEX umožňuje prostředí once:radix napojení na ový server zasílání ových zpráv.[24]

56 Obr. 17: Ukázka z aplikace předinstalované v prostředí once:radix Zdroj: otisk obrazovky z aplikace pro administraci prostředí dodávané spolu s prostředím once:radix 1.5 V prostředí je možné dále přes aplikaci pro správu prostředí vytvářet uživatele a řadit je do skupin, ke kterým se následně vážou oprávnění. U uživatelů lze také řídit, zda budou mít právo vstupu pouze do klientského rozhranní pro běh aplikací ocli, nebo zda budou moci také administrovat prostředí nebo vytvářet aplikace v editoru. Prostředí lze díky těmto možnostem stejně jako APEX použít pro běh více nezávislých aplikací, které mohou být používány oddělenými skupinami. Prostředí ale nenabízí jiné možnosti autentizace a autorizace uživatelů než pomocí nastavení ve správcovské aplikaci prostředí.[24] Výhodou prostředí oproti Oracle Application Express je bezpochyby využití zdarma dostupných open source technologií jako SŘBD PostgreSQL a designeru i-report komunity JasperForge. Na druhou stranu je třeba říci, že žádné použité open source komponenty včetně prostředí once:radix neposkytují podniku záruku za ztráty způsobené v případě nefunkčnosti komponenty nebo poškození či ztráty dat

57 Design aplikací v samotném prostředí once:radix je podle mého názoru oproti Oracle Application Express obtížnější a výsledné ukázkové aplikace demonstrující možnosti once:radix, které uvádí once:technologies na stránkách věnovaných tomuto prostředí, působí vizuálně horším dojmem než aplikace, které lze vytvořit na APEXu. Na druhou stranu prostředí once:radix umožňuje při designu mnohem větší volnost v umístění jednotlivých komponent stránky. Výhodou designu aplikací v Oracle Application Express je podle mého názoru také koncept sdílených komponent, který v prostředí once:radix není, a mnohem větší nezávislost na webovém prohlížeči uživatele, bez nutnosti jeho další konfigurace oproti standardnímu nastavení. Další výhodou APEXu je pak daleko obsáhlejší a dostupná dokumentace k produktu, průvodci usnadňující vývoj aplikací a také možnost využití nabídky hostingu tohoto prostředí. 3.4 Shrnutí Všechna prostředí vybraná pro srovnání jsou podle mě velmi kvalitní a mají svá uplatnění. Závěrem této části práce bych rád shrnul jejich některé vybrané vlastnosti rozebrané v předchozích kapitolách do následující tabulky. Oracle Microsoft Iron Speed Once:radix Application Office Access Designer Express Tvorba Ano Primárně ne, je Ano Ano je však webových však možnost nutné instalovat aplikací tvorby datových plug-in do stránek. Na prohlížeče. stanici uživatele Podpora pouze je však nutná omezené instalace prvků skupiny COM.[17] prohlížečů.[24] Koncept sdílených komponent Ano Ne Ne Ne

58 ŠŘBD Oracle Microsoft Microsoft PostgreSQL Database 9i a Access Access [24] vyšší[11] Database Engine Microsoft SQL Server Microsoft SQL Server[17] MySQL Oracle Database Microsoft Data Access Components [6] Placený Ne Ano pro vývoj. Pro uživatele aplikací je k dispozici verze ke stažení zdarma.[34] Ano, ale pouze pro vývojové prostředí. K dispozici je též funkčně omezená verze vývojového prostředí zdarma. K provozu aplikací je nutný vlastní server Microsoft IIS 5.0, 6.0 a 7.0 nebo využití hostingu.[6] Ne

59 Možnost Pomocí jazyka Pomocí maker Libovolná Javascript dalšího rozvoje PL/SQL a ve VBA úprava, pomocí funkcí aplikace Javascript editace vytvořeného zdrojového kódu. Omezení Ne Ano operační Ne Ne, omezení koncového systémy však mohou uživatele Windows plynout aplikací na OS z omezené podpory prohlížečů Dostupný pronájem prostoru pro aplikace Ano Ne Ano Ne

60 4 Analýza a návrh demonstrační aplikace 4.1 Odborný článek Jako téma pro návrh demonstrační aplikace v prostředí Oracle Application Express jsem si zvolil aplikaci pro evidenci jízd firemních vozidel. Povinnost vést záznam o provozu vozidla upravuje pro podnikatele zákon č. 111/1994 Sb. o silniční dopravě a prováděcí vyhláška k tomuto zákonu č. 478/2000 Sb.[7] Vyhláškou je pak stanoveno, že záznam o provozu vozidla musí obsahovat údaje o evidenčním číslu záznamu, obchodním jménu dopravce, jménu a příjmení řidičů vozidla, dále datum a stav tachometru na počátku záznamu, datum a stav tachometru na konci záznamu a údaje o době řízení, bezpečnostních přestávkách a odpočinku pro každého řidiče.[4] Povinnost vést záznam o provozu vozidla podle tohoto zákona a vyhlášky však není pro osobní vozidla, která dopravce využívá pro vlastní potřebu, tedy v případě, že samotná přeprava není předmětem jeho podnikání. Pokud je však vozidlo, na které se nevztahuje povinnost vést záznam o jeho provozu podle zákona č. 111/1994 Sb., řízeno zaměstnanci společnosti, vztahuje se na něj povinnost vést záznam podle nařízení vlády č. 168/2002 Sb.[7] Toto nařízení stanovuje povinnost vést pro takové vozidlo evidenci o době řízení dopravního prostředku a čerpání bezpečnostních přestávek.[7] Nutnost vést evidenci jízd vyplývala pro podnikatele také ze zákona o daních z příjmu č.586/192 Sb, který umožňuje odečíst ze základu daně náklady na dopravu vozidlem zahrnutým do obchodního majetku společnosti v prokazatelné výši a ve výši nákladů na pohonné hmoty.[13] Evidence jízd pak slouží jako doklad pro případné prokázání výše těchto nákladů. Odečítat lze však pouze náklady spojené s obchodní činností. Protože vozidla v majetku firmy často slouží zároveň i k soukromým jízdám, je nutné v evidenci jízd tyto skutečnosti odlišit. Povinnost prokázání skutečných nákladů je poslední novelou zákona č.586/192 Sb. v 24 zmírněna a dává podnikatelům možnost namísto prokázaných výdajů uplatnit paušální odpočet na vozidlo Kč měsíčně, případě 4 000,- Kč, pokud je vozidlo využíváno i pro soukromé účely. Paušální odpočet je pak možné uplatnit maximálně pro 3 silniční vozidla.[13] Vzhledem k výši odpočtu a omezení počtu vozidel, pro které je možné odpočet uplatnit, však stále velká část podnikatelů bude i nadále využívat evidenci jízd k prokázání skutečných nákladů. Uplatněním paušálu navíc není

61 podnikatel zbaven povinnosti doložit pro daňové účely využití vozidla, k čemuž je vhodná právě kniha jízd.[13] Evidence jízd je ve firmách realizována různými způsoby, od vyplňování běžného papírového formuláře po aplikace určené zejména dopravcům, které záznamy automaticky doplňují podle zařízení GPS umístěných ve vozidlech. Existuje také mnoho aplikací pro evidenci jízd určených pro malé a střední podniky, u kterých není přeprava vlastním předmětem jejich podnikání. Evidence jízd v elektronické podobě přináší podnikům výhody dalšího zpracování záznamů a možnost snadného přístupu k záznamům oprávněným osobám, což je zejména patrné při zvyšujícím se počtu vozidel. V neposlední řadě je také takto možné zajistit lepší zabezpečení dat. Obr. 18: Formulář knihy jízd firemního vozidla Zdroj: Lark: Kniha jízd firemního vozidla [12] Navrhovaná demonstrační aplikace v této práci by svým zaměřením měla plnit základní potřebu evidence jízd. Dále by kromě vlastní realizace knihy jízd firemních vozidel měla ukázat vybrané možnosti prostředí Oracle Application Express. Protože je toto prostředí určeno pro vývoj webových aplikací, které mohou být dobře dostupné přes internet velkému počtu uživatelů, měla by být celá aplikace navržena jako více-uživatelská, s oddělenými oprávněními uživatelů do různých sekcí aplikace podle jednotlivých rolí. Zároveň by ale měla být zachována možnost použití aplikace s menším počtem uživatelů, kde je potřeba vydělení rolí menší. Uživatelé by se měli do aplikace přihlásit na základě zadání svého uživatelského jména a hesla. Každý uživatel by měl mít možnost své heslo kdykoliv změnit a změna hesla uživatele by měla být také vynutitelná aplikačním nastavením po určitém počtu dní od poslední změny hesla nebo kdykoliv administrátorem aplikace

62 Aplikace by měla mít sekci administrační, poskytující možnost spravování základního nastavení aplikace a zakládání a správy uživatelů. Dále by měla aplikace mít sekci nastavení pro udržování statických údajů potřebných před vlastní evidencí jízd. Zde se jedná zejména potřebu zobrazit a spravovat údaje o firemních vozidlech a řidičích. Dále by tato sekce měla umožnit vedení záznamů o nákladech na vozidlo mimo nákladů na čerpání pohonných hmot. U těchto nákladů na vozidlo by pak měl být uveden vždy popis tohoto nákladu a částka včetně DPH. Sekce evidence jízd by měla umožnit vlastní evidenci jízd firemních vozidel, a to při zajištění potřebných kontrol údajů. Nové jízdy jsou za sebou zadávány vždy v pořadí, v němž byly uskutečněny, a počáteční stav tachometru v následující jízdě tak musí odpovídat konečnému stavu v jízdě předchozí. Konečný stav tachometru vozidla pak musí odpovídat zadané délce jízdy. Zadavatel jízdy musí také evidovat údaje o nákladech na provoz vozidla vzniklých čerpáním pohonných hmot. U těchto nákladů musí být sledována jak částka včetně DPH, tak objem čerpaného paliva. Systém by měl kontrolovat, zda čerpání pohonných hmot není vyšší než objem nádrže vozidla. Měla by být také možnost v případech, kdy není možné doložit skutečnou částku nákladu, dopočítat částku za čerpání podle stanovených sazeb pro dané období. Pro zajištění neměnnosti uložených údajů o již provedených jízdách v minulosti by běžný uživatel, který zadává jízdy do systému, měl mít právo editace pouze poslední jízdy provedené vozidlem, a to pouze v případě, že jízda byla uložena jím. Administrátorovi aplikace by pak v případě nutnosti měla být umožněna i zpětná editace všech záznamů o jízdách pro případ potřebných oprav záznamů. Při zadávání jízdy by mělo být také systémem zajištěno, aby jízda nemohla být zadána pod řidičem, který nevlastní příslušné řidičské oprávnění k danému typu vozidla. V poslední sekci by měl systém umožňovat zobrazení záznamů o všech jízdách provedených vozidlem a také zobrazení souhrnných nákladů za jednotlivá vozidla. Data by mělo být možné z aplikace exportovat nebo vytisknout. 4.2 Požadavky na aplikaci Tato část dále shrnuje funkční požadavky na aplikaci vyplývající z odborného článku. Vzhledem k tomu, že aplikace slouží jako demonstrační aplikace k prostředí Oracle Application Express, je primárním nefunkčním požadavkem implementace aplikace v tomto prostředí

63 1 Administrace možnost spravovat a zakládat další uživatele aplikace možnost měnit nastavitelné parametry aplikace rozdělit oprávnění k aplikaci do několika sekcí a možnost přidělovat jednotlivým uživatelům tato oprávnění. možnost opravit staré záznamy o jízdách 2 Správa statických dat možnost zaevidovat a spravovat firemní vozidla možnost zaevidovat a spravovat řidiče vozidel včetně řidičských oprávnění u řidičů musí být povinně evidováno jméno a příjmení řidiče možnost evidovat údaje o cenách paliv evidovat u vozidel údaj o typu paliva a průměrné spotřebě a skupině potřebného řidičského oprávnění, který je nutný pro daný typ vozidla možnost evidovat přednastavení délky častých cest možnost evidovat náklady na vozidlo mimo nákladů na čerpání pohonných hmot 3 Evidence jízd evidovat údaje o začátku a konci jízdy, jménu a příjmení řidiče, začátku a konci případné přestávky evidovat, zda se jedná o jízdu soukromou nebo služební, počáteční a konečný stav tachometru a délku jízdy jízdy vozidla musí být zadávány v pořadí, v jakém byly uskutečněny, konečný stav tachometru u předchozí jízdy a počáteční stav u další jízdy musí být shodné aplikace nesmí povolit běžnému uživateli editaci jiné než poslední jízdy vozidla zadané v systému a to pouze pokud je jejím zadavatelem jízdu může konat pouze řidič s příslušným oprávněním k vozidlu evidovat náklady na čerpání pohonných hmot a další vzniklé náklady. Těchto nákladů může být více za jednu jízdu

64 u čerpání evidovat objem pohonných hmot a cenu včetně DPH. Umožnit dopočet ceny podle průměrné sazby a umožnit evidovat místo, kde bylo čerpání provedeno. u dalších nákladů evidovat cenu včetně DPH a popis nákladu 4 Výstupy aplikace umožnit zobrazení reportu o vykonaných jízdách zobrazení sumárních údajů pro vozidla za určité období možnost exportovat případně vytisknout údaje o jízdách a sumární údaje o vozidlech za určité období 4.3 Use Case diagram Use Case diagram znázorňuje jednotlivé aktéry a případy jejich užití systému. Aktéry vstupujícími do navrhované aplikace jsou administrátor, editor, zadavatel a hodnotitel. Pro co nejefektivnější použití systému pro různé počty uživatelů a velikosti firemního parku je dostupnost funkcí systému pro aktéry administrátor, editor a zadavatel navržena v kaskádě. Aktér administrátor tak může zároveň užívat systém jako aktér editor a zadavatel a aktér editor může užívat všechny funkce systému dostupné aktéru zadavatel. Z tohoto důvodu jsou tito jmenovaní aktéři v Use Case diagramu vzájemně propojeni vztahem generalizace. Aktéři: Administrátor má plná práva k celému systému. Jeho hlavní úlohou je nastavení základních parametrů aplikace, zakládání a správa dalších uživatelů. Editor tento aktér má v systému práva ke všem částem aplikace kromě funkcí určených pouze administrátorovi systému. Úkolem editora je nastavení statických dat v systému, která jsou potřená a pro zadávání jízd. Dále má tento aktér přístup do sekce pro zobrazení reportů a sestav v systému. Zadavatel tento aktér zadává do systému jízdy a jejich náklady. Zadavatel může zadávat do systému jízdy za všechny řidiče nebo mu může být určen konkrétní řidič, za kterého má právo zadavatel záznamy pořizovat. Cílem je, aby bylo umožněno volitelné použití systému, kdy může v roli editora vystupovat přímo řidič vozidla, nebo záznamy budou pořizovány jinou osobou editorem za více řidičů. Hodnotitel tento aktér má přístup k reportům ze systému

65 Obr. 19: Use Case diagram navrhované aplikace Zdroj: vlastní obrázek Pro účely návrhu demonstrační aplikace v prostředí Oracle Application Express nejsou již dále jednotlivé Use Case diagramy rozvedeny do textové podoby. 4.4 Datový model Návrh datového modelu aplikace jsem provedl za pomoci volně dostupného nástroje Oracle SQL Developer Data Modeler

66 Obr. 20: Logický model Zdroj: vlastní obrázek

67 Obr. 21: Relační model Zdroj: vlastní obrázek

68 5 Implementace demonstrační aplikace 5.1 Vytvoření aplikace Kniha jízd Prvním krokem před vytvořením nové aplikace v prostředí Oracle Application Express by mělo být vytvoření potřebných datových struktur v databázi. Nástroj Oracle SQL Developer Datamodeler, ve kterém byl navrhnut datový model, umožňuje na základě modelu vytvořit skript definující datovou strukturu pro různé SŘBD včetně Oracle Database 10g. Pro naplnění účelu demonstrace vývoje v prostředí Oracle Application Express jsem však zvolil variantu definice tabulek přímo v tomto prostředí pomocí nástrojů v části SQL Workshop. Zde je pomocí průvodce spuštěného při tvorbě nové tabulky možné postupně nadefinovat jednotlivé atributy tabulky včetně integritních omezení. Průvodce také rovnou umožní zvolit plnění hodnot primárního klíče buď pomocí existující nebo nové sekvence. Pokud je hodnota primárního klíče tabulky plněna sekvencí, vytvoří průvodce automaticky k tabulce také databázový trigger. Ten v případě, že hodnota primárního klíče není v příkazu insert udána, doplní před insertem hodnotu primárního klíče novou hodnotou z vytvořené sekvence. Například trigger automaticky vytvořený APEX prostředím pro tabulku UZIVATELE vypadá takto: CREATE OR REPLACE TRIGGER "BI_UZIVATELE" before insert on "UZIVATELE" for each row begin if :NEW."ID" is null then select "UZIVATELE_SEQ".nextval into :NEW."ID" from dual; end if; end; Požadavek na umělý primární klíč plněný hodnotami sekvence je pro tabulky, které jsou použity v aplikacích v prostředí Oracle Application Express, velmi častý, protože veškeré následně vytvořené formuláře potřebují primární klíč pro identifikaci záznamu, který mají zobrazit. Hodnota primárního klíče je pak ve vytvořených formulářích implicitně označená jako skrytý a chráněný prvek, který nelze měnit. Toto nastavení lze sice ve formuláři změnit, ale pokud dojde ke změně hodnoty primárního klíče, nelze provést operaci update nad záznamem standardním procesem v APEXu, a je nutné pro tuto operaci napsat vlastní proces nebo znemožnit ve formuláři tuto změnu

69 Po vytvoření všech potřebných objektů je možné začít vytvářet aplikaci v pracovním prostoru vývojáře v části Application Builder. Při vytváření nové aplikace se spustí průvodce, který umožní postupně nastavit základní parametry aplikace a vytvoření libovolného počtu stránek aplikace.[10] Obr. 22: Vytváření aplikace Zdroj: otisk obrazovky z prostředí APEX Pro vytvoření aplikace je nutné definovat alespoň jednu stránku, možnosti voleb pro zakládané stránky jsou však v této fázi naprosto minimální. Pro demonstrační aplikaci knihy jízd jsem proto zvolil v průvodci vytvoření pouze jedné prázdné stránky a jednoho formuláře nad tabulkou nastavení. Dále jako navigační prvek oddělující sekce aplikace jednořadé záložky a z nabídky 3 předvolených autentizačních schémat autentizaci pomocí schématu Application Express. Vzhled aplikace jsem založil na tématu číslo 2 z 20, které průvodce nabízí a jazykové nastavení upravil tak, aby odpovídalo české lokalizaci. Výsledkem tohoto nastavení je aplikace, která kromě přihlašovací stránky obsahuje obě definované stránky, ke kterým jsou automaticky vytvořeny a přiřazeny stejnojmenné záložky. Pro přihlášení do aplikace je pak podle zvoleného nastavení potřeba vyplnit platné

70 jméno a heslo jakéhokoliv APEX uživatele v pracovním prostoru, ve kterém byla aplikace vytvořena. Obr. 23: Aplikace vytvořená na základě voleb průvodce Zdroj: otisk obrazovky z vytvořené aplikace v prostředí APEX Takto vytvořenou aplikaci jsem dále upravoval a doplňoval postupně jednotlivé obrazovky a funkce. Vzhledem k rozsahu není možné v rámci této kapitoly rozebírat všechny jednotlivé obrazovky aplikace. Proto jsou následující části této kapitoly věnovány pouze určitým úsekům, které jsou zajímavé z pohledu popisu implementace. Aplikaci je možné po jejím vytvoření kdykoliv exportovat pomocí nástrojů v sekci Application Builder. Tento export vytvoří SQL skript, který obsahuje definici aplikace pro APEX. Takto vytvořený skript však neobsahuje příkazy pro vytvoření vlastních databázových objektů a dat, které aplikace využívá. Skripty pro vytvoření těchto objektů a

71 vložení iniciálních dat je však možné vytvořit zvlášť, například i pomocí nástrojů APEXu v části Utilities a následně je nahrát a přiřadit k instalačním skriptům aplikace v části Supporting Objects. Při exportu aplikace potom výsledný SQL skript obsahuje i tyto vložené skripty. Při následné instalaci takovéhoto exportu pak APEX prostředí automaticky nabídne spuštění vložených dodatečných instalačních skriptů během instalace. Obdobným způsobem lze pak přiřadit k aplikaci skript, který se spustí při deinstalaci nebo upgradu aplikace. Pro demonstrační aplikaci jsem vytvořil pomocí nástrojů Oracle Application Express skripty, které jsem umístil do části Supporting Objects. Tři skripty slouží k instalaci objektů v databázi a naplnění tabulek základními daty s nastavením. Poslední skript je zařazen do části Deinstall a zajistí odstranění všech objektů při deinstalaci aplikace z prostředí. 5.2 Autentizační a autorizační schéma aplikace Autentizační schéma používané aplikací je možné změnit poměrně snadno v jakémkoliv stádiu vývoje aplikace. Na výběr jsou různá předefinovaná autentizační schémata od autentizace pomocí APEX účtů až po autentizaci pomocí LDAP nebo single sign on serveru. Je také možné vytvořit vlastní schéma pomocí autentizační funkce.[10] Jako autentizační funkci lze v APEXu nadefinovat libovolnou funkci, která vrací hodnotu pravda / nepravda a přijímá jako parametry uživatelské jméno a heslo. Z počátku jsem měl s vytvořením této funkce problém, jelikož jsem zvolil jiné názvy parametrů, než jsou uváděné v příkladech v dokumentaci k produktu. Jak se ale ukázalo, APEX u autentizační funkce vyžaduje nejen stejný počet a datový typ vstupních parametrů, ale i jejich přesně definovaný název. Deklarace autentizační funkce tedy musí vypadat vždy takto[10]: function libovolny_nazev_funkce (p_username in VARCHAR2, p_password in VARCHAR2) return boolean; Funkce však může být vytvořena jak jako samostatný databázový objekt, tak jako součást balíku. Protože řešení autentizace jsem rozdělil do více funkcí, implementoval jsem vlastní autentizační funkci jako součást balíku nazvaného zabezpeceni. Tato funkce autentizaci provádí na základě údajů v aplikační tabulce uživatelů. Heslo uživatele je ukládáno v tabulce uživatelů v hashované podobě. Pro ověření zadaného uživatelského jména a hesla pak autentizační funkce ověří pouze, zda je hash hesla zadaného uživatelem shodný

72 s řetězcem uloženým v tabulce uživatelů. Pro postup hashování hesla namísto šifrování jsem se rozhodl na základě doporučení z knihy Pro Oracle Application Express.[30] Vlastní vytvořená autentizační procedura pak zčásti vychází z příkladu v této knize, i když konkrétní implementace je jiná. Shodně s literaturou[30] jsem však pro vlastní hashování použil balík dbms_obfuscation_toolkit přesto, že oracle databáze již nabízí modernější dbms_crypto. Ten však není implicitně grantován uživatelům a stížila by se tak možnost nasazení vytvořené demonstrační aplikace na hostovaná prostředí. Vytvořená autentizační funkce dále podporuje možnost zablokovat existujícího uživatele administrátorem. Po vytvoření balíku s potřebnými funkcemi je pak možné vytvořit ve sdílených komponentách autentizační schéma, které bude používat pro ověření přihlášení vytvořenou autentizační funkci. Nové autentizační schéma je možné vytvořit buď pomocí průvodce zcela od začátku, nebo pomocí úpravy předdefinovaných autentizačních schémat. Autentizační schéma pro demonstrační aplikaci Kniha jízd jsem vytvořil pomocí úpravy existujícího schématu pro autentizaci pomocí Oracle Application Express účtů, kde stačí zaměnit volání autentizační funkce za vlastní hodnotu: return zabezpeceni.autentizuj; Kromě vlastního ověření platnosti zadaných uživatelských údajů aplikace zajišťuje, aby byl uživatel po přihlášení donucen ke změně hesla v případě, že od poslední změny hesla uplynul počet dní uvedený v nastavení aplikace nebo je změna hesla na účtu vynucena administrátorem. Tento úkol je vyřešen v úvodní stránce aplikace pomocí nastavení podmíněného větvení ještě před zobrazením úvodní stránky. Toto větvení přepne uživatele na stránku pro změnu hesla v případě, že funkce nutna_zmena_hesla, která je součástí balíku zabezpeceni, vrátí hodnotu pravda. Celý zdrojový kód balíku zabezpeceni je součástí elektronické přílohy této práce. Autorizační schémata umožňuje APEX definovat na základě různých způsobů validací. Pro demonstrační aplikaci jsem vytvořil autorizační schémata na podmínce Exists SQL Query. V tomto případě autorizace bude pro uživatele platná, pokud definovaný dotaz vrátí alespoň jeden řádek. Jednotlivá autorizační schémata jsem vytvořil tak, aby byla navázána na roli definovanou uživateli. Protože jednotlivým stránkám a komponentám je vždy možno přiřadit pouze jedno autorizační schéma, jsou jednotlivá schémata vytvořena tak, aby ověřila vždy všechny role, které mají do dané části aplikace přístup

73 Schéma SQL příkaz Administrator select id from uzivatele where upper(uziv_jmeno) = upper(:app_user) and appl_role = 1; Editor select id from uzivatele where upper(uziv_jmeno) = upper(:app_user) and appl_role in (1,2); Hodnotitel select id from uzivatele where upper(uziv_jmeno) = upper(:app_user) and appl_role in (1,2,4); Zadavatel select id from uzivatele where upper(uziv_jmeno) = upper(:app_user) and appl_role in (1,2,3); Proměnná APP_USER je proměnná definovaná přímo v APEX prostředí a vrací jméno přihlášeného uživatele. Výsledná aplikace je rozdělena záložkami na části odpovídající jednotlivým autorizačním schématům. Záložky mají vždy definovánu jednu hlavní stránku, na kterou je uživatel přesměrován po jejím stisknutí. Kromě toho obsahují seznam dalších stránek, pro které se bude daná záložka zobrazovat jako aktuální. Jako hlavní stránku jsem pro jednotlivé záložky definoval stránku zobrazující seznam umožňující navigaci na jednotlivé stránky v dané sekci aplikace. Tento navigační seznam je vytvořen jako sdílená komponenta List. Každá záložka je pak navázána na autorizační schéma odpovídající dané sekci aplikace. Záložky se při navázání na autorizační schéma chovají tak, že jsou uživateli zobrazeny vždy jen ty záložky, které splňují autorizační schéma pro daného uživatele. Tímto je zajištěno, že uživatel po přihlášení uvidí vždy jen záložky na části aplikace, na které má oprávnění

74 Obr. 24: Menu pro uživatele přihlášeného s oprávněním administrátora aplikace Zdroj: otisk obrazovky z vytvořené aplikace v prostředí APEX Obr. 25: Menu pro uživatele přihlášeného s oprávněním editora Zdroj: otisk obrazovky z vytvořené aplikace v prostředí APEX

75 5.3 Formulář pro správu uživatelů Formulář pro editaci uživatele se liší od jiných formulářů vytvořených pro demonstrační aplikaci tím, že obsahuje také pole pro definování uživatelského hesla, které však není v databázi ukládáno v podobě, jak bylo zadáno uživatelem ale v podobě hashe, jehož hodnotu autentizační funkce při přihlášení ověřuje. Dále bylo potřeba, aby formulář při editaci existujícího uživatele přepisoval uložené heslo, pouze pokud byla do formuláře zadána nová hodnota hesla. Z těchto důvodu jsem pro tento formulář přepsal standardní procesy vytvořené v APEXu pro ukládání a editaci záznamů. Původní APEX proces pro automatické zpracování formuláře jsem tedy na formuláři nastavil tak, aby se použil pouze při mazání záznamů a vytvořil dva nové PL/SQL procesy pro operace vložení a editace záznamů přistupující k hodnotám ve formuláři pomocí SQL proměnných. Obr. 26: Vlastní proces pro změnu záznamu Zdroj: otisk obrazovky z vytvořené aplikace v prostředí APEX

76 Obr. 27: Formulář pro založení a editaci uživatele Zdroj: otisk obrazovky z vytvořené aplikace v prostředí APEX Formulář dále obsahuje pole řidič, které umožňuje přiřadit uživatelům s rolí zadavatel pouze jednoho konkrétního řidiče, za kterého budou moci zadávat jízdy. Uživatelé s rolí administrátor a editor mohou vždy zadávat jízdy za kteréhokoliv řidiče. Toto pole má tedy smysl pouze, pokud je uživateli vybrána role zadavatel. Ve formuláři je tedy implementována funkčnost, která zpřístupní nebo znepřístupní pole řidič vždy po změně hodnoty v poli role. Toto lze v APEX prostředí řešit pomocí Javascriptu. K dispozici jsou jak běžné funkce Javascriptu, tak speciální API funkce pro APEX.[1] Definice vytvořeného formuláře v APEX prostředí automaticky obsahuje v hlavičce webové stránky část s Javascriptem. Do této části jsem tedy doplnil vlastní funkci, která na základě hodnoty v prvku Role změní vlastnosti listu Řidič

77 Obr. 28: Funkce pro změnu vlastností prvku formuláře Zdroj: otisk obrazovky z vytvořené aplikace v prostředí APEX Navázání události v prvku Role na vytvořenou funkci je pak provedeno v definici vlastností tohoto prvku v APEX prostředí. Zde je do atributu HTML Form Element Attributes nastaveno zavolání funkce při změně hodnotou onchange="zmenarole()". 5.4 Zadávání jízd Pro zadávání jízd je uživatelům k dispozici základní obrazovka tvořená 2 standardními reporty, které jsou na stránce umístěny jako samostatné regiony. První report zobrazuje aktivní vozidla v evidenci. Pokud je report zobrazen uživatelem s rolí zadavatel, který má právo zadávat jízdy pouze za konkrétního řidiče, zobrazí report pouze vozidla, na která má daný řidič řidičská oprávnění. Tato podmínka je řešena v SQL dotazu v definici reportu. Druhý report zobrazuje jízdy, které přihlášený uživatel zadal do systému v minulosti. Oba tyto reporty jsou propojeny s formulářem na zadávání jízd

78 Obr. 29: Vstupní obrazovka pro zadávání jízd Zdroj: otisk obrazovky z vytvořené aplikace v prostředí APEX U reportů je možné kterýkoliv sloupec definovat ve vlastnostech reportu jako hypertextový odkaz na další stránky aplikace nebo jakékoliv jiné webové stránky. V hypertextovém odkazu na aplikační stránku je zároveň možné nastavit volané stránce zvolené parametry na určitou hodnotu. APEX sám nabízí pomocí průvodců kombinaci vytvoření reportu a navázaného formuláře, kterému je při vybrání položky předána vybraná hodnota primárního klíče. Stejným způsobem funguje report zobrazující jízdy zadané uživatelem, který předá formuláři pro editaci jízd hodnotu ID jízdy do prvku formuláře P410_ID. Formulář pro editaci jízd může být volán z více částí aplikace. Proto má definován ještě skrytý prvek, který není zobrazen uživateli. Tento skrytý prvek ve formuláři slouží k uchování hodnoty stránky, ze které byl formulář pro evidenci jízdy zavolán, aby následně po uložení mohl formulář uživatele přepnout opět do původní stránky. Hypertextový odkaz v reportu je tedy upraven tak, aby předával také hodnotu návratové stránky

79 Obr. 30: Definice odkazu v reportu Zdroj: otisk obrazovky z vytvořené aplikace v prostředí APEX Stejným způsobem předává hodnoty do formuláře i report sloužící k zadávání nových jízd. Ten ale namísto hodnoty primárního klíče jízdy předává hodnotu zvoleného vozu. Formulář je tak uveden do stavu, kdy umožňuje zadat nový záznam s jízdou. Formulář pro zadávání a evidenci jízd může být spuštěn v různých režimech a podle toho mění svůj vzhled a chování. Možnosti, při kterých může být formulář volán, jsou: Založení nového záznamu o jízdě Úprava posledního záznamu o jízdě k danému vozidlu a přání záznamu o čerpání pohonných hmot Zobrazení staršího záznamu o jízdě uživateli Manuální úprava staršího záznamu o jízdě administrátorem aplikace Jednotlivé režimy formuláře musejí být kombinovány pomocí podmínek k jednotlivým prvkům a částem formuláře. Při zadávání nové jízdy formulář dopočítá hodnotu začátku tachometru podle poslední hodnoty tachometru pro dané vozidlo. Běžný uživatel nemá právo tuto hodnotu nijak měnit. Pole je proto nastaveno pouze pro čtení. List hodnot řidičů pak není navázán na list ve sdílených komponentách aplikace, ale je definován pouze v rámci formuláře tak, aby

80 zobrazoval pouze řidiče, kteří mají k řízení daného vozidla oprávnění a jsou v danou chvíli ve stavu aktivní. V případě, že přihlášený uživatel má právo k zadávání jízd pouze za jednoho řidiče, je toto pole nastaveno na tuto hodnotu a také uvedeno do stavu pouze pro čtení. K držení hodnoty řidiče, za kterého má právo přihlášený uživatel zadávat záznamy, je použita proměnná definovaná ve sdílených komponentách, kterou je tak možné odkazovat kdekoliv v aplikaci. Hodnota této proměnné je pak načtena vytvořeným PL/SQL procesem spuštěným po přihlášení do aplikace. Stejným způsobem jsou definovány proměnné držící hodnoty zkratek pro jednotku délky, měny a objemu. Tyto hodnoty jsou pak načteny při přihlášení z tabulky nastavení. Hodnoty těchto proměnných je možné využít také při generování popisků ve formuláři nebo reportu. Ve formuláři pro evidenci jízd je takto definován popis k poli délka, kde je do hranatých závorek doplněna načtená hodnota Km z hodnoty odpovídajícího sloupce v tabulce NASTAVENI. Obr. 31: Formulář pro zadávání a editaci jízdy v režimu zadání nové jízdy Zdroj: otisk obrazovky z vytvořené aplikace v prostředí APEX

81 Formulář obsahuje také Javascript, který plní funkce: Po zadání hodnoty začátku jízdy propsání hodnoty do pole konec jízdy, pokud je pole konec jízdy prázdné Automatické nastavení hodnoty konečného stavu tachometru po zadání délky jízdy Automatické nastavení hodnoty délky jízdy při zadání hodnoty pro konečný stav tachometru Při výběru cesty ze seznamu předdefinovaných jízd nastavení délky jízdy. K této funkčnosti je využit výběrový list, který slouží k párování hodnot název cesty a délky. Tento prvek je pak na stránce před uživatelem skryt pomocí API funkcí, které prostředí Oracle Application Express nabízí pro Javascript.[1] Ve formuláři existuje mnoho podmínek závislých na tom, zda je editovaná jízda poslední jízdou pro dané vozidlo. V APEX prostředí se podmínky definují pro každý prvek a komponentu na stránce zvlášť. Aby tedy nebyl do databáze dotaz na poslední jízdu pokládán vícenásobně, je ve formuláři vytvořen skrytý prvek, do kterého je hodnota poslední jízdy načtena. V podmínkách jednotlivých prvků už je pak využita hodnota tohoto skrytého prvku. Složitější podmínky a validace v tomto formuláři jsou definovány pomocí jazyka PL/SQL

82 Obr. 32: Formulář pro zadávání a editaci jízdy v režimu zobrazení starých jízd Zdroj: otisk obrazovky z vytvořené aplikace v prostředí APEX Obr. 33: Formulář pro zadávání a editaci jízdy v režimu administrátorských úprav uložených jízd Zdroj: otisk obrazovky z vytvořené aplikace v prostředí APEX

83 5.5 Interaktivní report vykonaných jízd Výpis jízd v aplikaci je vytvořen pomocí interaktivního reportu. Interaktivní report je stejně jako klasický report definován SQL dotazem. Na rozdíl od klasického reportu má ale uživatel možnost nad reportem definovaným vývojářem provádět další úpravy, jako je výběr sloupců pro zobrazení, vkládání podmínek, vytváření vlastních kalkulací nebo barevné zvýraznění určitých řádků nebo buněk podle definovaných podmínek.[10] Vývojář přitom definuje standardní podobu reportu a může při návrhu reportu zvolit, jaké funkčnosti interaktivního reportu budou dostupné uživateli. Je pak možné v rámci jednoho reportu předdefinovat a uložit více náhledů na daná data. Pokud to není zakázáno v návrhu reportu, může si vlastní úpravy reportu uložit jako pojmenovaný report i uživatel aplikace. Bohužel interaktivní report nenabízí možnost překladu některých zobrazených textů. Obr. 34: Report jízd Zdroj: otisk obrazovky z vytvořené aplikace v prostředí APEX

84 Obr. 35: Report jízd v režimu grafu Zdroj: otisk obrazovky z vytvořené aplikace v prostředí APEX Report jízd je dále propojen s grafem ukazujícím statistiku ujetých kilometrů řidiči za posledních 12 měsíců. Tento graf je tvořen na základě SQL dotazu, kde jeden ze sloupců představuje hypertextový odkaz. V tomto případě je odkaz vytvořen tak, aby byl uživatel po kliknutí na výseč grafu přesměrován na interaktivní report zobrazující seznam jízd s tím, že v rámci odkazu je report nastaven na podmínku pro zobrazení jízd pouze označeného řidiče

85 Obr. 36: Obrazovka Statistika kilometrů Zdroj: otisk obrazovky z vytvořené aplikace v prostředí APEX Obr. 37: Report jízd po označení výseče grafu Zdroj: otisk obrazovky z vytvořené aplikace v prostředí APEX

86 5.6 ové notifikace a generování reportů do PDF ové notifikace Prostředí Oracle Application Express nabízí vývojářům vlastní funkce pro odesílání ových zpráv. Využití těchto funkcí vyžaduje, aby instance APEX prostředí byla nakonfigurována pro připojení k poštovnímu serveru. Bohužel však prostředí neumožňuje připojení na poštovní servery, které vyžadují autentizaci.[9] Pro napojení prostředí na poštovní server jsem tedy využil zdarma dostupný program Free SMTP Server firmy Softstack, který funguje jako SMTP server a umožňuje v zdarma dostupné verzi odeslat 10 ových zpráv denně.[32] V administrátorském rozhraní APEX prostředí pro napojení pak stačí pouze nastavit jméno SMTP serveru na jméno stanice, kde je Free SMTP Server spuštěn a port odpovídající konfiguraci serveru. Odesílání ových zpráv je v aplikaci využito pro notifikaci správců vozů, pokud se konečný stav tachometru blíží hodnotě definované v nastavení vozu pro prohlídku vozu. Pokud má uživatel, který je nastaven jako správce vozu, nastavené ové notifikace, je mu aplikací odeslána zpráva upozorňující na to, že vozidlo potřebuje servisní kontrolu. Obr. 38: Notifikace zaslaná aplikací Zdroj: otisk obrazovky příchozí notifikace z poštovního klienta seznam.cz[31]

87 Odeslání notifikace je řízeno PL/SQL procesem definovaným ve formuláři pro zadávání jízd. K vlastnímu odeslání zprávy jsou využity funkce prostředí APEX v balíku apex_mail Generování PDF reportů Bez napojení na report server umožňuje prostředí Oracle Application Express export reportů pouze do formátu CSV. Jako report server je možné využít buď Oracle BI Publisher, který je placeným produktem, nebo zdarma dostupný Apache FOP, případně jiný produkt zpracovávající jazyk XLS-FO.[25] Pro demonstrační aplikaci Kniha jízd jsem provedl instalaci a nastavení produktu Apache FOP, jehož podporovaná verze pro APEX prostředí je dodávána spolu s instalačním balíkem prostředí. Pro napojení APEX prostředí na Apache FOP přiložený v instalačním balíku prostředí je potřeba podle návodu ještě nainstalovat produkt Oracle Containers for J2EE a v něm zprovoznit Apache FOP. Následně je nutná konfigurace tiskového serveru v instanci prostředí. Celý postup je detailně popsán na stránkách věnovaných produktu Oracle Application Express.[29] Po těchto konfiguračních krocích je již možné nastavit jednotlivé reporty v aplikaci tak, aby umožnily export dat do PDF dokumentu. Reporty se bez dalšího nastavení generují podle implicitní šablony prostředí Oracle Application Express. Je ale také možné definovat vlastní XLS-FO šablonu pro vzhled reportu ve sdílených komponentách aplikace.[10] Apache FOP dodávaný k prostředí Oracle Application Express bohužel nepodporuje všechny znaky české abecedy. Pro demonstrační aplikaci jsem vytvořil úpravou standardní šablony APEX prostředí vlastní šablonu, kterou jsem přiřadil k reportu Souhrnná sestava. V této upravené šabloně je narozdíl od standardní šablony do záhlaví stránky vsazen text Sestava z aplikace Kniha jízd a je potlačen tisk čísla stránky v zápatí

88 Obr. 39: Vygenerovaný report z aplikace pomocí upravené šablony Zdroj: otisk obrazovky z reportu vygenerovaného aplikací 5.7 Instalace vytvořené aplikace Vytvořenou demonstrační aplikaci je možné instalovat do jiné APEX instance jednoduchým způsobem, díky skriptům definovaným v Supporting Objects, které založí veškeré potřebné databázové objekty a nastaví iniciální data potřebná pro spuštění aplikace. Následným exportem aplikace je pak vytvořen jeden SQL skript, který kromě definice aplikace pro APEX prostředí obsahuje i tyto vývojářem definované skripty. Instalaci aplikace je možné provést pomocí takto vytvořeného instalačního souboru, který je součástí elektronické přílohy této práce, následujícím způsobem: Po přihlášení do pracovního prostoru v APEX instanci pod účtem s vývojářským oprávněním zvolte v části Application Builder možnost Import. Jako soubor k importování zvolte soubor instalace\instalace_knihy_jizd.sql na disku, který je přílohou této práce. Typ souboru nechte nastavený na hodnotu Application, Page or Component Export a znakovou sadu souboru na UTF

89 Obr. 40: Import instalačního souboru Zdroj: otisk obrazovky z prostředí APEX Po stisku tlačítka Next dojde k importu instalačního souboru do prostředí. V dalším kroku potvrďte opět tlačítkem Next instalaci aplikace. Před vlastní instalací aplikace prostředí Oracle Application Express vyžaduje ještě vybrání databázového schématu a ID aplikace. Tyto hodnoty zvolte libovolně podle svých požadavků, aplikace je na nich nezávislá. Položkou Build status lze pak ovlivnit v jakém režimu bude aplikace po instalaci dostupná. Po nastavení všech voleb pokračujte v instalaci stiskem tlačítka Install

90 Obr. 41: Instalace aplikace Zdroj: otisk obrazovky z prostředí APEX V této části instalace je provedena definice aplikace v APEX prostředí. Po jejím skončení prostředí automaticky nabídne instalaci podpůrných objektů. Touto volbou se obecně myslí spuštění instalačních skriptů, které jsou definovány k aplikaci vývojářem a které musí zajistit vytvoření potřebných databázových objektů ve schématu aplikace. Pokud již nejsou objekty pro aplikaci Kniha jízd ve schématu vytvořeny z předešlé instalace aplikace, ponechte volbu instalovat podpůrné objekty a pokračujte tlačítkem Next. Obr. 42: Instalace podpůrných objektů Zdroj: otisk obrazovky z prostředí APEX

91 Zahajte instalaci podpůrných objektů tlačítkem Install. Po dokončení instalace je aplikace již připravena k použití. Prostředí dává možnost aplikaci ihned editovat nebo spustit, případně prohlédnout instalační protokol. Obr. 43: Dokončení instalace Zdroj: otisk obrazovky z prostředí APEX Při prvním spuštění aplikace je pro přihlášení nutné použít iniciální administrátorský účet vytvořený instalačními skripty, následně je však možné vytvořit v administrační části aplikace další uživatelské účty. Pro první přihlášení do aplikace použijte vytvořený účet admin s heslem admin. Aplikace si po přihlášení vynutí změnu hesla k tomuto účtu. Pro účely testování je k aplikaci vytvořen SQL skript pro nahrání testovacích dat do aplikace. Tento skript je také součástí elektronické přílohy práce ve složce instalace. Podmínkou pro korektní běh skriptu je to, že aplikace obsahuje pouze nezměněná data z instalace. Skript musí být spuštěn v databázovém schématu, ve kterém jsou vytvořeny objekty aplikace. Jeho instalaci lze provést například přímo přes APEX prostředí, nahráním a spuštěním skriptu v nástroji SQL Scripts. Skript je uložen ve znakové sadě UTF-8, která musí být zadána při nahrání skriptu do prostředí. Skript kromě testovacích dat v aplikaci založí uživatele: spravce, zadavatel1, zadavatel2 a hodnotitel, všechny s nastaveným vstupním heslem: heslo

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER váš partner na cestě od dat k informacím globtech spol. s r.o. karlovo náměstí 17 c, praha 2 tel.: +420 221 986 390 info@globtech.cz

Více

1 Webový server, instalace PHP a MySQL 13

1 Webový server, instalace PHP a MySQL 13 Úvod 11 1 Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

Více

1. Webový server, instalace PHP a MySQL 13

1. Webový server, instalace PHP a MySQL 13 Úvod 11 1. Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

Více

Aplikace pro srovna ní cen povinne ho ruc ení

Aplikace pro srovna ní cen povinne ho ruc ení Aplikace pro srovna ní cen povinne ho ruc ení Ukázkový přiklad mikroaplikace systému Formcrates 2010 Naucrates s.r.o. Veškerá práva vyhrazena. Vyskočilova 741/3, 140 00 Praha 4 Czech Republic tel.: +420

Více

KOMPONENTY APLIKACE TreeINFO. Petr Štos ECM Business Consultant

KOMPONENTY APLIKACE TreeINFO. Petr Štos ECM Business Consultant KOMPONENTY APLIKACE TreeINFO Petr Štos ECM Business Consultant CO JE TO APLIKACE TreeINFO Sada komponent Komponenty rozšiřující sloupce Komponenty rozšiřující pohledy na data Aplikační části Využití jednotlivě

Více

Outdoor Expert. Uživatelský manuál. Verze aplikace: OutdoorExpert_Manual.docx 1 /

Outdoor Expert. Uživatelský manuál. Verze aplikace: OutdoorExpert_Manual.docx 1 / Outdoor Expert Uživatelský manuál Verze aplikace: 1.0 28. 12. 2014 OutdoorExpert_Manual.docx 1 / 35 2015-01-01 Obsah 1 ÚVOD... 3 2 POPIS FUNKČNOSTÍ APLIKACE... 3 2.1 SPUŠTĚNÍ APLIKACE... 3 2.2 ZALOŽENÍ

Více

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ M. Sysel, I. Pomykacz Univerzita Tomáše Bati ve Zlíně, Fakulta aplikované informatiky Nad Stráněmi 4511, 760 05 Zlín, Česká republika

Více

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23 Stručný obsah 1. Stručný úvod do relačních databází 13 2. Platforma 10g 23 3. Instalace, první přihlášení, start a zastavení databázového serveru 33 4. Nástroje pro administraci a práci s daty 69 5. Úvod

Více

MBI - technologická realizace modelu

MBI - technologická realizace modelu MBI - technologická realizace modelu 22.1.2015 MBI, Management byznys informatiky Snímek 1 Agenda Technická realizace portálu MBI. Cíle a principy technického řešení. 1.Obsah portálu - objekty v hierarchiích,

Více

Typy souborů ve STATISTICA. Tento článek poslouží jako přehled hlavních typů souborů v programu

Typy souborů ve STATISTICA. Tento článek poslouží jako přehled hlavních typů souborů v programu StatSoft Typy souborů ve STATISTICA Tento článek poslouží jako přehled hlavních typů souborů v programu STATISTICA, ukáže Vám jejich možnosti a tím Vám dovolí využívat program efektivněji. Jistě jste již

Více

E-learningovýsystém Moodle

E-learningovýsystém Moodle E-learningovýsystém Moodle Jan Povolný Název projektu: Věda pro život, život pro vědu Registrační číslo: CZ.1.07/2.3.00/45.0029 Co je to Moodle? - systém pro tvorbu a správu elektronických výukových kurzů

Více

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. PORTÁL KUDY KAM. Manuál pro administrátory. Verze 1.

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. PORTÁL KUDY KAM. Manuál pro administrátory. Verze 1. Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. PORTÁL KUDY KAM Manuál pro administrátory Verze 1.0 2012 AutoCont CZ a.s. Veškerá práva vyhrazena. Tento

Více

Uživatelský manuál aplikace. Dental MAXweb

Uživatelský manuál aplikace. Dental MAXweb Uživatelský manuál aplikace Dental MAXweb Obsah Obsah... 2 1. Základní operace... 3 1.1. Přihlášení do aplikace... 3 1.2. Odhlášení z aplikace... 3 1.3. Náhled aplikace v jiné úrovni... 3 1.4. Změna barevné

Více

WR Reality. Web Revolution. Uživatelský manuál administračního rozhraní

WR Reality. Web Revolution. Uživatelský manuál administračního rozhraní WR Reality Web Revolution Uživatelský manuál administračního rozhraní Web Revolution s. r. o. 2010 WR Reality Administrace uživatelský manuál Praktický průvodce administrací webové aplikace WR Reality

Více

APS Administrator.OP

APS Administrator.OP APS Administrator.OP Rozšiřující webový modul pro APS Administrator Přehled přítomnosti osob v oblastech a místnostech Instalační a uživatelská příručka 2004 2013,TECH FASS s.r.o., Věštínská 1611/19, Praha,

Více

STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE

STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE WEBOWÉ STRÁNKY TŘÍD KAMIL POPELKA ZÁVĚREČNÁ MATURITNÍ PRÁCE BRNO 2011 Prohlášení Prohlašuji, že maturitní práce je mým původním autorským dílem, které

Více

APS Administrator.ST

APS Administrator.ST APS Administrator.ST Rozšiřující webový modul pro APS Administrator Webové rozhraní sledování docházky studentů Instalační a uživatelská příručka 2004 2016,TECH FASS s.r.o., Věštínská 1611/19, Praha, www.techfass.cz,

Více

Business Intelligence

Business Intelligence Business Intelligence Josef Mlnařík ISSS Hradec Králové 7.4.2008 Obsah Co je Oracle Business Intelligence? Definice, Od dat k informacím, Nástroj pro operativní řízení, Integrace informací, Jednotná platforma

Více

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů Kritéria hodnocení praktické maturitní zkoušky z databázových systémů Otázka č. 1 Datový model 1. Správně navržený ERD model dle zadání max. 40 bodů teoretické znalosti konceptuálního modelování správné

Více

APS Web Panel. Rozšiřující webový modul pro APS Administrator. Webové rozhraní pro vybrané funkce programového balíku APS Administrator

APS Web Panel. Rozšiřující webový modul pro APS Administrator. Webové rozhraní pro vybrané funkce programového balíku APS Administrator APS Web Panel Rozšiřující webový modul pro APS Administrator Webové rozhraní pro vybrané funkce programového balíku APS Administrator Instalační a uživatelská příručka 2004 2016,TECH FASS s.r.o., Věštínská

Více

1 Administrace systému 3. 1.3 Moduly... 3 1.4 Skupiny atributů... 4 1.5 Atributy... 4 1.6 Hodnoty atributů... 4

1 Administrace systému 3. 1.3 Moduly... 3 1.4 Skupiny atributů... 4 1.5 Atributy... 4 1.6 Hodnoty atributů... 4 CRM SYSTÉM KORMORÁN PŘÍRUČKA ADMINISTRÁTORA Obsah 1 Administrace systému 3 1.1 Uživatelské účty.................................. 3 1.2 Přístupová práva................................. 3 1.3 Moduly.......................................

Více

Úvod...1 Instalace...1 Popis funkcí...2 Hlavní obrazovka...2 Menu...3 Práce s aplikací - příklad...5

Úvod...1 Instalace...1 Popis funkcí...2 Hlavní obrazovka...2 Menu...3 Práce s aplikací - příklad...5 Rejstřík Úvod...1 Instalace...1 Popis funkcí...2 Hlavní obrazovka...2 Menu...3 Práce s aplikací - příklad...5 Úvod Správcovská aplikace slouží k vytvoření vstupního a zašifrovaného souboru pro odečtovou

Více

Popis produktu IDFU. Řešení součinnosti s oprávněnými osobami verze 2. Aegis s.r.o.

Popis produktu IDFU. Řešení součinnosti s oprávněnými osobami verze 2. Aegis s.r.o. Popis produktu IDFU Řešení součinnosti s oprávněnými osobami verze 2 Obsah Produkt IDFU...3 K čemu slouží...3 Historie IDFU...3 IDFU dnes...3 Generování odpovědí...4 Pozice produktu...5 Hlavní přínosy...5

Více

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework Web Jaroslav Nečas Obsah přednášky Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework Co to je web HTTP protokol bezstavový GET POST HEAD Cookies Session HTTPS

Více

Stručný obsah. K2118.indd 3 19.6.2013 9:15:27

Stručný obsah. K2118.indd 3 19.6.2013 9:15:27 Stručný obsah 1. Stručný obsah 3 2. Úvod 11 3. Seznamy a databáze v Excelu 13 4. Excel a externí data 45 5. Vytvoření kontingenční tabulky 65 6. Využití kontingenčních tabulek 81 7. Kontingenční grafy

Více

Postupy práce se šablonami IS MPP

Postupy práce se šablonami IS MPP Postupy práce se šablonami IS MPP Modul plánování a přezkoumávání, verze 1.20 vypracovala společnost ASD Software, s.r.o. dokument ze dne 27. 3. 2013, verze 1.01 Postupy práce se šablonami IS MPP Modul

Více

Příloha 6. Palety nástrojů

Příloha 6. Palety nástrojů Příloha 6. Palety nástrojů Palety nástrojů v IDE poskytují zkrácení pro příkazy nabídky. Příkazy jsou rozděleny do několika palet nástrojů, které mohou být nezávisle přeskupeny nebo vloženy do plovoucích

Více

43 HTML šablony. Záložka Šablony v systému

43 HTML šablony. Záložka Šablony v systému 43 HTML šablony Modul HTML šablony slouží ke správě šablon pro výstupy z informačního systému modularis ve formátu HTML. Modul umožňuje k šablonám doplňovat patičku, dokumentaci a vázat šablony na konkrétní

Více

ProjectWise V8 XM Edition

ProjectWise V8 XM Edition . ProjectWise V8 XM Edition ProjectWise V8 XM Edition Evoluční rozšíření, nikoliv revoluce Hlavní témata XM Edition projekty podpora projektového přístupu, šablony projektů workspaces podpora pracovních

Více

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů Kritéria hodnocení praktické maturitní zkoušky z databázových systémů Otázka č. 1 Datový model 1. Správně navržený ERD model dle zadání max. 40 bodů teoretické znalosti konceptuálního modelování správné

Více

Správa obsahu webové platformy

Správa obsahu webové platformy Správa obsahu webové platformy www.dobrovolnik.net Bc. Irina Kushnareva PRAHA 2019 Tento dokument byl vypracován v rámci projektu Dobrovolnictví ve veřejné správě, reg. č. CZ.03.3.X/0.0/0.0/15_018/0005458,

Více

APS T&A.WEB. Rozšiřující programový modul pro identifikační systémy APS. Instalační a uživatelská příručka

APS T&A.WEB. Rozšiřující programový modul pro identifikační systémy APS. Instalační a uživatelská příručka APS T&A.WEB Rozšiřující programový modul pro identifikační systémy APS Instalační a uživatelská příručka 2004 2014,TECH FASS s.r.o., Věštínská 1611/19, Praha, Česká republika, www.techfass.cz, techfass@techfass.cz

Více

Informační systém pro e-learning manuál

Informační systém pro e-learning manuál Informační systém pro e-learning manuál Verze 1.00 Úvod Tento dokument popisuje způsob práce s informačním systémem pro elektronické vzdělávání. Systém je určený pro vytvoření elektronického kurzu a jeho

Více

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. 2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. GEOVAP, spol. s r. o. Čechovo nábřeží 1790 530 03 Pardubice Česká republika +420 466 024 618 http://www.geovap.cz V dokumentu použité názvy programových

Více

MANAŽER ČASOPISU. Obr. 1 Hlavní stránka manažera časopisu

MANAŽER ČASOPISU. Obr. 1 Hlavní stránka manažera časopisu MANAŽER ČASOPISU Manažer časopisu odpovídá za základní nastavení časopisu a přiděluje práva přístupu editorům, editorům sekcí, redaktorům, typografům, korektorům a recenzentům. Manažer časopisu zároveň

Více

1. Začínáme s FrontPage 2003 11

1. Začínáme s FrontPage 2003 11 Úvod 9 1. Začínáme s FrontPage 2003 11 Instalace programu 12 Spuštění a ukončení programu 15 Základní ovládání 16 Hledání souborů 30 Najít a nahradit 31 Tisk 32 Schránka sady Office 34 Nápověda 36 Varianty

Více

WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK

WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK Systém WorkWatch je určen pro malé a střední firmy, které se zabývají službami nebo zakázkovou výrobou. Zajistí dokonalý přehled o všech zakázkách a jejich rozpracovanosti.

Více

Allegro obchodní doklady

Allegro obchodní doklady Allegro obchodní doklady Modul obchodních dokladů nabízí vše, co je zapotřebí pro obchodování menších a středních firem. K dispozici je evidence nákupu a objednávek materiálu, systém pokrývá celý prodejní

Více

ŘÍZENÍ POHLEDÁVEK A AUTOMATICKÉ UPOMÍNKY. Katalogový doplněk ABRA Gen

ŘÍZENÍ POHLEDÁVEK A AUTOMATICKÉ UPOMÍNKY. Katalogový doplněk ABRA Gen ŘÍZENÍ POHLEDÁVEK A AUTOMATICKÉ UPOMÍNKY Katalogový doplněk ABRA Gen Dokumentace k doplňku ABRA Gen Datum: 20.4.2017 Obsah 1 Instalace a aktivace... 3 1.1 Instalace... 3 1.2 Aktivace... 5 2 Funkce... 6

Více

PALSTAT s.r.o. systémy řízení jakosti PALSTAT CAQ verze. 3.00.01.09 Kontakty 08/2010. 1 Obsah

PALSTAT s.r.o. systémy řízení jakosti PALSTAT CAQ verze. 3.00.01.09 Kontakty 08/2010. 1 Obsah 1 Obsah 1 Obsah... 1 2 Úvod a spouštění SW Palstat CAQ... 2 2.1.1 Návaznost na další SW moduly Palstat CAQ... 2 2.2 Přihlášení do programu... 2 2.2.1 Stanovení přístupu a práv uživatele... 2 2.2.2 Spuštění

Více

Allegro framework. Podstatné vlastnosti. Allegro Business Solution Framework

Allegro framework. Podstatné vlastnosti. Allegro Business Solution Framework Allegro framework Všechny Allegro produkty jsou postaveny na společné vývojové platformě Allegro Framework. Jedná se o programové a uživatelské rozhraní, které jsme vytvořili s cílem získat společnou webovou

Více

Novinky verze 2.3.0 systému Spisové služby (SpS) e-spis LITE

Novinky verze 2.3.0 systému Spisové služby (SpS) e-spis LITE ICZ a.s. Správa a řízení dokumentů Na hřebenech II 1718/10 147 00 Praha 4 Tel.: +420-222 271 111 Fax: +420-222 271 112 Internet: www.i.cz Novinky verze 2.3.0 systému Spisové služby (SpS) e-spis LITE Vypracoval

Více

Edu-learning pro školy

Edu-learning pro školy Edu-learning pro školy ONLINE VARIANTA Příručka pro instalaci a správu EDU 2000 s.r.o. Počítačové vzdělávání a testování Oldřichova 49 128 00 Praha 2 www.edu2000.cz info@edu2000.cz www.edu-learning.cz

Více

Individuální projekt z předmětu webových stránek 2012/2013 - Anketa

Individuální projekt z předmětu webových stránek 2012/2013 - Anketa Individuální projekt z předmětu webových stránek 2012/2013 - Anketa Daniel Beznoskov, 2 IT A Skupina 1 Úvod Prohlášení o autorství Prohlašuji, že jsem individuální projekt z předmětu webových stránek na

Více

2 PŘÍKLAD IMPORTU ZATÍŽENÍ Z XML

2 PŘÍKLAD IMPORTU ZATÍŽENÍ Z XML ROZHRANÍ ESA XML Ing. Richard Vondráček SCIA CZ, s. r. o., Thákurova 3, 160 00 Praha 6 www.scia.cz 1 OTEVŘENÝ FORMÁT Jednou z mnoha užitečných vlastností programu ESA PT je podpora otevřeného rozhraní

Více

PROJEKT ININ, 1 ČÁST 1 ORACLE APEX. Martin Šimeček (kruh 258), prosinec 08

PROJEKT ININ, 1 ČÁST 1 ORACLE APEX. Martin Šimeček (kruh 258), prosinec 08 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.

Více

Zpětná vazba od čtenářů 11 Dotazy 11 Zdrojové kódy ke knize 11 Errata 11 Typografické konvence použité v knize 12

Zpětná vazba od čtenářů 11 Dotazy 11 Zdrojové kódy ke knize 11 Errata 11 Typografické konvence použité v knize 12 Obsah Zpětná vazba od čtenářů 11 Dotazy 11 Zdrojové kódy ke knize 11 Errata 11 Typografické konvence použité v knize 12 Úvod do Microsoft SharePoint Foundation 2010 13 Základní pojmy používané v této knize

Více

Manuál SQL Ekonom funkce pro zajištění souladu s ochranu osobních údajů podle GDPR

Manuál SQL Ekonom funkce pro zajištění souladu s ochranu osobních údajů podle GDPR 1 Vážení uživatelé ekonomických a informačních systémů od naší společnosti. Přinášíme Vám nový manuál k informačnímu systému SQL Ekonom, který se výhradně věnuje popisu ovládání těch funkcí v programu,

Více

Wonderware Information Server 4.0 Co je nového

Wonderware Information Server 4.0 Co je nového Wonderware Information Server 4.0 Co je nového Pavel Průša Pantek (CS) s.r.o. Strana 2 Úvod Wonderware Information Server je výrobní analytický a reportní informační portál pro publikaci výrobních dat

Více

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. 2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. GEOVAP, spol. s r. o. Čechovo nábřeží 1790 530 03 Pardubice Česká republika +420 466 024 618 http://www.geovap.cz V dokumentu použité názvy programových

Více

Webová aplikace Znalostní testy online UŽIVATELSKÁ PŘÍRUČKA

Webová aplikace Znalostní testy online UŽIVATELSKÁ PŘÍRUČKA Webová aplikace Znalostní testy online UŽIVATELSKÁ PŘÍRUČKA 2005 Lukáš Trombik OBSAH ÚVOD... 1 SPUŠTĚNÍ... 1 POPIS OVLÁDÁNÍ INFORMAČNÍHO SYSTÉMU... 1 POPIS KLIENTSKÉ ČÁSTI... 1 POPIS ADMINISTRÁTORSKÉ ČÁSTI...

Více

1.13 ACCESS popis programu

1.13 ACCESS popis programu Název školy Číslo projektu Autor Název šablony Název DUMu Tematická oblast Předmět Druh učebního materiálu Anotace Vybavení, pomůcky Střední průmyslová škola strojnická Vsetín CZ.1.07/1.5.00/34.0483 Ing.

Více

EPLAN Electric P8 2.7 s databázemi na SQL serveru

EPLAN Electric P8 2.7 s databázemi na SQL serveru EPLAN Electric P8 2.7 s databázemi na SQL serveru EPLAN Electric P8 2.7 k dispozici pouze ve verzi 64bit. EPLAN Electric P8 využívá k ukládání některých dat databáze. Artikly, překladový slovník 1 ) a

Více

Registr práv a povinností

Registr práv a povinností Registr práv a povinností Doporučené postupy a nastavení internetového prohlížeče pro práci v aplikaci AIS RPP Doporučené postupy a nastavení internetového prohlížeče pro práci v aplikaci AIS RPP v4.0

Více

Personální evidence zaměstnanců

Personální evidence zaměstnanců Mendelova univerzita v Brně Provozně ekonomická fakulta Personální evidence zaměstnanců Uživatelská dokumentace Bc. Petr Koucký Bc. Lukáš Maňas Bc. Anna Marková Brno 2015 1 Popis funkcionality Námi řešená

Více

Modul pro PrestaShop 1.7

Modul pro PrestaShop 1.7 Obsah Modul pro PrestaShop 1.7 1 Instalace...2 1.1 Nahrání modulu do PrestaShopu...2 1.2 Komunikační adresy...3 1.3 Nastavení...4 1.4 Stavy objednávek...6 1.5 Jazykové verze...8 1.6 Kontrola funkčnosti...9

Více

Migrace na aplikaci Outlook 2010

Migrace na aplikaci Outlook 2010 V tomto průvodci Microsoft Aplikace Microsoft Outlook 2010 vypadá velmi odlišně od aplikace Outlook 2003, a proto jsme vytvořili tohoto průvodce, který vám pomůže se s ní rychle seznámit. Dozvíte se o

Více

Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý

Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý Uživatelský manuál Aplikace GraphViewer Vytvořil: Viktor Dlouhý Obsah 1. Obecně... 3 2. Co aplikace umí... 3 3. Struktura aplikace... 4 4. Mobilní verze aplikace... 5 5. Vytvoření projektu... 6 6. Části

Více

Tvorba kurzu v LMS Moodle

Tvorba kurzu v LMS Moodle Tvorba kurzu v LMS Moodle Před počátkem práce na tvorbě základního kurzu znovu připomínám, že pro vytvoření kurzu musí být profil uživatele nastaven administrátorem systému minimálně na hodnotu tvůrce

Více

Modul IRZ návod k použití

Modul IRZ návod k použití Modul IRZ návod k použití Verze: 2 Datum: 26. 2. 2016 Tento dokument představuje stručný návod na použití modulu IRZ v programu EVI 8. Modul IRZ je určen na evidenci odpadů pro IRZ provozovny a hlášení

Více

E-NABÍDKA PARTNER.REDA.CZ

E-NABÍDKA PARTNER.REDA.CZ E-NABÍDKA PARTNER.REDA.CZ Reda e-nabídka představuje mocný nástroj, díky kterému mohou naši registrovaní klienti přímo z prostředí e-shopu partner.reda.cz vytvářet vlastní produktové nabídky pro své zákazníky.

Více

Na vybraném serveru vytvoříme MySQL databázi. Soubory scratch.jpa, kickstart.php a en-gb.kickstart.ini nahrajeme na vybraný server.

Na vybraném serveru vytvoříme MySQL databázi. Soubory scratch.jpa, kickstart.php a en-gb.kickstart.ini nahrajeme na vybraný server. 1 Práce se systémem Tento dokument popíše způsob instalace a základy práce se systémem Joomla!, ve kterém je učebnice jazyka Scratch vytvořena. Podrobný návod k systému Joomla! je popsán v dokumentaci

Více

Instalace a první spuštění Programu Job Abacus Pro

Instalace a první spuštění Programu Job Abacus Pro Instalace a první spuštění Programu Job Abacus Pro Pro chod programu je nutné mít nainstalované databázové úložiště, které je připraveno v instalačním balíčku GAMP, který si stáhnete z našich webových

Více

Přehled úprav aplikace e-spis LITE verze

Přehled úprav aplikace e-spis LITE verze Přehled úprav aplikace e-spis LITE verze 3.0.0 3.1.0.7 Pro zákazníky, kteří již provozují aplikaci e-spis LITE, je níže uveden přehled změn od verze 2.6.18 do verze 3.1.0.7. Hlavní novinky Technologické

Více

UŽIVATELSKÁ PŘÍRUČKA K INTERNETOVÉ VERZI REGISTRU SČÍTACÍCH OBVODŮ A BUDOV (irso 4.x) VERZE 1.0

UŽIVATELSKÁ PŘÍRUČKA K INTERNETOVÉ VERZI REGISTRU SČÍTACÍCH OBVODŮ A BUDOV (irso 4.x) VERZE 1.0 UŽIVATELSKÁ PŘÍRUČKA K INTERNETOVÉ VERZI REGISTRU SČÍTACÍCH OBVODŮ A BUDOV (irso 4.x) VERZE 1.0 OBSAH 1 ÚVOD... 3 1.1 HOME STRÁNKA... 3 1.2 INFORMACE O GENEROVANÉ STRÁNCE... 4 2 VYHLEDÁVÁNÍ V ÚZEMÍ...

Více

BALISTICKÝ MĚŘICÍ SYSTÉM

BALISTICKÝ MĚŘICÍ SYSTÉM BALISTICKÝ MĚŘICÍ SYSTÉM UŽIVATELSKÁ PŘÍRUČKA Verze 2.3 2007 OBSAH 1. ÚVOD... 5 2. HLAVNÍ OKNO... 6 3. MENU... 7 3.1 Soubor... 7 3.2 Měření...11 3.3 Zařízení...16 3.4 Graf...17 3.5 Pohled...17 1. ÚVOD

Více

Příručka pro nasazení a správu výukového systému edu-learning

Příručka pro nasazení a správu výukového systému edu-learning Příručka pro nasazení a správu výukového systému edu-learning Obsah: Edu-learning pro firmy a organizace... 2 Varianty nasazení... 2 A. Systém umístěný v lokální síti zákazníka... 3 B. Systém umístěný

Více

Inthouse Systems s.r.o. Specifikace. Inthouse App a Inthouse Studio pro Siemens Climatix 6XX. Verze software 1.X. Revize dokumentu 6

Inthouse Systems s.r.o. Specifikace. Inthouse App a Inthouse Studio pro Siemens Climatix 6XX. Verze software 1.X. Revize dokumentu 6 Inthouse Systems s.r.o. Specifikace Inthouse App a Inthouse Studio pro Siemens Climatix 6XX Verze software 1.X Revize dokumentu 6 Datum 4. 11. 2016 Obsah Obsah 1 Úvod 2 Základní přehled systému 2 Inthouse

Více

Jan Forman Manuál 30.5.2013. CLASSIFICATIO N: public / veřejný dokument IDE NTIFICATIO N N U MBER: 0000000000001 AUTH OR:

Jan Forman Manuál 30.5.2013. CLASSIFICATIO N: public / veřejný dokument IDE NTIFICATIO N N U MBER: 0000000000001 AUTH OR: CLASSIFICATIO N: public / veřejný dokument TITLE: Manuál k webovému rozhraní hostingu P ub l i c URL: http://janforman.org/files/webhosting.pdf OFFICE NAME AND ADDRESS: --- IDE NTIFICATIO N N U MBER: 0000000000001

Více

Připojení k eduroam.cz: Nastavení síťových komponent Meraki a konfigurace ISE

Připojení k eduroam.cz: Nastavení síťových komponent Meraki a konfigurace ISE Připojení k eduroam.cz: Nastavení síťových komponent Meraki a konfigurace ISE Podrobní postup připojení organizace k eduroamu v ČR je detailně popsán na stránkach eduroam.cz (https://www.eduroam.cz/cs/spravce/pripojovani/uvod

Více

Nástrojová lišta v editačním poli

Nástrojová lišta v editačním poli Nástrojová lišta v editačním poli Název projektu PŘEJÍT NA konkrétní sekci webu ZOBRAZIT zobrazí a) pracovní verzi webu (tj. nepublikovanou) b) publikovanou verzi webu a) Odstranit odstraní zobrazenou

Více

Kontingenční tabulky v MS Excel 2010

Kontingenční tabulky v MS Excel 2010 Kontingenční tabulky v MS Excel 2010 Autor: RNDr. Milan Myšák e-mail: milan.mysak@konero.cz Obsah 1 Vytvoření KT... 3 1.1 Data pro KT... 3 1.2 Tvorba KT... 3 2 Tvorba KT z dalších zdrojů dat... 5 2.1 Data

Více

Tvorba aplikací v Oracle Application Express

Tvorba aplikací v Oracle Application Express DBS 4. ročník APEX Tvorba aplikací v Oracle Application Express Cílem této lekce je vytvořit kompletní aplikaci v Apexu, postavenou na vzorových tabulkách společnosti Oracle. Postup: 1. Otevřete lekci

Více

Zdokonalování gramotnosti v oblasti ICT. Kurz MS Excel kurz 6. Inovace a modernizace studijních oborů FSpS (IMPACT) CZ.1.07/2.2.00/28.

Zdokonalování gramotnosti v oblasti ICT. Kurz MS Excel kurz 6. Inovace a modernizace studijních oborů FSpS (IMPACT) CZ.1.07/2.2.00/28. Zdokonalování gramotnosti v oblasti ICT Kurz MS Excel kurz 6 1 Obsah Kontingenční tabulky... 3 Zdroj dat... 3 Příprava dat... 3 Vytvoření kontingenční tabulky... 3 Možnosti v poli Hodnoty... 7 Aktualizace

Více

FFUK Uživatelský manuál pro administraci webu Obsah

FFUK Uživatelský manuál pro administraci webu Obsah FFUK Uživatelský manuál pro administraci webu Obsah FFUK Uživatelský manuál pro administraci webu... 1 1 Úvod... 2 2 Po přihlášení... 2 3 Základní nastavení webu... 2 4 Menu... 2 5 Bloky... 5 6 Správa

Více

Systém JSR představuje kompletní řešení pro webové stránky malého a středního rozsahu.

Systém JSR představuje kompletní řešení pro webové stránky malého a středního rozsahu. Redakční systém JSR Systém pro správu obsahu webových stránek Řešení pro soukromé i firemní webové stránky Systém JSR představuje kompletní řešení pro webové stránky malého a středního rozsahu. Je plně

Více

HLEDEJCENY.mobi. Obsah. Mobilní verze e-shopu. Důvody instalace

HLEDEJCENY.mobi. Obsah. Mobilní verze e-shopu. Důvody instalace Obsah HLEDEJCENY.mobi Mezi Vodami 1952/9 e-mail: info@hledejceny.cz HLEDEJCENY.mobi... 1 Mobilní verze e-shopu... 1 Důvody instalace... 1 Výhody... 2 Co je k mobilní verzi potřeba... 2 Objednávka služby...

Více

MS SQL Server 2008 Management Studio Tutoriál

MS SQL Server 2008 Management Studio Tutoriál MS SQL Server 2008 Management Studio Tutoriál Vytvoření databáze Při otevření management studia a připojením se ke konkrétnímu sql serveru mám v levé části panel s názvem Object Explorer. V tomto panelu

Více

M4 PDF rozšíření. Modul pro PrestaShop. http://www.presta-addons.com

M4 PDF rozšíření. Modul pro PrestaShop. http://www.presta-addons.com M4 PDF rozšíření Modul pro PrestaShop http://www.presta-addons.com Obsah Úvod... 2 Vlastnosti... 2 Jak modul funguje... 2 Zdroje dat... 3 Šablony... 4 A. Označení šablon... 4 B. Funkce Smarty... 5 C. Definice

Více

DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP. Maturitní projekt. Třída:

DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP. Maturitní projekt. Třída: DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP Maturitní projekt Vypracoval: Denis Ptáček Třída: 4B Rok: 2014/2015 Obsah 1. Použité nástroje... 3 1.1 NetBeans

Více

ZEMĚMĚŘICKÝ ÚŘAD. Uživatelská příručka - Metadatový editor MDE. Pod Sídlištěm 9/1800, Praha 8. Verze IS nebo části IS: 1.01. Účel poslední změny:

ZEMĚMĚŘICKÝ ÚŘAD. Uživatelská příručka - Metadatový editor MDE. Pod Sídlištěm 9/1800, Praha 8. Verze IS nebo části IS: 1.01. Účel poslední změny: ZEMĚMĚŘICKÝ ÚŘAD Pod Sídlištěm 9/1800, Praha 8 Uživatelská příručka - Metadatový editor MDE Verze IS nebo části IS: Účel poslední změny: Počet listů dokumentu: 1.01 úprava dokumentace 8 Číslo jednací dokumentu:

Více

Úvodní příručka. Získání nápovědy Kliknutím na otazník přejděte na obsah nápovědy.

Úvodní příručka. Získání nápovědy Kliknutím na otazník přejděte na obsah nápovědy. Úvodní příručka Microsoft Access 2013 vypadá jinak než ve starších verzích, proto jsme vytvořili tuto příručku, která vám pomůže se s ním rychle seznámit. Změna velikosti obrazovky nebo zavření databáze

Více

P@wouk nástroj pro jednoduchou správu a vedení agendy studentských počítačových sítí na kolejích SU OPF Karviná Ing.

P@wouk nástroj pro jednoduchou správu a vedení agendy studentských počítačových sítí na kolejích SU OPF Karviná Ing. P@wouk nástroj pro jednoduchou správu a vedení agendy studentských počítačových sítí na kolejích SU OPF Karviná Ing. Tomáš Petránek tomas@petranek.eu Karviná, 21. 10. 2011 Obsah prezentace 1. Okolnosti

Více

Tlačítka a další prvky vestavěných panelů nástrojů a nabídek (CommandBar) a jejich Control ID ve verzi Excel 2010

Tlačítka a další prvky vestavěných panelů nástrojů a nabídek (CommandBar) a jejich Control ID ve verzi Excel 2010 Tlačítka a další prvky vestavěných panelů nástrojů a nabídek (CommandBar) a jejich Control ID ve verzi Excel 2010 Pozn. Od verze Excelu 2007 jsou klasické panely nástrojů skryty. Jejich nástroje mohou

Více

Postup pro přihlášení k EET

Postup pro přihlášení k EET Postup pro přihlášení k EET Krok 1. autentizační údaje Žádost o autentizační údaje neboli přihlašovací jméno a heslo. Přihlásit se o ně můžete na daňovém portálu MF http://adisspr.mfcr.cz/adistc/adis/idpr_pub/eet/eet_sluzby.faces,

Více

Uživatelská příručka

Uživatelská příručka B2B CENTRUM a.s. 3.2011 Obsah Začínáme... 3 Přihlášení a zapomenuté heslo... 3 Vytvoření uživatele... 3 Editace osobních údajů... 5 Vkládání souborů... 6 Elektronický podpis... 8 Stavební deník... 11 Identifikační

Více

NewLink Moravia. CSP aplikace: RedHorse Content management ISM Issue management

NewLink Moravia. CSP aplikace: RedHorse Content management ISM Issue management NewLink Moravia CSP aplikace: RedHorse Content management ISM Issue management Činnost společnosti NewLink NewLink se zabývá webovými aplikacemi a informačními systémy pro průmyslové podniky a obchodní

Více

26 Evidence pošty. Popis modulu. Záložka Evidence pošty

26 Evidence pošty. Popis modulu. Záložka Evidence pošty 26 Evidence pošty Uživatelský modul Evidence pošty realizuje podrobnou evidenci všech došlých a odesílaných poštovních zásilek s možností přidělovat tyto zásilky uživatelům informačního systému k vyřízení,

Více

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ SPOLEČNOST DECADIC PROJEKT FRAMETRIX

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ SPOLEČNOST DECADIC PROJEKT FRAMETRIX FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ MANAGEMENT PROJEKTŮ SPOLEČNOST DECADIC PROJEKT FRAMETRIX SPECIFIKACE POŽADAVKŮ AUTOR DOKUMENTU JIŘÍ JANDA BRNO 15. března 2012 Obsah 1 Úvod........................................

Více

Specifikace požadavků. POHODA Web Interface. Verze 1.0. Datum: Autor: Ondřej Šrámek

Specifikace požadavků. POHODA Web Interface. Verze 1.0. Datum: Autor: Ondřej Šrámek Specifikace požadavků POHODA Web Interface Verze 1.0 Datum: 29.12. 2008 Autor: Ondřej Šrámek Copyright 1999 by Karl E. Wiegers. Permission is granted to use, modify, and distribute this document. Strana

Více

Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Jarkovský, L. Dušek, M. Cvanová. 5. Statistica

Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Jarkovský, L. Dušek, M. Cvanová. 5. Statistica Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Jarkovský, L. Dušek, M. Cvanová 5. Statistica StatSoft, Inc., http://www.statsoft.com, http://www.statsoft.cz. Verze pro Mac i PC, dostupná

Více

Obsah. 1 Úvod do Visia 2003 15. 2 Práce se soubory 47. Předmluva 11 Typografická konvence použitá v knize 13

Obsah. 1 Úvod do Visia 2003 15. 2 Práce se soubory 47. Předmluva 11 Typografická konvence použitá v knize 13 Předmluva 11 Typografická konvence použitá v knize 13 1 Úvod do Visia 2003 15 Visio se představuje 16 Výchozí podmínky 16 Spuštění a ukončení Visia 18 Způsoby spuštění Visia 18 Ukončení práce s Visiem

Více

Příručka pro editaci kontaktů na eagri

Příručka pro editaci kontaktů na eagri Obsah Úvod... 1 Uživatel a subjekt... 1 Kontakty... 1 Validace hodnoty kontaktu... 2 GPS souřadnice... 3 Datová schránka... 3 Adresy... 3 Speciální PSČ... 4 Adresy s P.O. Box... 4 Klíč pro WS... 4 Uživatelé...

Více

Reliance 3 design OBSAH

Reliance 3 design OBSAH Reliance 3 design Obsah OBSAH 1. První kroky... 3 1.1 Úvod... 3 1.2 Založení nového projektu... 4 1.3 Tvorba projektu... 6 1.3.1 Správce stanic definice stanic, proměnných, stavových hlášení a komunikačních

Více

Přehledy pro Tabulky Hlavním smyslem této nové agendy je jednoduché řazení, filtrování a seskupování dle libovolných sloupců.

Přehledy pro Tabulky Hlavním smyslem této nové agendy je jednoduché řazení, filtrování a seskupování dle libovolných sloupců. Přehledy pro Tabulky V programu CONTACT Professional 5 naleznete u firem, osob a obchodních případů záložku Tabulka. Tuto záložku lze rozmnožit, přejmenovat a sloupce je možné definovat dle vlastních požadavků

Více

Technologické postupy práce s aktovkou IS MPP

Technologické postupy práce s aktovkou IS MPP Technologické postupy práce s aktovkou IS MPP Modul plánování a přezkoumávání, verze 1.20 vypracovala společnost ASD Software, s.r.o. dokument ze dne 27. 3. 2013, verze 1.01 Technologické postupy práce

Více