Nové trendy v kvalifikaci objektů

Slides:



Advertisements
Podobné prezentace
Hotel Tatra, Velké Karlovice 23. – 25. dubna 2007 S4U – Seminář o Univerzitním informačním systému 1 Osobní management Tomáš Procházka.
Advertisements

Univerzitní informační systém IV., Svojanov 2005 Financování studií Ing. Tomáš Klein
Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Kateřina Raichová. Materiál je publikován pod licencí Creative Commons. ze sady:3tematický.
Projekt Informační a vzdělávací portál Libereckého kraje I CZ.1.07/1.1.00/ I Školení pro uživatele portálu.
Inf Používání a tvorba databází. Výukový materiál Číslo projektu: CZ.1.07/1.5.00/ Šablona: III/2 Inovace a zkvalitnění výuky prostřednictvím ICT.
Ověřené výstupy z ISKN elektronická značka Jiří Formánek
Hodnocení kvality výuky 2014 – 2015 LS Říjen 2015.
Ekonomika organizací Pracovní výkon a jeho odměňování.
Systém správy dokumentace akreditované zkušební laboratoře Bc. Jan Randl, 4912.
Mgr. Bedřich Myšička vrchní ředitel sekce ekonomické Sekce ekonomická 10. dubna 2014.
1 Obhajoba diplomové práce Sluneční záření a atmosféra Autor: Tomáš Miléř Vedoucí: Doc. RNDr. Petr Sládek, CSc. Oponent: RNDr. Jan Hollan BRNO 2007Katedra.
Prostředí pro provoz IS Vývoj informačních systémů.
Co nového ve VVIS Tereza Černá
Název kapitoly Název podkapitoly Text Schvalovací proces + hodnoticí kritéria Jakub Krátký Praha, 5. května 2016.
Principy Základních registrů Ing. Ondřej Felix, CSc.
Software Licence a distribuce Karel Nymsa Dotkněte se inovací CZ.1.07/1.3.00/
Vnitřní předpisy účetní jednotky Porada odboru veřejné správy, dozoru a kontroly Ing. Tomáš Sluka Ministerstvo financí odbor Regulace a metodika účetnictví.
Univerzitní informační systém III., Lednice 2004 Vývoj a koncepce nového univerzitního webu Ondřej Kudlík
Univerzitní informační systém IV., Svojanov 2005 Databáze pro UIS provozovaný na jiné vysoké škole Ing. Aleš Kutín
Univerzitní informační systém III., Lednice 2004 Nový nový právní systém Ing. Aleš Kutín
Vyhláška č. 326/2006 Sb., o atestačním řízení pro elektronické nástroje Mgr. Martin Plíšek.
Úvod do databází MS Access (1).
Povolání, zaměstnání, práce
PŘIHLÁŠENÍ K ELEKTRONICKÉ EVIDENCI TRŽEB
Nadpis prezentace Zdeněk Tišl
Přijímací řízení pro rok 2008/9
METODIKA ZAVÁDĚNÍ UIS NA JINÝCH UNIVERZITÁCH
Evaluace předmětů studenty (Anketky)
DOKUMENTACE ANEB CO CHCETE ZLEPŠIT
Způsoby zápisu algoritmů
Úloha bodového systému
Číslo projektu CZ.1.07/1.5.00/ Číslo materiálu
Tématické vyhledávání aneb nový Vyber.pm
Přehled a stav avizovaných systémových úprav
Architektura UIS Bc. Tomáš Procházka Sekce jádra systému Vývojový tým Univerzitního informačního systému Mendelova zemědělská a lesnická univerzita v.
Edgecam.
Licenční smlouva autorská JUDr. E. Kadlecová ZS 2011/12
Algoritmizace - opakování
Přístupový systém aneb kontrola vstupů
Financováno z ESF a státního rozpočtu ČR.
Systém jednotné autentizace - SJA
UNIVERZITA PALACKÉHO V OLOMOUCI
Inf Tabulkový procesor - formátování
Databáze MS ACCESS 2010.
Oblast: Dobré životní podmínky zvířat
Souběh Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu ISSN: 
Historičtí absolventi v UIS
Schvalovací proces + hodnoticí kritéria
Vliv změn ve Studijním a zkušebním řádu na registrace a zápis studentů
ZÁKLADNÍ ŠKOLA, JIČÍN, HUSOVA 170 Číslo projektu
Novinky v Záznamníku učitele
Schvalovací proces + hodnoticí kritéria
Digitální učební materiál
Regionální operační program regionu soudržnosti Střední Morava
Informatika pro ekonomy přednáška 8
GDPR: ochrana osobních údajů
Uživatelská příručka DuoTrainin
Změny právní úpravy ochrany přírody a krajiny
MISYS - Pasporty.
Technická Evidence Zdravotnických Prostředků 1
Portál PUBLIKACE jako nástroj evidence výsledků vědeckovýzkumných aktivit Situace ke konci roku 2016 Cíl na rok 2017 – z nástroje dílčích sběrů vytvořit.
Materiál byl vytvořen v rámci projektu
Digitální gramotnost Informatické myšlení
A5M33IZS – Informační a znalostní systémy
Analýza informačního systému
Klíčové aktivity projektu
Informatika pro ekonomy přednáška 8
Informační systém základních registrů
Seminář o stavebním spoření
Zákoník práce 2 – Vznik a zánik pracovního poměru
Transkript prezentace:

Nové trendy v kvalifikaci objektů Ing. Aleš Kutín kutin@uikt.mendelu.cz Univerzitní informační systém III., Lednice 2004

Obsah Opakování Co je nového Parametrické kvalifikátory Dynamické kvalifikátory Aktuální problémy Diskuse, dotazy Univerzitní informační systém III., Lednice 2004

Opakování kvalifikátor (Q) - mechanizmus pro výběr podmnožiny objektů daného typu splňující určité vlastnosti kvalifikátor je: příkaz SELECT jazyka SQL vracející sloupec identifikátorů objektů dané třídy (ID uživatele) databázová entita (číselník kvalifikátorů) třída kvalifikátorů – dána typem omezovaných objektů (uživatelé -> číselník uživatelů -> uživatelské kvalifikátory mechanismus implementován na DB úrovni (PL/SQL) Univerzitní informační systém III., Lednice 2004

Opakování stavebním kamenem kvalifikátorů jsou podmínky (student programu, zaměstnanec ústavu, předmět fakulty,...) kombinací různých podmínek lze postihnout velice specifické skupiny kvalifikátor uložen v DB strukturovaně (podmínky + jejich hodnoty), sestavení dotazu a vyhodnocení je automatizováno hlavní výhoda a smysl existence: odkazovatelnost – použití všude, kde je potřeba uchovat seznam objektů dané vlastnosti nikoliv jeho výčtem, ale specifikací vlastností „vedlejší“ výhoda: nahrazení SELECTů v aplikacích Univerzitní informační systém III., Lednice 2004

kvalifikátor = skupina (uživatelů) Opakování podrobný popis principů a postupů jádra kvalifikátorů je mimo rozsah příspěvku běžný uživatel, integrátor i aplikační programátor se bez jeho znalostí obejdou pro pochopení dalšího výkladu, stejně jako ovládání aplikací využívajících Q postačí pamatovat, že: kvalifikátor = skupina (uživatelů) detailnější pojednání o konceptu lze najít: loňská prezentace „Kvalifikátory“ Diplomová práce autora Univerzitní informační systém III., Lednice 2004

Co je nového po 1,5 roce ostrého provozu se kvalifikátory staly nedílnou součástí jádra UIS za rok uplynulý od úvodní prezentace se mnohé změnilo ... dále rozvíjel systém implicitního přidělování (podrobně popsaný loni) – v současnosti přes 20 subsystémů, dnes plně standardizováno řada možností zmíněných před rokem byla implementována (dokumentový server, dvacítky) další aplikace na své nasazení teprve čekají, jiné se ukázaly jako „slepá ulička vývoje“ nová řešení si vyžádala četné zásahy do jádra systému kvalifikace (PKG_KVALIFIKATOR), základní principy se ovšem ukázaly jako dostatečně obecné a flexibilní („šetrné znásilňování“) Univerzitní informační systém III., Lednice 2004

Parafikátory parametrické kvalifikátory (parafikátory) rozšiřují koncept kvalifikace o možnost zadat hodnotu vybrané podmínky (podmínek) až v momentě vyhodnocení běžné kvalifikátory ‘Studenti PEF’, ’Studenti AF’, ’Studenti LDF’ tak lze nahradit jediným parafikátorem ‘Studenti dané fakulty’ akceptujícím jako parametr ID fakulty v principu se parametrické a klasické kvalifikátory neliší, pracují se stejnými podmínkami a vyhodnocují se stejně parametrický kvalifikátor je jednoznačně určen svým ID a dále hodnotami parametrů (rozdíl oproti klasickým) podporovány jsou až čtyřparametrické kvalifikátory (v praxi jednoznačně převládají jednoparametrické) UNION parafikátorů je také implementován Univerzitní informační systém III., Lednice 2004

Parafikátory v DS primárním důvodem nasazení parametrických kvalifikátorů byla nová správa složek v dokumentovém serveru (DS) původní koncept automatických nástěnek byl zobecněn a hromadná správa oprávnění zajištěna parafikátory nový pojem v DS – typ automatické složky typ (nástěnka ústavu, předmětu) odpovídá nějaké databázové entitě (pracoviště, předměty) zakládání a rušení složek zajišťují klasické kvalifikátory odpovídajících tříd (první použití „neuživatelských“ Q) zvláštní tzv. funkční parafikátory umožňují stromovou strukturu vytvářených složek (autom. nástěnka ústavu je vytvářena pod nástěnkou odpovídající fakulty) Univerzitní informační systém III., Lednice 2004

Parafikátory v DS automatická složka jednoznačně identifikována svým typem (fakultní složka) a parametrem (ID fakulty) hlavní využití parafikátorů: automatická práva automatické složky u každého typu autom. složky evidovány uživatelské parafikátory s odpovídajícími právy nová automatická nástěnka dostává při založení parafikátory definované pro daný typ, do nichž je dosazen parametr složky další implicitní práva vkládá správce pomocí parametrických i klasických kvalifikátorů refresh (obnova) práv – viz dále Univerzitní informační systém III., Lednice 2004

Parafikátory jinde model evidence nároku jednoparametrickým a klasickým kvalifikátorem uvedený v DS použit i v novějších systémech implicitního přidělování použití přímo v aplikacích (místo SELECTu) – zatím spíše ojedinělé (nedůvěra, problém části SELECT) víceparametrické PQ jako „mustry“ dynafikátorů v nových dvacítkách (viz dále) masivní nasazení v novém novém právním systému (viz samostatná přednáška) nový Výběr – zatím nebylo plně analyzováno (paraf. x dynaf., čekání na n.n.p.s.) Univerzitní informační systém III., Lednice 2004

Dynamické kvalifikátory další zobecnění kvalifikace – podmínky a jejich hodnoty nejsou ukládány v DB, ale předávány „dynamicky“ v čase vyhodnocení dynamické kvalifikátory (dynafikátory) opět využívají stejných typů podmínek jako Q a PQ, stejně tak metod jádra dynafikátory nejsou uloženy v DB (nemají ID ani žádnou evidenci) – primární cíl užití je aplikační vrstva Univerzitní informační systém III., Lednice 2004

Dynamické kvalifikátory u klasických i parametrických Q fungují vyhodnocovací funkce takřka „bezešvě“ – dotaz je předpřipraven a uložen v DB u dynafikátorů nutno počítat s určitou režií nezbytnou pro kontrolu vstupu a sestavení SELECTu (pro jedno volání neznatelné) zmenšení režie – použití alternativního způsobu vyhodnocování pomocí metod PKG_KVALIFIKATOR prepare, execute a bind (podobně jak DBI – viz demonstrace) běžné nasazení v aplikacích zatím vázne (neinformovanost aplikačních, problém části SELECT) Univerzitní informační systém III., Lednice 2004

Dynamické kvalifikátory výkladní skříní dynafikátorů se stal modul Seznamy_studentu.pm (implementace dvacítek), jehož jádro bylo s jejich pomocí kompletně přepsáno původní dvacítky: důmyslné API (všestranná použitelnost v mnoha aplikacích) málo efektivní jádro zajišťující výběr (složitý kód, nevhodné SQL konstrukce IN, chyby výstupů) nepřehledná evidence sloupců originální návrh modulu nepostihoval některé fenomény jako přerušení nebo mezifakultní studium – zdroj chyb celý mechanizmus výběru založen na parametru období, tabulce S_PRUBEH_STUDIA a operátoru IN (delší odezvy při velkém počtu řádků a sloupců) informace z historických období nebyly korektní – využití stavových záznamů Univerzitní informační systém III., Lednice 2004

Dynamické kvalifikátory nová verze modulu beze zbytku přebírá Perlové API i výsledný vzhled a chování na webu (vývojář ani uživatel nevidí změny) zcela nové jádro používá pro výběr studentů dynafikátory třídy studium (!!!) jednotlivé rozbalovací seznamy filtru – omezení jsou implementovány kvalifikátorovými podmínkami, které jsou složeny do výsledného SELECTu pomocí procedur PKG_KVALIFIKATOR rozdíl proti běžným dynafikátorům – databáze provádí jen složení dotazu – vyhodnocení přes DBI (řešení problému části SELECT) zcela nová evidence sloupců navázaná na evidenci tabulek v kvalifikátorech (jediná skutečně nová aplikace) DB jádro je doplněno poměrně komplexním Perlovým kódem (UNIONy, „mustry dynafikátorů“, období x předmět, ...) Univerzitní informační systém III., Lednice 2004

Dynamické kvalifikátory dynafikátory využívají historických evidenčních tabulek (forma, obor, atd.), které nebyly původně k dispozici historická správnost je zajištěna přidáváním tzv. časových omezení k některým podmínkám – seznam vyhodnocován vždy k určitém okamžiku: aktuální datum (u aktivních období) poslední den období (u skončených) nové dvacítky přinesly: faktická správnost zpřehlednění správy (přidávání nových sloupců nebo omezení) rychlejší odezva (provádí se jediný, efektivní SELECT) pro nové Hromadné zprávy byl modul upraven: možnost vrátit dynafikátor v rozložené podobě (podmínky + hodnoty) použití uživatelských podmínek platných k danému okamžiku Univerzitní informační systém III., Lednice 2004

Aktuální problémy provoz a další rozšiřování kvalifikátorů jako bezesporu efektivního nástroje jádra jsou komplikovány některými problémy jedná se především o: transparentnost a metody jejího zajištění problém části SELECT rozhraní DBI:Oracle nedokonalosti PL/SQL jednotlivé problémy jsou v různém stádiu řešení některé představují pouze malou nepříjemnost, jiné jsou zásadní Univerzitní informační systém III., Lednice 2004

Transparentnost transparentnost = veškeré změny vyplývající z nějaké operace v systému jsou prováděny okamžitě po jejím ukončení (student je vyřazen -> ihned se mu deaktivuje karta) transparentnost důležitá v implicitním přidělování – nároky musí být obnovovány (refresh) při změně statusu uživatele metody zajištění transparentnosti na DB vrstvě: triggery (nelze – chyba ORA-04091) balíky – zapouzdření DML operací, „balíková mezivrstva“ – použito v implicitním přidělování každý systém implicitního přidělování má vlastní „refresh“ proceduru pro obnovu nároků daného uživatele procedura čte z definiční tabulky nároků jednotlivé kvalifikátory, zjišťuje zda jim uživatel vyhoví a pokud ano, má-li kvalifikovaný nárok Univerzitní informační systém III., Lednice 2004

Balíková mezivrstva Univerzitní informační systém III., Lednice 2004

Transparentnost procedury balíkové mezivrstvy měnící status uživatele pak po provedení vlastních DML změn volají „refresh“ procedury jednotlivých implicitních systémů problém – některé tabulky (typicky studované předměty) jsou měněny přímo (INSERT, UPDATE, DELETE) a ne přes balíkovou mezivrstvu kvalifikátory využívající sloupce z těchto tabulek pak jsou netransparentní – aktualizace subsystémů, kde jsou použity musí být explicitně zajišťována triviální řešení – kompletní refresh – spustit „refresh“ procedury pro všechny uživatele – v současnosti používáno délka operace řádově desítky minut – možno spouštět max. jedenkrát denně v době nízké zátěže s rostoucím počtem uživatelů a impl. systému bude čím dál náročnější Univerzitní informační systém III., Lednice 2004

Transparentnost - DS jakékoliv efektivní řešení musí vycházet z tabulkového přístupu ke kvalifikátorům, nikoliv z individuálního (aplikován v refresh procedurách) počet kvalifikátorů použitých v Dokumentovém serveru u automatických nástěnek je o několik řádů vyšší než v typickém implicitním systému (desítky x tisíce) v DS jsou masivně použity netransparentní kvalifikátory (nástěnky předmětů) je zřejmé, že triviální řešení refreshe je pro DS nepoužitelné navržen speciální postup – parafikátory nejsou vyhodnocovány pro jednoho uživatele ani pro jeden parametr, ale pro všechny kombinace parametrů najednou vhodným spojením dosaženo výborného výkonu (čas kolem jedné minuty, včetně propagace práv), který umožnil spouštění refreshe každou hodinu Univerzitní informační systém III., Lednice 2004

Transparentnost – řešení z přístupu aplikovaného v DS by mělo vycházet i konečné řešení pro ostatní implicitní systémy další přístupy vyhodnocovat pouze netransparentní Q (problém) využití stromu kvalifikátorů (spíš pro zrychlení individuálního refreshe, problém s parafikátory) Univerzitní informační systém III., Lednice 2004

Problém části SELECT jádro kvalifikátorů nijak zvlášť neřeší strukturu části SELECT primární funkce – kvalifikace objektů – vystačí se sloupcem ID v aplikační vrstvě v 95% případů ID nestačí – rozšíření všech druhů kvalifikátorů je omezeno řešení problému: připojování relevantních tabulek k výstupu kvalifikační funkce výhoda – jednoduché, nevýhoda – neefektivní, nelze vždy použít vracení více sloupců přímo tabulkovými funkcemi nutnost evidence sloupců, předávání parametrů – řešitelné omezení PL/SQL – v současnosti nepřekonatelné, nutno obcházet náhradní postupy: provádění dotazu v Perlu (DB jej pouze skládá) – použito ve dvacítkách vracení jednoho sloupce – řetězce + zpracování v Perlu (v rámci metody UIS::select – proveditelné, málo obecné Univerzitní informační systém III., Lednice 2004

Další problémy Parametry při komunikaci mezi Perlem a PL/SQL přes rozhraní DBI lze použít pouze skalární hodnoty (ne například hashe) obtížné předávání nutných parametru u parafikátorů a dynafikátorů řešení existuje – různé způsoby u PQ a DQ Problémy v PL/SQL především způsob bindování parametru při provádění příkazů v některých případech nelze vázaných proměnných použít -> degradace výkonu Univerzitní informační systém III., Lednice 2004

Závěrem během uplynulého roku zaznamenaly kvalifikátory bouřlivý vývoj a staly se nedílnou součástí jádra UIS vymanily se z obálky pouhých „automatických skupin“ a začaly být vnímány v plné šíři jako „zobecněné SELECTy“ vývoj směřuje k vytvoření samostatné vrstvy mezi databází a aplikacemi zcela odstiňující aplikační programátory od jazyka SQL Univerzitní informační systém III., Lednice 2004

Děkuji za pozornost. Dotazy ? Univerzitní informační systém III., Lednice 2004