MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY
Bakalářská práce
Systémy na tvorbu internetových prezentací Pavel Mařík
Brno, podzim 2003
Masarykova univerzita v Brně Fakulta informatiky
Prohlášení Prohlašuji, že tato bakalářská práce je mým původním autorským dílem, které jsem vypracoval samostatně. Všechny zdroje, prameny a literaturu, které jsem při vypracování používal nebo z nich čerpal, v práci řádně cituji s uvedením úplného odkazu na příslušný zdroj.
Systémy na tvorbu internetových prezentací Bakalářská práce
2
Masarykova univerzita v Brně Fakulta informatiky
Poděkování Na tomto místě bych rád poděkoval vedoucímu mé bakalářské práce Mgr. Jaroslavu Šilberskému za podklady, rady a čas, které mi při jejím vypracování věnoval.
Systémy na tvorbu internetových prezentací Bakalářská práce
3
Masarykova univerzita v Brně Fakulta informatiky
Shrnutí S rozvojem informačních technologií dochází k přesouvání informací a celých informačních systémů na internet. Pro snadnou tvorbu a správu internetového obsahu se používají systémy na tvorbu internetových prezentací (publikační systémy). Komplexní publikační systémy slouží ke správě celé prezentace, účelové publikační systémy umožňují aktualizaci pouze určitých sekcí prezentace a systémy pro správu dokumentů zajišťují řízení a sdílení podnikových dokumentů. Při volbě databázové architektury máme na výběr mezi monolitickou, dvouvrstvou a vícevrstvou architekturou. Při této volbě zvažujeme různá hlediska systému, především požadavky na přístup k systému a konkrétní podmínky v místě provozu systému. Prostředí Borland Delphi umožňuje mnoho způsobů přístupu k databázím. Je zde vytvořena virtuální databázová architektura, která umožňuje využít k databázovému přístupu mnoha technologií: například Borland Database Engine, dbExpress nebo ActiveX Data Objects od firmy Microsoft. Pro vyvíjenou aplikaci byla zvolena technologie BDE společně s monolitickou architekturou. Při návrhu zkoumáme systém jak z hlediska funkčního, kdy analyzujeme jeho možné funkce, tak z hlediska datového modelu, kdy analyzujeme systémové entity a vztahy. Je rovněž důležité formulovat bezpečnostní požadavky na systém. V době implementace systému se snažíme o co největší jednoduchost, přehlednost a intuitivnost aplikace pro uživatele. Musíme ošetřit všechny chybové stavy, ke kterým může při používání systému dojít a znemožnit tak chování, které neodpovídá požadavkům formulovaným při návrhu systému. Validace dokumentů používaných na internetu se dnes stává nezbytností. Je používáno množství prohlížečů, které se při zobrazování dokumentů nechovají vždy stejně. Tuto neurčitost eliminujeme tak, že pomocí procesu SGML validace odstraníme nestandardní elementy v našich dokumentech. Jiné použití nabízejí validátory přístupnosti webových stránek, které pomáhají odstranit elementy bránící přístupu určitých skupin uživatelů, jako jsou například nevidomí a těžce zrakově postižení lidé.
Klíčová slova Internetové prezentace, Borland Delphi, BDE, databáze, validace, přístupnost
Systémy na tvorbu internetových prezentací Bakalářská práce
4
Masarykova univerzita v Brně Fakulta informatiky
Obsah 1
Úvod ............................................................................................................... 7
2
Systémy na tvorbu internetových prezentací ............................................. 8 2.1 2.2 2.3
3
Volba technického řešení ........................................................................... 11 3.1
3.2
4
4.2
Použití databází v Borland Delphi .............................................................. 14 4.1.1 BDE ................................................................................................ 14 4.1.2 ADO ............................................................................................... 14 4.1.3 dbExpress ....................................................................................... 14 Výběr databázové technologie .................................................................... 14
Návrh systému............................................................................................. 16 5.1
5.2
5.3
6
Architektura z hlediska databáze ................................................................ 11 3.1.1 Monolitická architektura ................................................................ 11 3.1.2 Dvouvrstvá architektura ................................................................. 11 3.1.3 Vícevrstvá architektura .................................................................. 12 Koncepce řešení .......................................................................................... 12
Prostředky pro vývoj aplikace................................................................... 14 4.1
5
Komplexní publikační systémy..................................................................... 8 Účelové publikační systémy ......................................................................... 9 Systémy pro správu dokumentů .................................................................... 9
Funkční analýza systému ............................................................................ 16 5.1.1 Kontextový diagram ....................................................................... 16 5.1.2 DFD diagram.................................................................................. 16 5.1.3 Evidence uživatelů ......................................................................... 17 5.1.4 Evidence dokumentů ...................................................................... 17 5.1.5 Evidence firem ............................................................................... 18 5.1.6 Nastavení programu ....................................................................... 18 Datový model .............................................................................................. 18 5.2.1 ERD diagram.................................................................................. 18 5.2.2 Entity .............................................................................................. 19 5.2.3 Vazby ............................................................................................. 19 5.2.4 Popis tabulek .................................................................................. 19 Bezpečnostní požadavky............................................................................. 22
Implementace systému ............................................................................... 23 6.1 6.2
Technické požadavky ................................................................................. 23 Uživatelské rozhraní ................................................................................... 23 6.2.1 Hlavní okno aplikace...................................................................... 23 6.2.2 Přidání dokumentu ......................................................................... 24 6.2.3 Úprava dokumentu ......................................................................... 25 6.2.4 Přihlášení do aplikace .................................................................... 26 Systémy na tvorbu internetových prezentací Bakalářská práce
5
Masarykova univerzita v Brně Fakulta informatiky
6.3
7
Validace dokumentů na WWW................................................................. 30 7.1
7.2
8
6.2.5 Nastavení programu ....................................................................... 27 6.2.6 Nastavení uživatelů ........................................................................ 28 Instalace programu ...................................................................................... 29
Standard SGML .......................................................................................... 30 7.1.1 Možné použití SGML validace ...................................................... 30 7.1.2 SGML validátory ........................................................................... 31 7.1.3 Výsledky SGML validace .............................................................. 31 Standardy pro bezbariérový přístup ............................................................ 32 7.2.1 Validace bezbariérového přístupu .................................................. 32
Závěr ............................................................................................................ 34
Systémy na tvorbu internetových prezentací Bakalářská práce
6
Masarykova univerzita v Brně Fakulta informatiky
1 Úvod S příchodem informačních technologií do všech odvětví lidské činnosti dochází v posledních letech k přechodu od klasických informačních zdrojů v podobě papírových dokumentů ke zdrojům elektronickým. Společnost se přetváří na informační společnost, ve které mají informace svou důležitou a nezastupitelnou úlohu. Velké množství informací a informačních zdrojů však už není zvládnutelné bez pomoci informačních systémů. Informační systémy jsou dnes používány téměř ve všech oborech lidské činnosti. V oblasti informačních technologií se čím dál více prosazuje využití internetu, který nabízí v podstatě neomezenou možnost výměny informací a zohledňuje zvyšující se požadavky na efektivnější práci s daty. Dochází k nárůstu používání systémů na tvorbu internetových prezentací, umožňujících tvorbu a správu obsahu webových stránek. V této práci se budu zabývat návrhem a implementací systému na publikování dokumentů pro městský úřad. Jeho hlavní úlohou bude především usnadnění publikace na oficiálních www stránkách úřadu. Aplikace umožní vystavování a manipulaci s dokumenty jako jsou vyhlášky města a usnesení městského zastupitelstva, dále tvorbu různých oznámení a jejich zpřístupnění na elektronické úřední desce. Práce je rozdělena do několika kapitol. Druhá kapitola popisuje systémy na tvorbu internetových prezentací, provádí jejich rozdělení podle rozsahu a druhu funkcí a definuje požadavky na služby těchto systémů. Třetí kapitola vysvětluje základní architektury databázových aplikací, jejich charakteristiky, popisuje jejich výhody a nevýhody a nastiňuje koncepce řešení v prostředí Borland Delphi. Čtvrtá kapitola se zaobírá prostředky pro vývoj aplikace, volbou vhodného databázového řešení a databázových komponent použitých v aplikaci. Pátá kapitola řeší návrh aplikace, její funkční analýzu a rozbor datového modelu aplikace. Šestá kapitola specifikuje technické požadavky pro používání aplikace, popisuje uživatelské rozhraní aplikace, rozebírá konkrétní postupy použité při implementaci a zabývá se instalací aplikace. Sedmá kapitola pojednává o validaci dokumentů na www, a to jak z hlediska dodržování standardu HTML, tak i z hlediska jejich přístupnosti. Závěr zhodnocuje dosažené výsledky a stručně rozebírá, jakým směrem by se mohl ubírat další vývoj aplikace.
Systémy na tvorbu internetových prezentací Bakalářská práce
7
Masarykova univerzita v Brně Fakulta informatiky
2 Systémy na tvorbu internetových prezentací Systémy na tvorbu internetových prezentací (též nazývané publikační systémy) umožňují uživatelům kontrolu nad obsahem svých webových stránek. Uživatel, který nový obsah na stránky publikuje nebo upravuje stávající, přitom vystačí s běžnou znalostí práce s kancelářskými aplikacemi typu MS Word. To umožňuje fakt, že design stránek je v těchto systémech oddělen od vlastního obsahu. Další výhodou jsou různé uživatelské role s různými pravomocemi, které umožní například jednomu člověku informaci vytvořit a jinému pak schválit a publikovat. Typické použití těchto systémů je při práci s obsahem stránek podnikové webové prezentace (novinky, tiskové zprávy, produktové informace), ale i intranetu nebo extranetu. Kromě ručně vkládaných informací umožňují takové systémy také automatickou publikaci obsahu v jednotném designu – zdroje mohou být buď z jiných systémů (účetnictví, skladový systém, ERP1), nebo dokonce od třetí strany, jako například informace o počasí nebo kurzu akcií na burze. Publikační systémy lze obecně rozdělit na komplexní – poskytující maximální kontrolu nad celou internetovou prezentací (každá stránka je sestavena publikačním systémem) a účelové – ty implementují pouze určité části prezentace a zbývající stránky již mohou být statické. Zcela jinou kategorií jsou systémy pro správu dokumentů – Document Management Systems (DMS).
2.1 Komplexní publikační systémy Umožňují plnou kontrolu nad internetovou prezentací. Jejich komplexnost spočívá ve schopnosti jednoduše postavit a spravovat celou strukturu internetové prezentace a v možnosti komunikace s informačním systémem nebo intranetem firmy. Tyto systémy integrují mnoho modulů, jako například vyhledávání, ankety, nejčtenější články, novinky, diskuse a podobně. Komplexní publikační systémy je vhodné použít pro projekty, u kterých je předpoklad potřeby velmi časté aktualizace mnoha informací. Tato potřeba většinou nastává u prezentací větších právních subjektů. Požadavky na komplexní publikační systémy Izolace designu od obsahu – umožňuje snadnou aktualizaci bez starostí o výsledný vzhled stránek; naopak změny designu je možné provádět bez nutnosti převodu dat Vizuální editace obsahu – uživatel je schopen formátovat obsah zcela bez znalosti jazyka HTML prostřednictvím WYSIWYG editoru Modularita – pro spravované stránky je možné využít řady předdefinovaných komponent jako ankety, diskusní fóra, rozesílání novinek a podobně Bezpečnost – je vytvořen systém uživatelských rolí a přístupových práv k prezentovaným informacím (skupiny uživatelů, stupeň tajnosti dokumentu, …)
1
Enterprise Resource Planning – klasické podnikové informační systémy Systémy na tvorbu internetových prezentací Bakalářská práce
8
Masarykova univerzita v Brně Fakulta informatiky
Integrace – systém je schopen díky použité standardizované technologii spolupracovat s ostatními produkty třetích stran
2.2 Účelové publikační systémy Skládají se z několika samostatných částí, které lze integrovat do již hotové prezentace. Tyto systémy neumožňují prezentaci stavět, ale umí ji jednoduše spravovat. Jejich hlavní výhodou je úspora nákladů, protože mohou být využity pouze v těch částech prezentace, které jsou často aktualizovány – například u novinek, ceníků a podobně. Účelové publikační systémy se používají u projektů, které nepotřebují aktualizaci velkého objemu informací. Prakticky je tvoří všechny projekty, u kterých se nevyplatí nasazení komplexních publikačních systémů, neboť nutnost aktualizace alespoň vybraných informací nastává u všech internetových prezentací bez rozdílu. Požadavky na účelové publikační systémy jsou téměř shodné s požadavky na komplexní publikační systémy, pouze se klade větší důraz na schopnost integrace a modularitu.
2.3 Systémy pro správu dokumentů Tyto systémy zajišťují efektivní řešení správy podnikových dokumentů a jejich sdílení v rámci podniku i s obchodními partnery. Jsou jedním ze základních stavebních prvků moderních podnikových intranetových systémů. Důraz je kladen pouze na snadnou distribuci a sdílení informací ve formě dokumentů a práce s DMS systémem připomíná spíše práci se složkami a soubory. Použitím systému pro správu dokumentů může každý oprávněný zaměstnanec umístit na podnikový intranet či extranet libovolné dokumenty a informace a prezentovat je ostatním uživatelům v atraktivním a ergonomickém „firemním“ uživatelském rozhraní pomocí jejich běžného www prohlížeče. Navíc je k práci s informacemi a dokumenty pro uživatele připraveno mnoho užitečných nástrojů – je možné je například přehledně organizovat do složek, vyhledávat je podle různých kritérií, sledovat jejich aktualizace, upozorňovat na ně upoutávkami a mnoho dalšího. Každý uživatel při tom pracuje pouze s dokumenty, které mu přísluší. Požadavky na systém pro správu dokumentů Efektivita – sdílení libovolných dokumentů a informací v rámci společnosti i s obchodními partnery a veřejností, na straně klienta by měl stačit běžný internetový prohlížeč Snadnost používání – práci se systémem včetně publikace dokumentů by měl zvládnout kdokoliv se základní znalostí MS Office Modularita – systém lze jednoduše nasadit a dále rozšiřovat dle individuálních potřeb Bezpečnost – je vytvořen systém uživatelských rolí a přístupových práv k prezentovaným informacím (skupiny uživatelů, stupeň tajnosti dokumentu, …)
Systémy na tvorbu internetových prezentací Bakalářská práce
9
Masarykova univerzita v Brně Fakulta informatiky
Firemní identita – měl by být umožněn vlastní vzhled uživatelského rozhraní podle firemní identity (barvy, logo, fonty,…)
Systémy na tvorbu internetových prezentací Bakalářská práce
10
Masarykova univerzita v Brně Fakulta informatiky
3 Volba technického řešení Odpověď na otázku, který způsob implementace je pro tuto aplikaci nejvhodnější, se jen těžko hledá. Každé řešení má své výhody a nevýhody, navíc jsme omezeni prostředím, ve kterém bude systém provozován.
3.1 Architektura z hlediska databáze Podle způsobu implementace databázových služeb rozeznáváme tři hlavní druhy architektury: monolitická, dvouvrstvá a vícevrstvá architektura.
3.1.1 Monolitická architektura Tato architektura se snadno implementuje a nemá velké požadavky na technické vybavení. Architektura je však omezující, a proto vznikly vícevrstvé architektury.
Obrázek 1: Schéma monolitické architektury v Borland Delphi
3.1.2 Dvouvrstvá architektura Je to nejpoužívanější model při budování informačních systémů založených na architektuře klient/server. Dvouvrstvá architektura se používá, pokud je základním požadavkem rychlost vývoje. Zpracovávání všech funkcí aplikace probíhá ve dvou komponentách: klientovi a databázovém serveru. Na klientovi jsou prezentační služby, prezentační logika a logika aplikace. Na serveru běží logika dat, logika aplikace, datové a souborové služby.
Obrázek 2: Schéma dvouvrstvé architektury v Borland Delphi Systémy na tvorbu internetových prezentací Bakalářská práce
11
Masarykova univerzita v Brně Fakulta informatiky
3.1.3 Vícevrstvá architektura Vykonávání aplikačního programu je rozděleno mezi komponenty: klient, aplikační server a databázový server. Klientský proces vykonává pouze prezentační funkce. Aplikační server je odpovědný za zabezpečení aplikační logiky systému. Výhoda zařazení aplikačního serveru spočívá v odlehčení klientských stanic a databázového serveru. Na straně databázového serveru se manipuluje s vlastními daty a plní se požadavky směřované z aplikačního serveru. Tato architektura je vhodná pro větší aplikace a v případech, kdy je nutné přistupovat k datům z více heterogenních zdrojů.
Obrázek 3: Schéma vícevrstvé architektury v Borland Delphi
3.2 Koncepce řešení Při rozhodování, jakou architekturu pro systém zvolit, musíme zvážit několik okolností. V prvé řadě je třeba určit, zda bude aplikace používána více uživateli současně. V kladném případě není vhodná monolitická architektura, neboť potřeby zajištění sdílení přístupu k datům a izolace transakcí by vyžadovaly velkého úsilí při programování aplikace. Pro tyto účely jsou vhodné dvou- a vícevrstvé architektury, které řeší tyto problémy pomocí dedikovaného databázového serveru. Dále je nutné zjistit, zda konkrétní podmínky dovolují provoz dvou- a vícevrstvých řešení. V případě dvouvrstvého řešení je především nutné vyhradit jeden počítač pro provoz databázového serveru. Tento stroj musí být v provozu vždy, když uživatelé chtějí pracovat se systémem. Při použití vícevrstvého řešení přibude ještě nutnost provozu aplikačního serveru, analogicky jako v předchozím bodě. Přístup k systému na vzdáleném serveru je možný pomocí klientské aplikace nebo webového prohlížeče. Při použití webového prohlížeče je hlavní výhodou platformová nezávislost na straně uživatele, neboť se nekladou omezení na operační systém. Mezi hlavními nevýhodami je především omezení grafického rozhraní, způsobené pasivitou Systémy na tvorbu internetových prezentací Bakalářská práce
12
Masarykova univerzita v Brně Fakulta informatiky
prohlížeče a nižší rychlost, způsobená přenosy mezi klientem a serverem. Naopak klientská aplikace je uložena ve strojovém kódu, a proto je rychlejší. Může také obsahovat více grafických prvků a být tak uživatelsky příjemnější. Její hlavní nevýhodou je ovšem vazba na operační systém. Pokud si dáme dohromady požadavky na systém, zjistíme, že jsou protichůdné. Je totiž požadován víceuživatelský přístup k systému, ale v místě provozu systému není fyzicky přítomen počítač, na kterém by mohl běžet dedikovaný databázový stroj vždy, když bude kterýkoli uživatel chtít pracovat se systémem. Tyto podmínky nás nutí použít monolitickou architekturu v kombinaci se zřetelem na specifický způsob implementace, který ošetří víceuživatelské přístupy k databázi a zajistí konzistenci dat.
Systémy na tvorbu internetových prezentací Bakalářská práce
13
Masarykova univerzita v Brně Fakulta informatiky
4 Prostředky pro vývoj aplikace V této kapitole se budu zabývat popisem přístupu k databázím ve vývojovém prostředí Borland Delphi a výběrem vhodné technologie pro přístup k databázi.
4.1 Použití databází v Borland Delphi Vývojové prostředí Delphi umožňuje mnoho způsobů přístupu s databázím. Hlavním záměrem databázové architektury je zjednodušit, zpřehlednit a pokud možno graficky ulehčit základní činnosti programátora. Autoři Delphi vytvořili virtuální architekturu, aby se programátoři nemuseli zabývat podrobnostmi implementace databázového stroje. To znamená, že vývojáři vkládají pouze jednotlivé komponenty, které vyřeší přístup k datům. Prostředí Delphi nabízí následující technologie, nacházející se v edicích Professional a Enterprise: BDE, ADO a dbExpress. Mnohé další jsou volně přístupné na internetu.
4.1.1 BDE Borland Database Engine má přímý přístup k mnoha databázovým zdrojům. Může také spolupracovat s SQL Links a získat tak přístup k lokálním i vzdáleným SQL serverům. Pokud použijeme tento způsob, budeme muset spolu s naší aplikací instalovat i BDE. Není to problém, protože Delphi obsahují i volně šiřitelný instalační program.
4.1.2 ADO ActiveX Data Objects je technologie společnosti Microsoft. Přístup do databáze je řešen pomocí balíku COM objektů, které používají rozhraní OLE DB. Pro provoz aplikace používající ADO potřebujeme Microsoft ADO 2.1 a rozhraní OLE DB nebo rozhraní ODBC pro ukládání dat.
4.1.3 dbExpress Jedná se o novou technologii pro přístup k SQL databázím v Delphi. Výhodou je především rychlost a efektivita. Rozhraní dbExpress slouží jako komunikační vrstva. V základní distribuci obsahuje ovladače pro přístup k databázím InterBase, DB2, Oracle a MySQL. Toto rozhraní se zatím moc nepoužívá, ale v budoucnu by se mělo stát jedním ze standardů pro přístup k databázovým serverům.
4.2 Výběr databázové technologie Pro implementaci jsem vybral technologii BDE, protože se jedná o ověřené a spolehlivé řešení. Je standardem při přístupu k lokálním i vzdáleným databázím, ke kterým lze přistupovat pomocí VCL komponent. Nejdůležitější jsou zejména: TQuery – komponenta zapouzdřující dataset, sloužící k provádění SQL příkazů, ať už Data Definition Language nebo Data Manipulation Language Systémy na tvorbu internetových prezentací Bakalářská práce
14
Masarykova univerzita v Brně Fakulta informatiky
TTable – komponenta používaná k přístupu k datům jak v lokálních tabulkách, tak i ve vzdálených SQL databázích TDataSet – základní třída určená pro práci se všemi komponentami obsahujícími řádky a sloupce S daty manipulujeme buď pomocí standardního SQL jazyka, nebo pomocí metod komponenty TTable. Přiložené CD obsahuje instalační program nástroje Borland Database Engine.
Systémy na tvorbu internetových prezentací Bakalářská práce
15
Masarykova univerzita v Brně Fakulta informatiky
5 Návrh systému 5.1 Funkční analýza systému Při funkční analýze systému zkoumáme systém jako množinu interagujících funkcí, které transformují datové toky pomocí toků řídících.
5.1.1 Kontextový diagram Kontextový diagram je zvláštním případem diagramu datových toků (DFD). Zdůrazňuje především okolí, tedy uživatele a systémy, s nimiž systém komunikuje, dále data přijímaná/produkovaná z/do vnějšího světa a hranici mezi systémem a vnějším světem.
Obrázek 4: Kontextový diagram
5.1.2 DFD diagram Diagram datových toků je modelovací nástroj, který umožňuje zobrazit systém jako síť procesů, které plní určené funkce a předávají si mezi sebou data. Následující diagram je vytvořen v notaci Yourdon / DeMarco.
Obrázek 5: DFD diagram 0. úrovně Systémy na tvorbu internetových prezentací Bakalářská práce
16
Masarykova univerzita v Brně Fakulta informatiky
5.1.3 Evidence uživatelů Účelem evidence uživatelů je uchovávání informací o všech uživatelích, kteří mají vytvořen uživatelský účet, jehož prostřednictvím je jim umožněn přístup do systému. Dále se prostřednictvím evidence uživatelů provádí identifikace úprav jednotlivých dokumentů. Eviduje se jméno uživatele, login uživatele, heslo uživatele a práva pro přístup do systému. Položka login slouží k rozlišení uživatelů se stejnými jmény, měla by tedy obsahovat login daného uživatele pro přihlašování k počítačové síti. Položka heslo obsahuje šifrované2 heslo uživatele, zajišťující jeho autentizaci. V položce práva jsou uchovávána přístupová práva uživatele, pomocí kterých je aplikováno řízení přístupu k jednotlivým sekcím programu (editace vyhlášek, usnesení, oznámení a firem; nastavení programu a uživatelů). Vkládání, změny a rušení v evidenci uživatelů smí provádět pouze uživatel s příslušným oprávněním (dále jen administrátor). Při rušení uživatelů je nutné dbát na vazby s vloženými dokumenty – musí být zajištěna korektní náhrada v autorství dokumentů. Jedinou položkou, kterou mohou měnit všichni uživatelé, je vlastní heslo. Podmínkou této změny je autentizace dosavadním heslem, čímž bude útočníkovi znemožněna změna hesla v době nepřítomnosti uživatele u počítače.
5.1.4 Evidence dokumentů Klíčovou funkcí programu je manipulace s dokumenty – vkládání a úprava vyhlášek, usnesení a oznámení spolu se souvisejícími údaji. Vše je po úpravě přeneseno na www server pomocí FTP. U vyhlášek a usnesení se eviduje jméno souboru dokumentu, název dokumentu, vkládající uživatel a datum vložení. Oznámení lze vytvořit přímo v editoru programu, nebo jen vložit připravený dokument jako v případě vyhlášek a usnesení. Dále je možno navíc určit datum smazání oznámení, je-li tak požadováno. Evidence dokumentů se skládá ze dvou částí: první částí jsou tabulky vložených dokumentů, druhou část tvoří tabulka vložených souborů. Entity vyhlášky, usnesení a oznámení jsou tvořeny vazbou mezi dokumentem a souborem, realizovanou přes identifikační číslo dokumentu. U všech dokumentů je zavedena vazba na uživatele, umožňující určení, kterým uživatelem byl konkrétní dokument upraven. Vkládání, změny, mazání a řazení dokumentů může provádět pouze uživatel s přiděleným konkrétním oprávněním. V systému jsou tedy zavedena práva pro manipulaci s vyhláškami, usneseními a oznámeními. Při operaci s existujícím dokumentem (změna, smazání) je nutné zajistit víceuživatelský přístup. Editují-li dva uživatelé tentýž dokument, musí být provedena pouze jedna změna. V opačném případě by druhá skončila chybou (při pokusu o vícenásobné smazání) nebo nekonzistencí databáze (při vícenásobné editaci dokumentu). Řešením je při pokusu o operaci otestovat, zda editovaný dokument existuje v databázi v nezměněné podobě, a v záporném případě tuto operaci stornovat a upozornit uživatele chybovou zprávou. Takto bude zajištěno provedení pouze první z požadovaných operací.
2
princip šifrování bude popsán v kapitole Implementace Systémy na tvorbu internetových prezentací Bakalářská práce
17
Masarykova univerzita v Brně Fakulta informatiky
Při každém spuštění programu je oprávněným uživatelům nabídnuta možnost smazat oznámení, u kterých došlo k vypršení jejich publikační lhůty.
5.1.5 Evidence firem Funkce této evidence jsou analogické evidenci dokumentů, pouze není realizována vazba na soubor dokumentu. Je evidován název firmy, předmět činnosti, její internetová adresa, e-mail, telefony a poštovní adresa.
5.1.6 Nastavení programu Nastavení programu, stejně jako manipulaci s uživateli, může provádět jen uživatel s administrátorskými právy. Lze měnit údaje potřebné pro běh systému – adresáře s šablonami, vlastnosti FTP klienta a podobně.
5.2 Datový model Datový model definuje informační schopnost komponenty informačního systému pro zabezpečení publikace dokumentů na městském úřadu. Model také definuje konceptuální model pro databázové rozhraní systému.
5.2.1 ERD diagram
Obrázek 6: ERD diagram
Systémy na tvorbu internetových prezentací Bakalářská práce
18
Masarykova univerzita v Brně Fakulta informatiky
5.2.2 Entity Název: Uživatel Objektem typu Uživatel je každá osoba, která má v systému vytvořen účet pro přístup.
Název: Soubor Objektem typu Soubor je každý dokument, který byl vložen uživatelem do systému. Název: Vyhláška Objektem typu Vyhláška je každá reprezentace vazby mezi entitami Soubor a Uživatel ve smyslu: Dokument (Soubor), který je vložen kontrétním uživatelem (Uživatel) tvoří instanci vyhlášky. Název: Usnesení Objektem typu Usnesení je každá reprezentace vazby mezi entitami Soubor a Uživatel ve smyslu: Dokument (Soubor), který je vložen kontrétním uživatelem (Uživatel) tvoří instanci usnesení. Název: Oznámení Objektem typu Oznámení je každá reprezentace vazby mezi entitami Soubor a Uživatel ve smyslu: Dokument (Soubor), který je vložen kontrétním uživatelem (Uživatel) tvoří instanci oznámení. Název: Firma Objektem typu firma jsou údaje o konkrétní firmě, které jsou zveřejněny na www.
5.2.3 Vazby Vazby typu A Vazba reprezentuje uživatele (Uživatel), který vložil nebo upravil konkrétní dokument (Vyhláška, Usnesení, Oznámení). Vazby typu B Vazba reprezentuje soubor (Soubor), který tvoří konkrétní dokument (Vyhláška, Usnesení, Oznámení).
5.2.4 Popis tabulek V následujícím textu nalezneme popis tabulek a jejich atributů. Použil jsem databázový ovladač standardu Paradox, uvedené datové typy tedy odpovídají této specifikaci. Tabulka Uzivatele Atribut Id
Typ autoincrement Systémy na tvorbu internetových prezentací Bakalářská práce
19
Masarykova univerzita v Brně Fakulta informatiky
Login JmenoUzivatele HesloUzivatele PravaUzivatele
alpha (64) alpha (255) alpha (128) alpha (64)
Id – primární klíč Login – login uživatele, slouží pro odlišení uživatelů v případě duplicitních jmen JmenoUzivatele – jméno uživatele HesloUzivatele – heslo uživatele pro autentizaci v systému PravaUzivatele – práva uživatele pro řízení přístupu do systému
Tabulka Soubory Atribut Id JmenoSouboru NazevDokumentu
Typ autoincrement alpha (128) alpha (255)
Id – primární klíč JmenoSouboru – jméno souboru připojeného dokumentu NazevDokumentu – název připojeného dokumentu
Tabulka Vyhlasky Atribut Id IdSoubor IdUzivatel DatumAktualizace
Typ autoincrement long integer long integer timestamp
Id – primární klíč IdSoubor – cizí klíč do tabulky Soubory IdUzivatel – cizí klíč do tabulky Uzivatele DatumAktualizace – datum vložení nebo aktualizace dokumentu
Tabulka Usneseni Atribut Id IdSoubor IdUzivatel DatumAktualizace
Typ autoincrement long integer long integer timestamp
Systémy na tvorbu internetových prezentací Bakalářská práce
20
Masarykova univerzita v Brně Fakulta informatiky
Id – primární klíč IdSoubor – cizí klíč do tabulky Soubory IdUzivatel – cizí klíč do tabulky Uzivatele DatumAktualizace – datum vložení nebo aktualizace dokumentu Tabulka Oznameni Atribut Id IdSoubor IdUzivatel DatumAktualizace DatumSmazani
Typ autoincrement long integer long integer timestamp date
Id – primární klíč IdSoubor – cizí klíč do tabulky Soubory IdUzivatel – cizí klíč do tabulky Uzivatele DatumAktualizace – datum vložení nebo aktualizace dokumentu DatumSmazani – datum případného smazání oznámení
Tabulka Firmy Atribut Id IdUzivatel NazevFirmy PredmetCinnosti Www Mail Telefon1 Telefon2 Adresa
Typ autoincrement long integer alpha (255) alpha (255) alpha (128) alpha (128) alpha (20) alpha (20) alpha (255)
Id – primární klíč IdUzivatel – cizí klíč do tabulky Uzivatele NazevFirmy – název zveřejněné firmy PredmetCinnosti – předmět činnosti zveřejněné firmy Www – http adresa stránek zveřejněné firmy Mail – e-mailová adresa zveřejněné firmy Telefon1, Telefon2 – telefony zveřejněné firmy Adresa – fyzická adresa zveřejněné firmy
Systémy na tvorbu internetových prezentací Bakalářská práce
21
Masarykova univerzita v Brně Fakulta informatiky
5.3 Bezpečnostní požadavky Z použití každé internetové aplikace plynou jistá bezpečnostní rizika. Oprávněným uživatelům je potřeba poskytnout bezpečný přístup k informacím, ale na druhé straně je třeba zabránit v neoprávněném přístupu nepovolaných osob. V databázi se budou uchovávat citlivá data, jako například hesla pro přístup do systému. Z tohoto důvodu je třeba k tabulkám přistupovat pomocí hesla. Tím však nezabráníme útokům tzv. „hrubou silou“. Všechny citlivé údaje v databázi je proto třeba šifrovat, a případnému útočníkovi tak zabránit ve zneužití systému.
Systémy na tvorbu internetových prezentací Bakalářská práce
22
Masarykova univerzita v Brně Fakulta informatiky
6 Implementace systému Tato kapitola popisuje konkrétní postupy a řešení použité při implementaci.
6.1 Technické požadavky Aplikace byla naprogramována ve vývojovém prostředí Borland Delphi 6 Enterprise Edition. Je určena pro 32-bitové operační systémy Windows. Pro běh aplikace je nutné mít nainstalované databázové rozhraní Borland Database Engine, které je použito k přístupu k databázovým službám. Aplikace může být spolu s databází umístěna na lokálním počítači, ale v případě, že požadujeme víceuživatelský přístup, je nutné je umístit na souborový server nebo jiný sdílený prostředek.
6.2 Uživatelské rozhraní Uživatelské rozhraní by mělo být jednoduché, přehledné a intuitivní. Snažil jsem se o co největší přehlednost, proto jsou všechny podstatné funkce přístupné přímo z hlavního okna, které se zobrazí po spuštění aplikace a korektní autentizaci uživatele.
6.2.1 Hlavní okno aplikace
Obrázek 7: Hlavní okno aplikace
Systémy na tvorbu internetových prezentací Bakalářská práce
23
Masarykova univerzita v Brně Fakulta informatiky
V hlavním okně jsou na záložkách umístěny tabulky se seznamy zveřejněných dokumentů a údajů. Rychlá manipulace s jednotlivými položkami je možná pomocí ikon umístěných nad jednotlivými tabulkami. Je možné provádět tyto základní akce: Ikona nový – Vloží nový záznam do tabulky a upraví příslušné soubory na serveru. Po jejím stisknutí se zobrazí okno, umožňující vložení dokumentu. Ikona upravit – Upraví existující vybraný záznam a upraví příslušné soubory na serveru. Úpravy jsou realizovány pomocí stejného okna jako při vložení dokumentu, pouze s upravenými odpovídajícími údaji. Ikona smazat – Smaže existující vybraný záznam a upraví příslušné soubory na serveru. Ikony nahoru a dolů – Umožňují řadit záznamy v tabulce. Ikona aktualizovat – Pokud došlo k seřazení záznamů v tabulce, je jejím prostřednictvím možné upravit příslušné navigační soubory na serveru. Klikací menu obsahuje ekvivalentní položky, které provádějí stejné akce. Ovládání dalších formulářů je také velmi intuitivní. Ve všech formulářích pro manipulaci se zveřejňovanými údaji je použito jednotného designu a stylu ovládání. Každé okno je rozčleněno na logické sekce, které jsou pro přehlednost a jednoznačnost ještě očíslovány podle obvyklého postupu při jejich vyplňování.
6.2.2 Přidání dokumentu
Obrázek 8: Přidání vyhlášky
Systémy na tvorbu internetových prezentací Bakalářská práce
24
Masarykova univerzita v Brně Fakulta informatiky
Tento formulář slouží ke vkládání nového dokumentu do systému. Je rozčleněn na čtyři oblasti, které se vyplňují shora dolů. Nejdříve je nutné otevřít dokument, který hodláme vystavit na www. K tomu slouží standardní dialog systému Windows – je použita komponenta TOpenDialog. Poté do editačního pole (komponenta TEdit) zapíšeme název, pod kterým bude dokument přístupný z navigační stránky. Tlačítkem „Zkopírovat název souboru“ můžeme rovněž do editačního pole přenést název otevřeného souboru. Dále je možné s pomocí dvou komponent TDateTimePicker nastavit datum a čas, nebo jednoduše kliknout na tlačítko „Nastavit aktuální“, které vloží systémový čas. Tyto údaje budou následně figurovat jako datum a čas zveřejnění dokumentu. Při vkládání oznámení nám systém umožní volbu, zda vložíme již existující dokument nebo vytvoříme nový. V prvním případě se otevře okno téměř shodné s oknem použitým pro přidávání vyhlášek či usnesení. Navíc obsahuje sekci umožňující zvolit, zda a kdy má být vložené oznámení automaticky smazáno. V případě požadavku na vytvoření oznámení dojde k otevření formuláře, který umožňuje přímou editaci oznámení. Jsme-li se zadáváním údajů hotovi, stiskneme v poslední oblasti tlačítko „Vložit“. Formulář se zavře, poté dojde ke vložení údajů do databáze a k přenesení dokumentu spolu s navigačními stránkami na server. V případě, že vkládáme editované oznámení, dojde k vytvoření nového souboru ve formátu html.
6.2.3 Úprava dokumentu
Obrázek 9: Úprava zveřejněného oznámení
Systémy na tvorbu internetových prezentací Bakalářská práce
25
Masarykova univerzita v Brně Fakulta informatiky
K úpravám dokumentů je použito stejných formulářů jako při jejich přidávání. Pro toto řešení jsem se rozhodl nejen z důvodu, abych zbytečně nezvyšoval velikost programu, ale zejména pro zajištění snadného ovladatelnosti programu uživatelem. Ten nebude zavalen množstvím různých oken, a rychle si tak na systém zvykne. Po zvolení funkce úpravy dokumentu se nám otevře okno s předvyplněnými údaji podle upravovaného dokumentu. Po změně údajů a následném stisknutí tlačítka „Vložit“ dojde k aktualizaci potřebných informací na serveru. Aktualizována může být nejen navigační stránka s údaji o publikovaných dokumentech, ale při změně samotného vloženého dokumentu dojde i k jeho nahrazení na serveru.
6.2.4 Přihlášení do aplikace
Obrázek 10: Přihlášení do aplikace Po spuštění programu a korektním načtení dat z databáze je zobrazeno přihlašovací okno. V rozbalovacím seznamu „Uživatelské jméno“ je vybráno jméno uživatele, který se naposledy přihlásil do systému. Tento údaj je ukládán v registru Windows pod kořenovým klíčem HKEY_CURRENT_USER, čímž je zajištěna jeho izolace pro jednotlivé uživatele. Vedle seznamu se také pro kontrolu zobrazuje login vybraného uživatele. Po zadání hesla a stisknutí tlačítka Ok je provedena kontrola hesla. To je v databázi uloženo jako dvojitě šifrované: nejdříve je proveden hash hesla algoritmem MD53, který je poté zakódován algoritmem 3DES4. Tímto je ztížen slovníkový útok na heslo uživatele, kterému je ještě navíc zabráněno vynucenou prodlevou při zadání špatného hesla. Pro realizaci kryptografických funkcí jsem využil volně šiřitelné kryptografické knihovny DCPcrypt5 od Davida Bartona. V případě, že zadáme třikrát špatné heslo, je zobrazeno chybové hlášení a aplikace se ukončí.
3
MD5 – hašovací algoritmus, produkuje 128 bitový digest 3DES – kryptovací algoritmus, používá klíč o šířce 192 bitů 5 knihovna je dostupná na http://www.cityinthesky.co.uk 4
Systémy na tvorbu internetových prezentací Bakalářská práce
26
Masarykova univerzita v Brně Fakulta informatiky
Po úspěšném přihlášení se podle údajů v databázi nastaví přístup k jednotlivým kategoriím dokumentů: uživatel s administrátorským oprávněním má přístup ke všem dokumentům, může také upravovat nastavení aplikace a pracovat s uživateli. Pokud uživatel nemá přidělena administrátorská práva, jsou pro přístup k jednotlivým kategoriím dokumentů použita práva pro tyto kategorie. Práva jsou v databázi šifrována, tím je umožněna detekce jejich napadení ať už jejich přímou editací, či pouhým zkopírováním např. od administrátora systému. V případě takové detekce je zobrazeno chybové hlášení a práva uživatele jsou nastavena na minimální. Po nastavení přístupových práv je zobrazeno hlavní okno aplikace s vybranou kategorií dokumentů, která byla uložena do registru Windows při posledním použití programu. Má-li uživatel přístupová práva pro manipulaci s oznámeními, je mu nabídnut výběr oznámení s uplynulou dobou vystavení. Vybraná oznámení jsou následně smazána.
6.2.5 Nastavení programu
Obrázek 11: Nastavení aplikace Administrátoři systému mají možnost nastavení parametrů aplikace. Tyto údaje jsou ukládány do souboru Setup.ini, který je umístěn ve stejném adresáři jako aplikace. Údaje je možné měnit jak přímo zapsáním požadované hodnoty do konkrétního editačního pole, tak prostřednictvím dialogových formulářů. Tato možnost je využita v údajích, které jsou nezbytné pro korektní běh aplikace, nebo které nejsou z bezpečnostních důvodů uloženy přímo v inicializačního souboru (heslo pro přístup na FTP server).
Systémy na tvorbu internetových prezentací Bakalářská práce
27
Masarykova univerzita v Brně Fakulta informatiky
Konfigurace integrovaného FTP klienta spočívá ve vyplnění internetové adresy serveru, uživatelského jména uživatele, který má na serveru zřízen účet, hesla tohoto uživatele, adresáře, ve kterém budou uloženy navigační soubory a jeho podadresáře, sloužícího k uložení souborů dokumentů. Adresáře je nutné mít na serveru již vytvořené, jinak systém při pokusu o úpravu dokumentů na FTP serveru zahlásí chybu při přenosu souborů. Konfigurace aplikace se provádí nastavením podadresářů, analogických adresářům na FTP serveru. V dalších sekcích máme možnost nastavovat jména souborů šablon a navigačních souborů. Systém využívá pro tvorbu navigačních souborů šablony, které můžeme libovolně přizpůsobovat našim požadavkům na vzhled a obsah. V šablonách je důležitý řádek „“, na jehož místo je vkládán navigační obsah. Chybí-li tento řádek, je navigační obsah vložen na konec souboru šablony.
6.2.6 Nastavení uživatelů
Obrázek 12: Nastavení uživatelů Formulář zajišťující práci s uživateli je přístupný také pouze administrátorům systému. Pomocí tohoto okna můžeme měnit přístupová práva jednotlivých uživatelů. Pro nastavování uživatelských hesel zajišťujících přístup do systému, zadávání nových uživatelů a mazání vybraných uživatelů slouží další dialogová okna. Při mazání uživatelů je nutné nahradit záznamy v tabulkách dokumentů, obsahující právě smazaného uživatele, některým existujícím uživatelem. Pokud bychom tuto akci neprovedli, přestaly by se nám v systému zobrazovat ty dokumenty, které upravil právě smazaný uživatel. Tento problém řeší dialogové okno „Smazání uživatele“.
Systémy na tvorbu internetových prezentací Bakalářská práce
28
Masarykova univerzita v Brně Fakulta informatiky
6.3 Instalace programu Program nainstalujeme tak, že zkopírujeme celý adresář „Publisher“ z přiloženého CD kamkoli na místní nebo síťový disk. Cílový adresář, kam jsme program zkopírovali, budeme v dalším textu označovat jako Adresář instalace. Pro provozování systému musíme mít nainstalováno databázové rozhraní BDE. Instalace se provádí standardně pomocí programu, který naleznete na přiloženém CD v adresáři BDE. Poté vytvoříme nový alias databáze pomocí nástroje BDE Administrator: spustíme BDE Administrator, kdekoli v tomto programu klepneme pravým tlačítkem myši a z kontextového menu vybereme „New…“. Objeví se pole určené pro výběr jména ovladače databáze. Ponecháme hodnotu STANDARD a stiskneme tlačítko Ok. Na místo, kde bliká kurzor, napíšeme jméno aliasu. Doporučuji zapsat „Publisher“, neboť takto bude program předkonfigurován. Nyní je třeba zadat cestu k adresáři, který bude aliasem označován. Klepneme do pravé části BDE Administratoru a v poli Path vybereme nebo napíšeme cestu k adresáři „Databaze“, který je umístěn v Adresáři instalace. Nyní můžeme BDE Administrator ukončit (potvrdíme změny). Pokud jsme zadali výše doporučený název aliasu, je nyní již možné spustit aplikaci. Zobrazí se přihlašovací okno s uživatelem „Správce“. Do editačního pole heslo nezadáváme nic a stiskneme Ok. Nyní jsme přihlášeni v systému jako administrátor a můžeme ho po nakonfigurování FTP serveru (viz Nastavení programu) začít používat. V případě, že jsme zadali jiný alias, je nutné spustit program Setup. Ten se nachází v adresáři aplikace a umožní zadání zvoleného aliasu databáze. Dále pokračujeme jako v předchozím odstavci. Možné problémy při spuštění aplikace: Aplikace při spuštění nahlásí „Nenalezen alias databáze“ a ukončí se: příčinami může být špatné nastavení aliasu v programu Setup nebo jsme dosud nenainstalovali BDE. Aplikace při spuštění zobrazí chybové hlášení „Chyba při přístupu k tabulkám …“ a ukončí se: příčinou je špatné nastavení hesla pro přístup k databázi. Heslo nastavíme také programem Setup (standardně je použito heslo „heslo“)
Systémy na tvorbu internetových prezentací Bakalářská práce
29
Masarykova univerzita v Brně Fakulta informatiky
7 Validace dokumentů na WWW 7.1 Standard SGML Jazyky pro tvorbu internetových dokumentů, mezi něž patří např. různé verze jazyka HTML a jazyk XHTML, jsou definované pomocí ISO standardu Standard Generalized Markup Language (SGML). SGML je metajazyk, což lze vyložit jako jazyk určený k definici jazyků (v našem případě značkovacích). Umožňuje popsat pravidla, kterými se musí řídit text v daném jazyce. Definice HTML je tedy tvořena sadou SGML pravidel, určujících syntax jazyka. Tato sada pravidel (gramatika) se nazývá Document Type Definition (DTD). Instance SGML dokumentu je tvořena deklarací (pokyny pro parser), DTD gramatikou a vlastním popisně označkovaným textem. V deklaraci jsou definovány abecedy: oddělovače (značky), rezervovaná jména, zakázané znaky, pravidla pro pojmenování, komentáře a parametry chování. Deklarace v dokumentu nemusí být uvedena, v tomto případě se používá referenční syntaxe. Gramatika je definována terminologií teorie formálních automatů: neterminály tvoří elementy, terminály pak entity (mohou mít atributy). DTD se k dokumentu připojuje pomocí značky (tagu) DOCTYPE, a to buď odkazem na soubor, nebo se přímo definuje uvnitř tagu. V současnosti můžeme použít několik verzí DTD: Standardy HTML 2.0 a HTML 3.2 vytvořily společně sdružení W3C6 a IETF7, zatímco standard HTML 4.0 (obsahuje standard XHTML) byl definován pouze sdružením W3C.
7.1.1 Možné použití SGML validace Standardů jazyka HTML existuje několik. Některá specifika podporuje pouze Netscape Navigator, jiná jsou zase doménou Microsoft Internet Exploreru, některá jsou už jenom zašlou minulostí a jiná zase světlou hudbou budoucnosti. V této nepřehledné situaci je užitečné vědět, zdali vytvářená stránka skutečně půjde načíst všemi zamýšlenými prohlížeči. Stránky můžeme kontrolovat pomocí různých verzí mnoha browserů, ty ovšem musíme mít nainstalovené na našem počítači. Tato cesta je ovšem značně nepohodlná, neboť počet nejpoužívanějších prohlížečů se blíží k číslu 10. Současný stav přibližuje následující graf, který jsem převzal z informačního serveru navrcholu.cz. Vidíme zde podíly jednotlivých prohlížečů na přístupech k nejnavštěvovanějšímu serveru – webovému rozhraní pro vyhledávání jízdních řádů Idos8. Záměrně jsem vybral tuto statistiku, neboť se nejedná o www stránky určené profesionálním uživatelům. Díky tomu nedochází například ke zkreslení způsobenému preferencí určitých operačních systémů, ke kterému bychom jistě dospěli při zpracování statistik odborných serverů typu linux.cz.
6
W3 Consortium, http://www.w3.org Internet Engineering Task Force, http://www.ietf.org 8 http://www.idos.cz 7
Systémy na tvorbu internetových prezentací Bakalářská práce
30
Masarykova univerzita v Brně Fakulta informatiky
Nejpoužívanější www prohlížeče 61,57 % - MS Internet Explorer 6.x (Win) 19,30 % - MS Internet Explorer 5.0x (Win) 14,06 % - MS Internet Explorer 5.5 (Win) 0,98 % - Opera 7.2x 0,70 % - Mozilla 1.5 0,58 % - MS Internet Explorer 4.x (Win) 0,38 % - Mozilla Firebird 0.7 0,37 % - Mozilla 1.4 0,22 % - Opera 7.1x 1,84 % - Ostatní (s podíly pod 0,2 %) Graf 1: podíly webových prohlížečů Možným řešením tohoto problému je použití SGML validace, tedy ověření korektnosti dokumentu na základě formální definice jazyka dokumentu. Ačkoli validace není primárně určena k ladění zobrazování dokumentu v různých prohlížečích, mohu říci, že se mi k tomuto účelu osvědčila. Tento proces totiž pomůže odstranit nestandardní elementy, které jsou nejčastější příčinou chybného zobrazení webové stránky.
7.1.2 SGML validátory SGML validátor je aplikace, která používá ke kontrole označkovaného textu parser. To je program, který na základě SGLM deklarace a DTD gramatiky vytvoří pro označkovaný text výstup Element Structure Information Set (ESIS). Tento výstup se skládá z informací o elementech použitých v označkovaném textu, v případě výskytu nekorektního zápisu podle dané DTD je jeho součástí informace o dané chybě. Validátor může být provozován lokálně jako běžný uživatelský program, nebo jako on-line služba, tzn. běží např. na WWW rozhraní a umožňuje okamžitou validaci dokumentů. Příkladem on-line validátoru je W3C MarkUp Validator9, který používá parser OpenSP. Je možné validovat jak lokální soubor pomocí uploadu, tak i dokument již vystavený na internetu zapsáním jeho URL. Pokud máme stěstí, je výsledkem validace stránka s oznámením, že daný dokument je validní podle konkrétní DTD. V opačném případě jsou nám vypsána chybová hlášení o prohřešcích v zápisu konkrétních značkovacích elementů.
7.1.3 Výsledky SGML validace Validní HTML dokument je dle mého názoru prvořadým předpokladem bezproblémové interpretace prohlížečem. Teprve pokud validátor prohlásí naše dokumenty za bezchybné, je načase řešit jejich případné špatné zobrazování v určitých prohlížečích. 9
http://validator.w3.org Systémy na tvorbu internetových prezentací Bakalářská práce
31
Masarykova univerzita v Brně Fakulta informatiky
Lze se ale setkat i s opačnými názory: „Já validátory nepoužívám, protože to, co považují za podstatné, nezajímá prohlížeče. A naopak: co je na stránce potřeba pro její vzhled a funkci, se nelíbí validátorům. Nezajímá mě procedura, která mi řekne, že podle nějaké teoretické definice je něco špatně. Aby moje stránky nebyly invalidní, nepíšu jim žádnou deklaraci DOCTYPE.“ 10 Co k takovému mínění dodat? Snad jen jednu z důležitých zásad programování: „Buď konzervativní v tom, co vytváříš; buď liberální v tom, co přijímáš“. WWW prohlížeče splňují první polovinu tohoto rčení tak, že se při špatném vstupu snaží uhodnout, co měl tvůrce dokumentu na mysli. Logicky ovšem musí nastat situace, kdy se ve stejné nestandardní situaci rozhodují zcela jinak. Právě to je hlavní příčinou, proč se některé stránky zobrazují v rozdílných prohlížečích zcela odlišně.
7.2 Standardy pro bezbariérový přístup V dnešní době se internet stává univerzálním informačním kanálem, kterým občan vyřizuje své každodenní záležitosti. Při tvorbě www stránek musíme mít proto na paměti, aby byly přístupné pro všechny skupiny občanů, to znamená i pro lidi s různým postižením. Tito lidé nemohou při přístupu k www stránkám používat běžné nástroje, jako například monitor nebo myš. Nevidomí a těžce slabozrací používají ke čtení internetových stránek tzv. asistivní technologie, mezi které patří například braillský řádek nebo screenreader – program, který předčítá text do audiovýstupu počítače. Z toho vyplývají různá omezení na obsah stránek: není možná navigace pomocí obrázků a skriptů, které dynamicky mění obsah stránky není možný přístup k obrázkům složitější tabulky nejsou vhodné (text je předčítán lineárně po řádcích tabulky) Lidé s těžkým pohybovým postižením obvykle nemohou používat k ovládání počítače běžnou myš. Tu nahrazují různé speciální klávesnice a ovládací prvky. Z toho vyplývá především omezená možnost navigace pomocí dynamických menu, která většinou reagují na přejetí ukazatelem myši. Řešením je buď takové elementy nepoužívat, nebo je přizpůsobit – například u obrázků uvádět jejich popisky pomocí atributu alt, či kromě dynamické navigace nabídnout ještě klasickou pomocí běžných odkazů.
7.2.1 Validace bezbariérového přístupu Příkladem validátoru bezbariérového přístupu je on-line služba Cynthia Says11. Tento validátor kontroluje dokumenty podle standardů 503 vlády Spojených států Amerických nebo podle standardu WCAG 1.0 konsorcia W3C. 10 11
e-zine Jak psát web, http://dusan.pc-slany.cz/internet http://www.cynthiasays.com Systémy na tvorbu internetových prezentací Bakalářská práce
32
Masarykova univerzita v Brně Fakulta informatiky
Validace se provádí většinou poloautomaticky, kdy se validátor vyjadřuje k určitým vlastnostem a podává doplňující otázky – například: „Obrázek xxxxxx.jpg má v atributu alt prázdnou hodnotu. Je jeho informační hodnota skutečně zanedbatelná?“ Tato služba kontroluje tyto vlastnosti elementů: všechny obrázky musí mít textový popis pomocí atributů alt nebo longdesc multimediální obsah (zvuk, video) musí mít přiřazen alternativní popis informace zprostředkované prostřednictvím barvy musí být zřejmé i bez ní, například z kontextu nebo značek dokumenty musí být čitelné i bez externích šablon kaskádových stylů pokud jsou použity klikací mapy, jsou navíc požadovány textové odkazy tabulky musí mít definovány hlavičky sloupců a řádků rámce musí být vybaveny titulky, které umožní identifikaci a navigaci v rámci je přítomna textová verze stránky, pokud bezbariérovost nelze zajistit jinak pokud je k zobrazení obsahu použito skriptů, informace jimi zprostředkované musí být ve formátu čitelném pro asistivní technologii pokud stránka vyžaduje ke svému prohlížení zásuvný modul, musí zprostředkovat odkaz na tento modul pokud je použito elektronických formulářů, tyto musí být uzpůsobeny k přístupu pomocí asistivních technologií musí být zprostředkována funkce sloužící k přeskočení navigační oblasti pokud je vyžadována časová odezva, uživatel na ni musí být upozorněn a musí mu být umožněna žádost o delší čas
Systémy na tvorbu internetových prezentací Bakalářská práce
33
Masarykova univerzita v Brně Fakulta informatiky
8 Závěr Tato práce mi pomohla prohloubit znalosti v oblastech systémů na tvorbu internetových prezentací a validace html dokumentů. Zdokonalil jsem se ve znalostech jazyka Object Pascal a vývojového prostředí Borland Delphi především v oblastech databázových aplikací. Výsledkem práce je funkční aplikace, která je v praxi nasazena na městském úřadě v Nové Včelnici a slouží pracovníkům tohoto úřadu k publikování na síti internet. V budoucnu bych se rád zaměřil na vylepšování aplikace například umožněním formátování vkládaného textu, což by v podstatě znamenalo integraci WYSIWYG html editoru.
Systémy na tvorbu internetových prezentací Bakalářská práce
34
Masarykova univerzita v Brně Fakulta informatiky
Použitá literatura Swan, Tom: Mistrovství v Delphi 4. Computer Press 1999. Borland Delphi 5 Developer’s Guide. Inprise Corporartion 1999. Šimůnek, M.: SQL – kompletní kapesní průvodce. Grada Publishing 1999. http://www.cityinthesky.co.uk – Projekt Davida Bartona zpracovávající kryptografické metody pro vývojová prostředí Borland Delphi, Kylix a C++ Builder. http://www.dbsvet.cz – Informační server zabývající se databázovými technologiemi. Sommergut, Wolfgang: Systémy pro správu obsahu. Články v časopise Computerworld, dostupné na http://www.cw.cz (říjen 2003).
Systémy na tvorbu internetových prezentací Bakalářská práce
35
Masarykova univerzita v Brně Fakulta informatiky
V tomto dokumentu je použito písmo Lido STF. Toto písmo je freeware. Střešovická písmolijna je poskytuje volně a zdarma pro nekomerční použití v domácnosti, ve školství pro soukromé učence apod. Více na http://www.pismolijna.cz
Systémy na tvorbu internetových prezentací Bakalářská práce
36