Oracle – využití pro vývoj Studijní evidence Seminář Portálové služby na VŠ Rožnov p/R., Ing. Milan Šorm Vedoucí vývoje a provozu Vývojový tým Univerzitního informačního systému Mendelova univerzita v Brně
2 Obsah O co nám jde… Naše řešení Využití nástrojů fy Oracle Smart databáze v praxi Zkušenosti Kudy dál… Seminář Portálové služby na VŠ
3 O co nám jde I Naše univerzita již 4 roky buduje jednotný integrovaný univerzitní informační systém Základem tohoto systému jsou provozní systémy (studijní, vědeckovýzkumný, identifikační), v budoucnu bude integrován systém ekonomický, knihovní a hotelový Seminář Portálové služby na VŠ
4 O co nám jde II Provozní systémy budujeme vlastními silami Ekonomický, knihovní a hotelový systém pořizujeme nákupem, integraci provádíme vlastními silami Všechny systémy provozují část aplikací na webovém portálu a část v režimu klient/server Seminář Portálové služby na VŠ
5 O co nám jde III Jednotné integrační prvky: jednotná databáze jednotná autentizace jednotná autorizace jednotná administrace jednotný vzhled a personalizace jednotná dokumentace Seminář Portálové služby na VŠ
6 O co nám jde IV Stěžejní část provozních systémů představuje Studijní systém Jedná se o webový systém portálového typu systém vyvinutý za splnění všech požadavků na jednotnou integraci komplexní řešení celé studijní agendy VŠ Seminář Portálové služby na VŠ
7 Naše řešení I Využíváme třívrstvé architektury datová vrstva aplikační vrstva prezentační vrstva Tento pohled dále obohacujeme o smart databáze (datová vrstva) jádro informačních systémů (apl. vrstva) Seminář Portálové služby na VŠ
8 Naše řešení II Seminář Portálové služby na VŠ datová vrstva aplikační vrstva prezentační vrstva datová vrstva jádro IS prezentační vrstva smart databáze aplikační vrstva jádro IS
9 Naše řešení III Důvody pro rozšíření architektury datový model je velmi komplexní je třeba řešit věci jednotně řada systémů se na datový model dívá odlišně (např. interní studijní systém pracuje odlišně od SIMS) řada algoritmů musí být odstíněna od aplikačních vývojářů Seminář Portálové služby na VŠ
10 Naše řešení IV Co přináší smart databáze logický datový model se liší od fyzického kritické algoritmy jsou jednotně definovány na úrovni databáze údaje o objektech jsou uchovávány pomocí atributů (teorie šablon), což umožňuje modifikace datového modelu na úrovni aplikací (a tedy uživatelů) existuje transparentní audit Seminář Portálové služby na VŠ
11 Naše řešení V Vedlejší vlastnosti smart databází překonání relačního modelu dat objektové pojetí možnost cyklické definice dat (např. skupina obsahuje skupinu) 2D a 3D datové struktury (Excel, Excel se záložkami) zvýšení kontroly aplikačních vývojářů ze strany datamanagementu Seminář Portálové služby na VŠ
12 Využití nástrojů fy Oracle I Databázový systém Oracle Oracle Database Standard Edition 9i zkušenosti verze 8.1.5, 8.1.7, 9.0.1, licence dle memoranda EUNIS pro provozní účely provozováno na Sun Enterprise 220R (2xCPU 360MHz, 1 GB RAM, 198 GB HDD) Sun Fire V880 (2x 750, 8 GB, 216 GB) Seminář Portálové služby na VŠ
13 Využití nástrojů fy Oracle II Celá logika smart databází napsána v Oracle PL/SQL a umístěna do objektových package Vývojářské konzole/nástroje SQL*Plus DBAstudio Oracle Designer/Developer Seminář Portálové služby na VŠ
14 Smart databáze v praxi I Základní teorie šablon ke každému objektu definujeme šablonu šablona popisuje, jaké atributy o objektu sledujeme a jaké na ně klademe doménové a integritní požadavky atributová tabulka obsahuje hodnoty všech atributů všech instancí daného objektu modeluje 2D strukturu (Excel) Seminář Portálové služby na VŠ
15 Smart databáze v praxi II Rozšířená teorie šablon atributová tabulka obsahuje hodnoty všech atributů všech instancí všech mutací daného objektu mutace je variantní rozlišení instancí např. syllaby předmětů mutují přes jazyky, kreditové ohodnocení předmětu mutuje přes varianty ukončení apod. modeluje 3D strukturu Seminář Portálové služby na VŠ
16 Smart databáze v praxi III Odlišení fyzického a datového modelu striktní užívání pohledů spouště umožňují nad pohledy vykonávat i zapisovací operace některé operace jsou zakázány, provádějí se pomocí izolovaných algoritmů generující se tabulky (materializované pohledy) umožňují mít „živou databázi“ Seminář Portálové služby na VŠ
17 Smart databáze v praxi IV Kritické izolované algoritmy algoritmy tvoří datamanagement, který dokonale rozumí datovému modelu tyto algoritmy provádějí přesně definované operace a dodržují ACID (pracují jako transakce v transakcích) odstíní se aplikační programátor od kritických částí systému vývojář i v SQL konzoli pracuje „smart“ Seminář Portálové služby na VŠ
18 Smart databáze v praxi V Transparentní audit všechny datové prvky (tabulky) obsahují nějaký druh auditu změn plný audit kritických objektů (vazba na SIMS) stavový audit zásadních objektů (peníze…) audit poslední změny (vše ostatní) audit řeší triggery na základě identity uživatele a průběžného sledování stavu Seminář Portálové služby na VŠ
19 Zkušenosti I Oracle databáze umožňují velmi rychle a dobře implementovat smart databázové techniky stále více věcí je možné přesunout z aplikací do jádra (aplikační logika) a níže na smart databázi velmi rychle pracují i nad rozsáhlým datovým modelem s mnoha kusy PL/SQL kódu Seminář Portálové služby na VŠ
20 Zkušenosti II Oracle databáze umožňují při zachování solidní rychlosti odstranit nevýhody relačního modelu programovat objektově (což ocení každý, kdo se pokusí do databáze naprogramovat netriviální množství kódu) zajistit kvalitní „servis“ v podobě stability, rychlosti a zálohování Seminář Portálové služby na VŠ
21 Zkušenosti III Smart databáze umožňují dosáhnout vysokých rychlostí vývoje (implementace studijního systému na univerzitu v čase pod 1 rok při nasazení cca 5 vývojářů a 2 datamanažerů) odstranit uživatelské požadavky na adaptaci datového modelu (šablony) zajistit klidný spánek datamanažerům díky izolaci aplikačních programátorů Seminář Portálové služby na VŠ
22 Zkušenosti IV Oracle je pro smart databáze vhodný dokonale transparentní řešení všech požadovaných funkcí objektový model existence mnoha objektových balíků (package) na řešení řady problémů vysoká rychlost zpracování robustní při velké zátěži Seminář Portálové služby na VŠ
23 Zkušenosti V Nevýhody databáze Oracle cena/procesor vysoká i při memorandu pro možnost nasazení clusterů vyžadována Enterprise verze (cena neuvěřitelná) školení rovněž neuvěřitelně drahá veškeré nástroje mimo databázi jsou zoufalé (SQL*Plus, DBAstudio, Designer/Developer) Seminář Portálové služby na VŠ
24 Zkušenosti VI Odstranění nevýhod Oracle nové memorandum řeší částečně problém školení, jinak Internet :-) s cenou je třeba se smířit Enterprise vlastnosti lze doprogramovat (viz řešení clusterů na FI MU) nahradit nepoužitelné nástroje open source programy (dbMan, svplus) Seminář Portálové služby na VŠ
25 Zkušenosti VII Nevýhody smart databází řešení velmi nepřenosné (implementace pro jeden systém brání přenosu jinam) znatelné zpomalení vlastní databáze (nad každým přístupem pracují další PL/SQL kódy, triggery, pohledy aj.) vysoké nároky na kvalitní datamanažery (kvalita, preciznost, nutnost pochopit celou problematiku, analyt. schopnosti) Seminář Portálové služby na VŠ
26 Zkušenosti VIII Odstranění nevýhod smart databází včas se rozhodnout pro databázový systém – Oracle – a dál již neměnit rychlost řešit posilováním HW (cenově vysoce náročné), vyladění databáze, optimalizace kódu nalezení a udržení kvalitních datamanažerů je klíčové (bohužel zatím nepochopeno vedením univerzity) Seminář Portálové služby na VŠ
27 Kudy dál přesun všech vícekrokových algoritmů na stranu smart databáze nová implementace původní teorie šablonování (nové možnosti) přepis aplikační logiky pro možné využití potenciálu smart databází hledání rezerv ve zrychlování Oracle (vývoj vlastního druhu clusteringu?) Seminář Portálové služby na VŠ
28 Kde se dozvědět více smart databáze jsou součástí teorie webových informačních systémů řada materiálů je průběžně publikována na prezentace výsledků na konferencích možnost výměny zkušeností mezi vývojářskými týmy univerzit (hledání celostátního řešení globálního IS VŠ?) Seminář Portálové služby na VŠ
29 Závěr Trend je v přesunu aplikační logiky do databázového systému Nelze bez kvalitní teorie (smart DB) Nutná rychlá a kvalitní DB (Oracle) Není možné bez špičkových DM Všechno je o penězích (DB, DM) Na MZLU v Brně se to povedlo… Seminář Portálové služby na VŠ
30 Děkuji. Dotazy ? Seminář Portálové služby na VŠ