Webové informační systémy

Pro pochopení nově vytvořené teorie je nejprve vhodné si představit, co rozumíme pod pojmem webový informační systém. Zjednodušeně by bylo možné říci, že se jedná o klasický informační systém navržený pro provoz v podmínkách world–wide webu. Ovšem tato jednoduchá definice by potom zahrnovala i jednoduché aplikace provozované právě v uvedeném prostředí. Tyto aplikace je však jednodušší vytvářet bez nutnosti nalézat složité postupy pro řešení celé řady aspektů vyplývajících z odlišnosti informačních systémů na webu a v prostředí klient/server. Naopak celá řada systémů vytvořených v sítích podobajících se vzdáleně prostředí www není podle této definice webovým informačním systémem, přesto jsou myšlenky zpracované naší teorií pro ně použitelné.

Proto definujeme jako webový informační systém (WIS) takový parametrizovaný informační systém, který je provozován v nelineárním nestavovém síťovém prostředí (a nabízí tudíž svým uživatelům v maximální míře přizpůsobení jeho chování pomocí nastavení parametrů). Takový systém pak mj. řeší problematiku autentizace, auditování, modularizace, serializace, oprávnění, proměnlivého datového modelu, personalizace, hiearchického zařazení uživatelů a samodokumentace.

V současné době byly připraveny postupy zahrnující následující oblasti běžně řešené při návrhu a realizaci webových informačních systémů:

Odstranění nelinearity WIS – každý programátor aplikací na www již řešil problém, kdy uživatel začal užívat informační systém v neočekávaném bodu (např. od konce sekvence požadavků), pokusil se o návrat v posloupnosti operací (tlačítko Zpět v prohlížeči) či zopakoval některý požadavek (tlačítko Obnovit v prohlížeči). Tento problém je řešen pomocí serializace požadavků – jednotné identifikace požadavků, jejich posloupnosti a jednoznačnosti.

Odstranění nestavovosti WIS – specifičností prostředí www oproti klasickému prostředí klient/server je nestavové programování – jednotlivé požadavky a prováděné operace nemají mezi sebou žádnou návaznost (podobně nemají pořadí ani vstupní bod – viz nelinearita) a jsou ve své postatě izolovanými přístupy k informačnímu systému. Posloupnost jednotlivých operací (např. několikakrokový výběr či výběr dat – editace – kontrola – uložení) je pak nutné rozložit do izolovaných kroků a zajistit transport dat mezi těmito kroky. Principy a postupy WIS nabízí dva mechanismy – přenos parametrů mezi jednotlivými požadavky nebo sklad parametrů relace.

Autentizace a autorizace – zjištění a prokázání totožnosti jsou často řešené problémy i v běžných informačních systémech, ovšem u nestavového a nelineárního WIS představují značný problém, který je ještě zkomplikován omezenými možnostmi klientské aplikace – např. webového prohlížeče. Principy WIS nabízí řešení pomocí tiketování (ať již veřejného nebo pomocí cookies), příp. autentizací závislou na platformě (modul pro server Apache). Tiketování (jako metoda vystavěná nad odstraněním nestavovosti WIS) je obecně přenositelnější a nabízí větší možnosti v řízení relace (odhlášení, doba přihlášení, spotřeba zdrojů apod.).

Personalizace – přizpůsobení informačního systému potřebám a zvyk- lostem uživatele nespočívá jen v definici vzhledu systému (designy, parametrizace výstupního chování), ale též v nastavení systému pomocí systémových politik (ovlivňují chování systému) a definici zástupných aplikací (umožňující vytvořit vlastní uživatelské aplikace pomocí předdefinovaných komponent), budování portálových aplikací a tvorbě navigačního systému.

Auditování – auditování představuje evidenci změn provedených v informačním systému – postupy WIS nabízí nástroje pro sledování jednoduchého auditu (kdo a kdy provedl poslední změnu) a pro zajištění plného auditu (historie změn příslušného údaje).

Logování – na rozdíl od auditování umožňuje logování sledovat posloupnost práce jednotlivých uživatelů – jak z hlediska bezpečnosti, tak z hlediska podpory uživatelů (často opakované sekvence kroků lze nahradit zástupnou aplikací, tápající uživatele je možno nasměrovat, proškolit příp. jim nabídnout alternativní řešení problému). WIS nabízí jak úplné logování (vše a trvale) tak různé možnosti posuvného logování (rotující logy, postupná sublimace starých parametrů a logů).

Dlouhodobé úlohy – každý systém dříve či později vyžaduje zpracování úloh, jejichž běh přestává být interaktivní. V případě WIS je pak interaktivita ztížena nutností vystavit odpověď na požadavek v relativně krátké době a řada sestav se tak z kategorie interaktivní aplikace přesouvá do dlouhodobě běžící úlohy. Principy WIS nabízí řešení pro dlouhodobé jednorázové i opakované úlohy včetně explicitně vyvolaných úloh. Mechanismem dlouhodobých úloh lze řešit též propojení informačního systému na externí systémy (vzdálené datové toky).

Systém oprávnění – každý informační systém definuje kategorie uživatelů, kteří smějí provádět určité třídy úloh a tak rozlišuje různě privilegované uživatele. Vytváří tak určitý právní systém. Rozsáhlé systémy potom tuto problematiku komplikují existencí hiearchie uživatelů (např. pracoviště, geografická příslušnost apod.). WIS umožňuje obvykle několik typů právních systémů. Nejjednodušší právní systém řeší problematiku uživatelů a jim přiřazených oprávnění, nejrozsáhlejší právní systém umožňuje mimo uživatelů definovat též skupiny uživatelů (a skupiny ve skupině), ale také skupiny oprávnění (tzv. role, včetně role obsahující jiné role) a dávají do souvislosti objekty práva (uživatele, skupiny uživatelů) s právy (příp. rolemi), subjekty práva (např. hiearchická pracoviště, geografickou oblast) a atributy práva (čtení, zapisování, delegování práva apod.).

Delegáti – při přechodu organizace od papírové administrace k elektro nické lze nalézt uživatele neschopné provádět agendu v elektronické podobě (nedůvěra k počítačům, obtíže s jejich zvládnutím, nedostatek času pro zvládnutí nové technologie). Aby tito uživatelé nemohli zkomplikovat zavádění systému, je možné zavést definici tzv. delegátů, což jsou osoby vykonávající funkce v příslušných rodinách aplikací za původní uživatele. Jinou oblastí využití tohoto přístupu ve WIS je definice zastupitelů (delegátů) např. na úrovni ředitel – sekretariát. Tak může legálním způsobem přistupovat sekretářka ředitele do rodin aplikací Organizace času a Pošta, aniž by např. přistupovala k rodině aplikací Mzdy, jak by se určitě stalo při zabezpečení jejího přístupu sdílením stejného hesla mezi ředitelem a ní. Stejné myšlenky delegátů pak mohou využít vývojáři k definici tzv. superpráv, což je oprávnění zobrazit si informační systém v takovém pohledu, v jakém jej vidí konkrétní uživatel (v rozsahu příslušné rodiny aplikací) – tato skutečnost vývojářům a integrátorům (provozovatelům systému) umožňuje odhalit problémy vzniklé špatně nastavenými právy, špatnou definicí šablon, příp. podávat uživatelům rady přesně podle situace, v jaké se uživatel nachází.

Formáty a sestavy – v závislosti na použití šablonování a právního systému dochází k potřebám přizpůsobovat výstupní sestavy příp. prezentované údaje v informačním systému (formáty). WIS nabízí postup pro přípravu modulu umožňujícího definici sestav a formátů zobrazení pomocí značkovacího jazyka, který obsahuje vizuální formátovací značky dvou tříd abstrakcí (vizuální, formátové) a datové značky podporující ostatní možnosti WIS (šablonování, mutace, vícejazyčnost, právní systém). Výstupem tohoto modulu pak nemusí být jen zobrazený výstup v prohlížeči, ale prakticky libovolný výstupní formát (vhodně popsatelný) – TEX, HTML, XML, RTF, CSV, proprietární formáty MS Office apod.

Vícejazyčnost – každý systém je dříve či později nutné nasadit v několika jazykových mutacích. WIS přidává známou vlastnost jazykových překladů do možností parametrizace WIS (uživatelé s příslušným oprávněním mohou sami definovat další překlady systému).

Systém výstupů a tisk – problematika tisku sestav na tiskárnách z webového prostředí je velmi komplikovaná, existuje však řešení umožňující zajišťovat kvalitní výstup na síťových tiskárnách vč. tiskáren připojených ke stanicím s operačním systémem Microsoft Windows nebo Unix.

Modularita – pro dosažení maximální efektivnosti koloběhu návrh – vývoj – testování – provoz přináší principy WIS důsledné uplatnění modularity na všech úrovních rozlišitelnosti (tj. modul, rodina aplikací, aplikace, skript). Tak je možné libovolně měnit počet vývojářů pracujících na konkrétním modulu, průběžně uvolňovat výsledky, připravovat aplikace pomocí prototypingu, opravovat chyby a modernizovat systém v závislosti na aktuálních požadavcích uživatelů systému.

Samodokumentace – nejvíce zanedbávanou částí při vývoji informačního systému je dokumentace (jak uživatelská, tak především vývojářská). WIS poskytuje nástroje pro podporu uživatelů (nápovědy, kontexové nápovědy, často pokládané otázky, slovníček pojmů, doporučené postupy, on-line poradce, nástroje pro evidenci chyb), tak pro vývojáře (dokumentace na třech úrovních – dokumentační texty, dokumentace datového modelu (komentovaný model, schéma modelu), dokumentace programových kódů, nástroje pro plánování vývoje – úkoly (todo), časový plán (workflow), úkolování integrace a provozu). Tyto nástroje v maximální míře generují dokumentační texty, aby zredukovaly práci vývojářů v této důležité oblasti na minimum.

Jednotnost ovládání – WIS definuje vhodné postupy, kterými lze vytvořit pěkně vypadající i komfortně ovladatelné aplikace i z jedoduchých komponent, jaké např. pro definici formulářů nabízí jazyk HTML. Tyto postupy lze snadno převést na objekty programovacích jazyků a tak velmi elegantně realizovat aplikace zajišťující vstupy a výstupy.

Indexování – řada databázových systémů (např. Oracle) nabízí funkce na fulltextové indexování podřetězců, ale toto indexování není ve všech databázích stejné a není uživatelsky jednoduše konfigurovatelné. Proto WIS přidává několik typů indexů, pomocí kterých si mohou uživatelé zvolit skladbu indexů pro určité vyhledávání a výběry (např. k objektu uživatel si nadefinovat indexování podle jména, příjmení, rodného příjmení, čísla karty, rodného čísla, osobního čísla zaměstnance, čísla čipu v bezkontaktní kartě a identifikačního čísla osoby v systému). Vyhledávací modul pak umožňuje jednodušší zapojení těchto indexovaných výběrů do ostatních formulářů v systému.