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.