NET Genium
Informační a komunikační portál
NET Genium je framework pro tvorbu aplikací s webovým rozhraním, který umožňuje vytvářet webové aplikace a celé portály, integrovat stávající data a spravovat procesy několikanásobně rychleji, než bylo doposud běžné. Nejběžnějším typem webové aplikace vytvořené ve frameworku NET Genium je informační a komunikační portál.
Příjemné grafické prostředí NET Genia je ovládáno výhradně pomocí internetového prohlížeče z počítače umístěného uvnitř podnikové sítě nebo z libovolného místa v síti Internet, a dále také pomocí mobilního telefonu.
NET Genium se z pohledu svých uživatelů tváří jako běžná webová aplikace. Ve skutečnosti však jde o důmyslný modulární systém, složený ze sady navzájem propojených aplikací. Síla NET Genia spočívá v možnosti tvořit jednotlivé aplikace zcela samostatně s pomocí zabudovaného intuitivního návrháře.
Technické parametry
NET Genium je webová aplikace naprogramovaná ve vývojářském nástroji MS Visual Studio .NET 2003 v jazyce C#. Ke své činnosti vyžaduje platformu .NET a webový server IIS (Internet Information Server) společnosti Microsoft současně s databázovým strojem používaným pro ukládání svých dat. Vedle MS SQL Serveru lze použít jeho bezplatnou verzi Express Edition / MSDE (MS SQL Server Desktop Engine) či zdarma dostupný databázový server Firebird od společnosti Firebird Foundation Incorporated. Již z použité technologie vyplývá, že musí být NET Genium nainstalováno na počítači s operačním systémem MS Windows, který se chová jako webový server. Podmínkou tedy není serverová verze operačního systému (např. MS Windows Server 2000), ale přítomnost IIS.
NET Genium umožňuje fulltextové prohledávání souborových příloh formátu DOC, TXT a PDF. Z toho důvodu vyžaduje službu Indexing Service, která je součástí operačního systému MS Windows, a dále aplikaci Adobe PDF iFilter.
Klientské stanice vyžadují pro přístup do NET Genia vedle platného připojení k webovému serveru NET Genia pouze internetový prohlížeč. Komunikace mezi klientskými stanicemi a serverem může být zabezpečena protokolem SSL.
Systém uživatelských práv
NET Genium je založeno na systému uživatelských účtů a skupin. Každý uživatel má své osobní nastavení, které ho provází po celou dobu práce v systému a to se také odráží v rozsahu přístupných aplikací a dat. Po vyvolání NET Genia v okně internetového prohlížeče se musí každý uživatel přihlásit pod svým uživatelským jménem a heslem. Každé takové přihlášení vyžaduje jednu uživatelskou licenci. Systém však může být nakonfigurován i tak, aby zobrazoval informace také anonymním uživatelům, kteří se do systému nepřihlásili a pro práci v NET Geniu proto uživatelskou licenci nepotřebují. NET Genium automaticky monitoruje využívání jednotlivých částí informačního portálu jeho uživateli a protokoluje neplatné pokusy o přihlášení do systému.
NET Genium podporuje dva základní druhy uživatelských oprávnění. Běžné uživatelské, které využívá převážná většina jeho uživatelů a dále administrátorské, umožňující svým držitelům operace související se správou informačního portálu. Podle druhu oprávnění se informační portál zobrazuje buď v běžném uživatelském prostředí, nebo v administrátorském režimu, který mimo jiné dovoluje libovolné vytváření či modifikaci jednotlivých komponent systému – aplikací. V NET Geniu může existovat více uživatelů, kteří mají administrátorská práva a tudíž mohou informační portál spravovat.
Ovládací plocha
Ovládací plocha se skládá ze tří základních částí:
- Záhlaví je tvořeno volitelným logem, názvem informačního portálu, jménem aktuálně přihlášeného uživatele, aktuálním datem, odkazem na odhlášení uživatele nebo opětovné přihlášení pod jiným uživatelským jménem a dále seznamem přístupných aplikačních skupin
- Navigační oblast je tvořena volitelným logem, seznamem dostupných aplikací a dále sekcí „Moje nastavení”, kde lze provádět nastavení portletů a oblíbených položek
- Hlavní okno zobrazuje tři druhy stránek:
- Portlety neboli úvodní stranu informačního portálu
- Nahlížecí stránky
- Editační formuláře
Aplikace
NET Genium je důmyslný modulární systém složený ze sady navzájem propojených aplikací. Aplikace slouží k zadávání uživatelských dat, která jsou následně ukládána do databázových tabulek, a umožňují jejich zobrazování. Příkladem aplikace může být např. osobní adresář s databázovou tabulkou „Kontakt” či plánovací kalendář s databázovou tabulkou „Termín”.
Filosofie NET Genia vychází z předpokladu, že jakoukoliv aplikaci lze vytvořit ze dvou základních stavebních jednotek aplikací – editačních formulářů a nahlížecích stránek. Editační formuláře slouží k editaci jednoho datového záznamu. Nahlížecí stránky zobrazují více záznamů najednou a slouží k prohlížení, filtrování a prohledávání záznamů. Dále pak poskytují navigační a ovládací prvky pro otevírání editačních formulářů. Editační formuláře a nahlížecí stránky mohou obsahovat tlačítka, která slouží k vyvolávání událostí.
Veškeré aplikace NET Genia lze tvořit s pomocí zabudovaného intuitivního návrháře, který je přístupný v administrátorském režimu. Na vytváření a modifikaci aplikací mají tedy právo pouze uživatelé patřící do skupiny administrátorů. Výsledný portál vidí stejně jako běžní uživatelé, pouze s tím rozdílem, že se jim zobrazují navigační prvky a ovládací nástroje určené k modifikaci aplikací či jejich částí. Tvorba aplikací se skládá z vytváření editačních formulářů, nahlížecích stránek a jejich vnitřních ovládacích prvků.
Editační formuláře
Každá databázová tabulka musí mít určité rozhraní, ve kterém je možné nastavit její strukturu resp. seznam databázových sloupců, ze kterých se skládá. Toto rozhraní musí zároveň umožňovat nastavení vzájemných závislostí s dalšími databázovými tabulkami. Tímto rozhraním je v NET Geniu editační formulář, který uchovává metadata o databázových tabulkách. Říká tedy, jaké databázové sloupce do databázové tabulky náleží. Editační formulář je současně i grafickým rozhraním, které uživatelé používají pro zápis informací do databáze resp. editaci dat v databázové tabulce. Každou databázovou tabulku tedy reprezentuje jeden editační formulář. Např. databázová tabulka „Kontakt” může obsahovat sloupce „Jméno”, „Příjmení” a „Telefon”. Její editační formulář pak obsahuje zadávací pole, která uživatel vyplní příslušnými hodnotami, chce-li záznam uložit do databáze. Např. zadávací pole „Jméno” vyplní hodnotou „Jan”, zadávací pole „Příjmení” hodnotou „Novák” atd.
NET Genium automaticky protokoluje historii záznamů všech databázových tabulek, tj. seznam všech změn, které kdy byly v záznamu provedeny. Je tedy snadno dohledatelné, kdo, kdy a jakou úpravu provedl. Dokonce je možné v historii dohledat již smazané záznamy. V některých případech však může být protokolování zbytečné a vzhledem k tomu, že se historie záznamů může ve velké míře podílet na výsledné velikosti databáze, je možné protokolování historie databázové tabulky zakázat.
Nahlížecí stránky
Informace ukládané v databázových tabulkách jsou obvykle zobrazovány na nahlížecích stránkách ve formě nahlížecích tabulek. Nahlížecí stránka umožňuje:
- Zobrazování záznamů a vizuálních ovládacích prvků
- Otevírání záznamů v příslušném editačním formuláři za účelem jejich editace
- Vyvolání události aktivací tlačítka
Ovládací prvky
Tak jako se aplikace skládají z editačních formulářů a nahlížecích stránek, skládají se i editační formuláře a nahlížecí stránky z jednotlivých prvků. V případě editačního formuláře jsou to zadávací pole, rozbalovací seznamy, nadpisy, grafické oddělovače atd. Naopak u nahlížecích stránek jde o nahlížecí tabulky, kalendáře, grafy apod. Všechny tyto prvky obecně nazýváme ovládací prvky. Zaměříme-li se na editační formulář, je evidentní, že ovládací prvky, které slouží pro zadávání informací od uživatele, reprezentují databázové sloupce databázové tabulky. Takové ovládací prvky nazýváme databázové. Editační formulář je případ, kdy jsou pohromadě databázové ovládací prvky současně s běžnými vizuálními, které mají pouze informativní či estetický význam. Mohou sloužit např. pro grafické zpřehlednění editačního formuláře nebo mohou obsahovat důležité instrukce pro uživatele při jejich vyplňování. Nejsou výjimkou ani ovládací prvky zajišťující interaktivitu editačního formuláře tím, že v sobě obsahují programový kód se specifickými funkcemi.
Editační formulář je tedy složen z ovládacích prvků, jejichž převážná většina je databázových. Naopak nahlížecí stránka obsahuje ovládací prvky, které obvykle slouží pro různé formy nahlížení na existující záznamy databázové tabulky. Ovládací prvky jsou vždy řazeny vertikálně pod sebou v jednom sloupci. V editačním formuláři lze mezi jednotlivými ovládacími prvky přeskakovat dopředu pomocí klávesy TAB a zpět pomocí kombinace kláves SHIFT+TAB. Aby měl editační formulář vůbec nějaký smysl, musí obsahovat alespoň jeden databázový ovládací prvek. Stejná situace je u nahlížecí stránky, která musí obsahovat alespoň jeden ovládací prvek, např. nahlížecí tabulku, kalendář či graf.
Portlety
Úvodní strana informačního portálu je rozdělena do tří sloupců a zobrazuje vizuální komponenty neboli portlety. Portlety slouží k současnému náhledu na rozdílné informace, pro uživatele obvykle ty nejaktuálnější. Portlety jsou fakticky zjednodušené ovládací prvky zvolené podle potřeb svých uživatelů. Nastavením portletů uživatelé individuálně volí, jaké informace chtějí mít ve sloupcích zobrazené.
Oblíbené položky
Ke zjednodušení orientace v informačním portálu slouží oblíbené položky. Ty se odkazují na nejčastěji využívané aplikace resp. jejich nahlížecí stránky.
Databázový dotaz
Databázový dotaz je jedním z klíčových elementů celého NET Genia. Databázový dotaz říká, jaké záznamy budou zobrazeny v portletech, nahlížecích tabulkách, kalendářích, grafech, jaké hodnoty budou zobrazeny v rozbalovacích seznamech apod. NET Genium obsahuje vlastní grafický návrhář databázových dotazů. Proto nevyžaduje od administrátorů, kteří vytvářejí aplikace a tedy i databázové dotazy, větší než elementární znalosti jazyka SQL.
Skript
Skript je programový kód, který se spouští stisknutím tlačítka umístěného v editačním formuláři nebo nahlížecí stránce. Jeho spuštění závisí na rozhodnutí uživatele informačního portálu. Skript obvykle načítá záznamy či hodnoty z databázových tabulek, vyhodnocuje situace, kontroluje údaje zadávané uživatelem, zapisuje do databáze či rozesílá e-mailové zprávy.
V administrátorském režimu je možné podobu skriptu upravovat pomocí návrháře skriptů. Skript se skládá z jednotlivých příkazů, které jsou ve formě řádek skriptu vkládány pod sebe. Každá řádka skriptu obsahuje instrukce, co se má vykonat. NET Genium prochází řádku po řádce a v závislosti na instrukcích vykonává příslušné operace. Jednoduchým příkazem skriptu může být např. deklarace proměnné, uložení hodnoty do proměnné, porovnání hodnot dvou proměnných mezi sebou či porovnání hodnoty zadané uživatelem v editačním formuláři s proměnnou, odeslání e-mailové zprávy apod.
Skript je programovacím jazykem, který má vlastní syntaxi, avšak nepodporuje programové bloky. Jeho činnost je zajišťována pouze sadou již zmíněných předdefinovaných příkazů vkládaných do návrháře skriptů. Na první pohled elementární příkazy skriptu vykonávají ve skutečnosti mnohdy velmi složité operace a jsou navrženy tak, aby dokázaly uspokojit co nejširší spektrum požadavků na funkcionalitu.
Jazyk C# nebo Visual Basic
Skripty a události ovládacích prvků v editačních formulářích a nahlížecích stránkách mohou obsahovat volání programových bloků napsaných v jazyce C# nebo Visual Basic. Této možnosti se využívá zejména pro:
- Generování speciálních ovládacích prvků skládáním HTML kódu, nebo
- obsluhování událostí pomocí složitějších algoritmů.
Tisk
NET Genium umožňuje tisk záznamů z nahlížecích tabulek do tiskových šablon. Spouští se stisknutím tlačítka umístěného v editačním formuláři nebo nahlížecí stránce. Tiskové šablony mohou být soubory formátu XLS, DOC nebo HTML. Formát XLS se pro vytváření tiskových šablon vřele doporučuje, už jen z důvodu snadné tvorby dokumentů v prostředí aplikace MS Excel.
Synchronizace dat
Synchronizace dat slouží k udržování věrné kopie databázové tabulky v několika dalších databázích na vzdálených instalacích NET Genia najednou, např. na jiném serveru. Jde o symetrickou synchronizaci dat (multiple master), kdy změna v jednom exempláři databáze vyvolá požadavek na provedení stejné změny v dalších exemplářích.