Bankovní institut vysoká škola Praha Katedra informačních technologií a elektronického obchodování
Programování, implementace a uživatelské nastavení Informačního systému K2
Bakalářská práce
Autor:
Dušan Jícha, DiS. Informační technologie, Správce informačních systémů
Vedoucí práce:
Praha
RNDr. Miroslav Procházka
Červen, 2009
Prohlášení: Prohlašuji, že jsem bakalářskou práci zpracoval samostatně a s použitím uvedené literatury.
V Písku dne 14. 6. 2009
Dušan Jícha, DiS.
Anotace práce Implementace = uvedení teoreticky stanovené myšlenky do praxe za účelem jejího dalšího použití. Tato bakalářská práce pojednává o možnostech využití moderních databázových platforem a na nich vybudovaných Informačních systémech s ohledem na optimalizaci využití zdrojů a v první řadě maximalizaci zisku. Cílem práce je čtenáři představit tyto moderní technologie pro spravování dat, seznámit jej s jejich nastavením a nástroji pro jejich správu, seznámit jej s problematikou tvorby migračních scénářů při zavádění nového informačního systému, případně i nastavení, programování a podrobné přizpůsobení uživatelského rozhraní informačního systému. Jedním z těchto informačních systémů pro vedení kompletní agendy celé firmy je informační systém K2, který bych chtěl touto prací představit, poukázat na jeho výhody a jeho slabiny. Výsledkem práce je zmapování problematiky využití vícevrstvé architektury pro zprávu dat pomocí moderních technologií dnešní doby a dále pak všech obtíží spojených s migrací dat na nový informační systém.
Anotation Implementation = introduction of abstractedly defined concept to use for the purpose of its further application. My bachelors thesis deals with possibilities of utilization of modern database platforms and iformation systems built on them with regards to optimalization of resource applications and most of all it focuses on profit maximization. The objective of my work is to introduce these modern technologies for data operation, its options and tools for data administration and familiarize the reader with problems of creating migration scripts while implementing a new information systems , eventually setup, programming and detailed accommodation of user´s interface.One of these information systems for management of entire company agenda is information system K2, which I would like to introduce in my work and at the same time I would like to point out to its advantages and its weak spots. The result of my work is to plot the issue of utilization of multilayer architecture for data administration through the use of modern technologies and furthermore to refer to all other difficulties linked
to
data
migration
to
a
new
information
system.
Poděkování: Toto poděkování patří všem, kteří mi značnou měrou umožnili napsat tuto práci. Zvláště pak RNDr. Procházkovi za konzultace a vedení při práci, stejně tak mé manželce za projevenou toleranci v době kdy jsem se plně věnoval psaní této práce. V neposlední řadě bych chtěl poděkovat svému dědovi za to, že ve mně už od dětství probudil touhu po poznání.
ÚVOD....................................................................................................................................................... 7 1. ÚVOD DO PROBLEMATIKY VYUŽITÍ VÍCEVRSTVÉ ARCHITEKTURY ........................................................... 8 1.1 PRINCIP A POPIS........................................................................................................................................... 8 1.2 VÝHODY A NEVÝHODY ................................................................................................................................... 9 1.3 JAK TO VIDÍM JÁ ........................................................................................................................................... 9 2. DATABÁZOVÁ PLATFORMA ORACLE A JEJÍ INSTALACE......................................................................... 10 2.1 PŘED INSTALACÍ ......................................................................................................................................... 10 2.2 INSTALACE ................................................................................................................................................ 11 3. VYUŽITÍ DATABÁZOVÉ PLATFORMY ORACLE, JEJÍ SPRÁVA A NASTAVENÍ ............................................. 13 3.1 MOŽNOSTI DATABÁZOVÉHO SYSTÉMU ............................................................................................................ 13 3.2 VERZE DATABÁZOVÉHO SYSTÉMU ORACLE ....................................................................................................... 14 3.3 NÁSTROJE DATABÁZOVÉHO SYSTÉMU ORACLE DATABASE................................................................................... 15 3.3.1 FAIL SAFE .............................................................................................................................................. 15 3.3.2 FLASHBACK QUERY .................................................................................................................................. 15 3.3.3 FLASHBACK TABLE, DATABASE AND TRANSACTION QUERY .............................................................................. 15 3.3.4 DATA GUARD ......................................................................................................................................... 15 3.3.5 ŠIFROVÁNÍ DAT V DATABÁZI ...................................................................................................................... 15 3.3.6 DISTRIBUOVANÉ DOTAZY A TRANSAKCE........................................................................................................ 15 3.4 NÁSTROJE PRO SPRÁVU DATABÁZE OD ORACLE A TŘETÍCH STRAN ......................................................................... 16 3.4.1 ORACLE SQL DEVELOPER ......................................................................................................................... 17 3.4.2 ORACLE APPLICATION EXPRESS (ORACLE APEX) ........................................................................................... 18 3.4.3 TOAD FOR ORACLE .................................................................................................................................. 19 3.4.4 ORACLE SQL PLUS .................................................................................................................................. 20 3.5 ZÁKLADY ADMINISTRACE.............................................................................................................................. 21 3.6 DATABÁZOVÉ OBJEKTY ................................................................................................................................ 22 3.6.1 TABULKY ............................................................................................................................................... 22 3.6.2 POHLEDY ............................................................................................................................................... 22 3.6.3 SEKVENCE.............................................................................................................................................. 22 3.6.4 ULOŽENÉ FUNKCE A PROCEDURY ................................................................................................................ 23 3.6.5 DATABÁZOVÝ PROGRAMOVÝ BALÍK ............................................................................................................. 23 3.6.6 TRIGGER ............................................................................................................................................... 23 3.6.7 TRANSAKCE............................................................................................................................................ 24 4. POPIS VLASTNÍHO INFORMAČNÍHO SYSTÉMU K2 ................................................................................ 25 4.1 CO JE INFORMAČNÍ SYSTÉM? ........................................................................................................................ 25 4.2 CO JE INFORMAČNÍ SYSTÉM K2? ................................................................................................................... 25
5
4.3 PRACOVNÍ PLOCHA ..................................................................................................................................... 25 4.4 ZÁKLADNÍ NASTAVENÍ PRACOVNÍ PLOCHY ........................................................................................................ 27 4.4.1 STROMOVÉ MENU ................................................................................................................................... 27 4.4.2 MASKY PRACOVNÍ PLOCHY ........................................................................................................................ 27 4.4.3 PRÁCE S TLAČÍTKY ................................................................................................................................... 28 4.4.4 STROMOVÉ MENU ................................................................................................................................... 28 4.5 SLOUPCE .................................................................................................................................................. 29 4.6 SESTAVY ................................................................................................................................................... 30 4.7 FILTRY ..................................................................................................................................................... 31 4.8 PRÁVA ..................................................................................................................................................... 32 4.8.1 UŽIVATELÉ ............................................................................................................................................. 32 4.9 STRUKTURA ADRESÁŘŮ ............................................................................................................................... 33 5. PROGRAMOVÁNÍ V RÁMCI INFORMAČNÍHO SYSTÉMU K2 .................................................................. 35 5.1 SKRIPTOVACÍ JAZYK K2 SKRIPT ...................................................................................................................... 35 5.1.1 DATOVÉ TYPY ......................................................................................................................................... 35 5.1.2 OPERÁTORY ........................................................................................................................................... 35 5.1.3 STRUKTURA PROGRAMU ........................................................................................................................... 36 5.1.4 FUNKCE ................................................................................................................................................ 37 5.1.5 KOMENTÁŘE .......................................................................................................................................... 37 5.2 INTEGROVANÝ EDITOR SESTAV ...................................................................................................................... 37 6. MIGRAČNÍ SCÉNÁŘ ............................................................................................................................. 43 6.1 CO JE MIGRAČNÍ SCÉNÁŘ? CO JE CÍLEM MIGRAČNÍHO SCÉNÁŘE? .......................................................................... 43 6.1.1 AUDIT STÁVAJÍCÍHO INFORMAČNÍHO SYSTÉMU .............................................................................................. 43 6.1.2 VÝBĚR DATABÁZOVÉ A HARDWAROVÉ PLATFORMY NA ZÁKLADĚ ANALÝZY ........................................................... 43 6.1.3 KONTROLA A ÚPRAVA DAT STÁVAJÍCÍHO SYSTÉMU NA ZÁKLADĚ ANALÝZY. ........................................................... 44 6.1.3.1 VYMEZENÍ MIGROVANÝCH DAT ............................................................................................................... 44 6.1.4 VLASTNÍ PROGRAMOVÁNÍ MIGRACE NA ZÁKLADĚ VÝSLEDKU TESTOVÁNÍ ............................................................. 44 6.1.5 DESIGN APLIKACE .................................................................................................................................... 45 6.1.6 VERIFIKACE MIGRACE ............................................................................................................................... 45 6.1.7 PŘÍPRAVA PODPŮRNÝCH SEKUNDÁRNÍCH OPERACÍ. ........................................................................................ 45 6.2 MOŽNÉ PROBLÉMY MIGRACE DAT.................................................................................................................. 45 ZÁVĚR .................................................................................................................................................... 46 SEZNAM POUŽITÉ LITERATURY ............................................................................................................... 47 PŘÍLOHY................................................................................................................................................. 48 PŘÍLOHA 1. VYBRANÉ KLÁVESOVÉ ZKRATKY PRO EDITOR SESTAV ................................................................................ 48
6
Úvod V dnešní době jsou kladeny velmi vysoké nároky na práci s daty, ať se jedná o různé firemní databáze, registry, rejstříky v neposlední řadě rozsáhlé informační systémy. Rychlost zpracování velkých objemů dat, možnost jejich archivace, přístupnost a dostupnost služeb, garance zabezpečeného přístupu, investice a jejich návratnost společně s určitou garancí dosažitelného zisku nebo úspor jsou zásadní faktory ovlivňující volbu konečného řešení a to ve velké míře v časových horizontech až desítek let. Toto téma jsem si vybral na svou bakalářskou práci, vzhledem k těmto faktorům a tomu, že správa a vývoj informačních systémů jsou součástí mého studia. Práce obsahuje tři části. První část teoretickou, ve které jsem shrnul základní poznatky z oblasti zpracování dat s využitím databázových systémů a na nich postavených informačních systémech. Cílem této teoretické části je seznámit čtenáře této práce se základními problémy, pojmy a nástroji které se využívají k vývoji informačních systémů a správě dat. Rovněž jsem popsal principy práce databázových systémů, aby čtenář lépe poznal procesy, které jsou na pozadí a skryté oku uživatele informačního systému. Teoretickou částí se místy prolínají moje názory a myšlenky založené na osobních zkušenostech z oblasti vývoje informačních systému ve firmě Sap2000 spol. s r.o. Druhou částí je popis informačního systému K2 [4] rozšířený o podrobnější seznámení s množstvím možností, nabízí pro vedení kompletní agendy firmy, a které se týkají využití K2Skriptu při tvorbě rozšíření a různých úprav u stávajících v systému integrovaných modulů. Tato část je rovněž doplněna zkušenostmi z mé praxe administrátora tohoto moderního informačního systému. Poslední částí práce je praktická, ve které jsem shrnul většinu svých dosavadních poznatků z oblasti migrace informačních systémů. Jsou v ní tedy uvedeny postupy a zásady, které mohou být nepostradatelné během přípravy migračního scénáře ať již při aktualizaci informačního systému nebo přechodu na jiný informační systém.
7
1. Úvod do problematiky využití vícevrstvé architektury 1.1 Princip a popis Princip vícevrstvé architektury [1] spočívá v logickém a mnohdy i fyzickém rozdělení aplikačního celku dle potřeby na řešení daného problému do různého počtu vrstev. Nejčastější členění je na prezentační vrstvu, databázovou výkonnou část a datové úložiště. K názornému pochopení napomůže následující schéma vícevrstvé architektury.
Laptop Pracovní stanice
Datové uložiště Desktop Pracovní stanice
Databázový server
Aplikační server
Obrázek 1 Schéma třívrstvé architektury
První vrstvou v rámci tohoto osvědčeného modelu je prezentační vrstva, která je zastoupena uživatelským rozhraním, skrze které probíhá vlastní zadávání dat, jedná se ve většině případů o takzvané okenní aplikace a veškerá komunikace probíhá prostřednictvím formulářů. Zde je možnost získávat různé informace, výstupy formou reportů v široké škále datových formátů s ohledem na případné požadavky aplikaci obsluhujícího uživatele. V rámci prezentační vrstvy, co se zpracovávání dat týče, jsou nejčastěji prováděny kontroly správnosti uživatelem zadávaných údajů. Díky těmto kontrolám, které probíhají na takzvané straně klientské aplikace, ať již tenkého nebo tlustého, dochází ke značnému odlehčení provozní režie na databázové výkonné vrstvě, která se stará o vlastní manipulaci s ukládanými a uloženými daty. Urychlí se tak čas potřebný k získání výsledků nejčastěji prováděných operací, jako jsou třídění získávaných dat a vyhledávání v uložených datech. Jak již bylo uvedeno, vrstvou která následuje po prezentační vrstvě je vrstva aplikační, která se stará o vlastní manipulaci s daty. V kompetenci této vrstvy je vracení výsledků na základě příchozích požadavků. Tato vrstva se stará o efektivní manipulaci 8
s daty. V rámci této vrstvy se řeší komplikované záležitosti, jako je přístup více uživatelů k datům, řeší se jejich aktualizace dat, třídění, řazení a zpracovávání požadavků dle priority. Tato vrstva se stará o případné plánované zálohování uložených dat, nebo obnovu v případě havárie. Rekonstrukce dat a problematika efektivního zálohování dat je v současné době prakticky samostatným oborem v rámci informačních technologií. Nejnižší vrstvou nejpoužívanější třívrstvé architektury je datová vrstva, která je reprezentována datovým úložištěm. Na datové úložiště jsou v současné době velmi vysoké nároky, nejdůležitějším prvkem jsou záznamová média, která procházejí neustálým vývojem, co se přístupnosti k uloženým datům týče. Právě doba odezvy, stabilita a bezporuchovost datových úložišť je klíčovým faktorem při výběru technologie použité na datové úložiště. V současné době je hojně využívané zrcadlení datových úložišť, kdy při havárii jednoho, je v záloze druhé.
1.2 Výhody a nevýhody Vzhledem k tomu, že je vše centralizované, tak výhoda využití třívrstvé architektury spočívá především v oblasti nasazování aplikace do provozu nebo aplikování opravných balíků v rámci aplikace. V případě implementace aplikačního serveru, který pracuje na základě protokolu HTTP (Hypertext Transfer Protokol), lze pak ke komunikaci využívat prostředí internetového prohlížeče, prostřednictvím kterého pak uživatel pohodlně pracuje s aplikací, která pak má minimální nároky na svůj běh na klientské stanici. Další nespornou výhodou tohoto provedení je dostupnost, takto vytvořená a fungující aplikace je pak za dodržení patřičných nastavení v počítačové síti dosažitelná z každého místa na planetě, na kterém je dostupná potřebná konektivita k internetu. Ta skutečnost, že je možný přístup k aplikaci prostřednictvím webových technologií, se může při nedodržení bezpečnostních pravidel stát cestou, kterou mohou útočníci získávat citlivá firemní data. Další nevýhodou takovéhoto aplikačního řešení je nutnost existence stabilní sítě s vysokorychlostní konektivitou do internetu. Dostupnost této služby by se měla pohybovat okolo 99 %. K dalším nevýhodám patří mnohdy nutnost složitých konfiguračních procesů, které, jsou-li provedeny bezchybně, mohou zvýšit výkonnost systému.
1.3 Jak to vidím já Za svou praxi jsem měl možnost důkladně testovat a nasazovat nemálo aplikačních řešení. Vzhledem k tomu, že hlediska při výběru a následnému zavádění informačních systémů jsou faktory ekonomické, rentabilita a návratnost investic. Nízké nároky na 9
provozní režii a zároveň udržení vysokého výkonu tak bývají v dnešní době podmínkou konkurenceschopnosti rozsáhlých systémových a aplikačních řešení. Centralizace správy dat a jejich zálohování je v dnešní době nezbytností. Jistým trendem v dnešní době je virtualizace, která umožňuje na jednom fyzickém stroji provozovat více virtuálních serverových systémů. Virtualizace jako optimalizace výkonu, není nejlepším řešením, ale z hlediska variability systému ano. Dle mého názoru tento trend bude pokračovat, protože v této oblasti probíhají neustálé výzkumy a testování nových postupů a technologií. Současné technologie již umožňují převod fyzicky instalovaných serverů na virtuální a obráceně, takže bylo-li třeba dříve fyzicky třicet serverových strojů, tak se v dnešní době tento počet sníží například na pětinu. Jistou nevýhodou virtualizace je to, že právě několik služeb běží v rámci jedné fyzické stanice. Nebezpečí ztráty dat a nedostupnosti služeb lze snížit na minimum s využitím zrcadlení a záložních řešení. V případě havárie se automaticky přepne na záložní stroj a proto je možné primární stroj opravit a zajistit tak téměř nepřerušenou dostupnost služeb.
2. Databázová platforma Oracle a její instalace 2.1 Před instalací Implementace informačního systému je prakticky vždy vázána na existenci nějakého databázového systému. V současné době je pro nasazení informačních systémů v komerční sféře s vysokými nároky na spolehlivá a bezpečná a rychlá řešení využíván relační databázový systém od firmy Oracle. Z osobních zkušeností mohu potvrdit, že řešení postavené na platformě Oracle jsou o mnoho spolehlivější, než jsou řešení postavená na konkurenčních databázových strojích. Například v porovnání Oracle 10g versus Microsoft SQL server 2005 se ukázal databázový stroj Oracle téměř 1,5 krát rychlejší než porovnávaný stroj a to při zpracovávání dat v rámci milionů záznamů, při zachování stejné struktury datového modelu. Dalším faktorem pro výběr Oracle mluvím řešení havárií, kdy dochází za použití těch nejnovějších technologií k obnově dat a to bez přerušení dostupnosti služby. Nejnovější řešení firmy Oracle umí bez přerušení dostupnosti k datům provádět jejich zálohu, dochází tak vlastně v reálném čase k pravidelnému zálohování a v případě havárie je možno prakticky přenést zátěž na záložní stroj, uživatel informačního systému prakticky vůbec nepozná, že k poruše došlo. Před započetím instalace databázového serveru je třeba zvážit využití stroje. Bude -li stroj sloužit pouze jako zálohovací databáze, tak nebude třeba mít vysoké nároky 10
na výkonnost serveru, ale spíše na velikost datového úložiště, rovněž nebude nutné využívat transakční zpracovávání dat. V opačném případě bude třeba zvolit stroj s dostatkem operační paměti, neboť transakční zpracovávání dat je mnohem náročnější na provozní režii, co se do obsazení operační paměti, výkonu procesoru a čipové sady týče.
2.2 Instalace Vlastní instalace nepředstavuje při dodržení běžných zásad prakticky žádný obtížný krok. Složitější je až její správa a nastavení. Po vložení instalačního média, nejčastěji DVD, je automaticky spuštěn instalační proces. Intuitivní instalační [7] průvodce nás provede jednotlivými kroky instalace. Je třeba podotknout, že instalace probíhá v anglickém jazyce. Pro účely testování jsem využil volně dostupnou instalaci databázového systému Oracle 10g XE., která je dodávána v distribuci se zkušební verzí informačního systému K2, o kterém bude ještě řeč. Bohužel tato distribuce databázové platformy dovoluje využít pouze jeden procesor na serveru a správu dat o maximální velikosti čtyř gigabytů.
Obrázek 2 Úvodní stránka instalačního průvodce
Na úvodní stránce není třeba nastavovat žádné parametry instalace, je tedy třeba pro pokračování instalačního procesu zvolit tlačítko NEXT. V dialogovém okně, které následuje, viz Obrázek 3 Dialog pro výběr adresáře při instalaci Oracle 10g XE. Je třeba zvolit instalační adresář pro databázový systém. I když se během mých testů nevyskytly problémy při instalaci mimo diskový oddíl, než je operační systém, doporučuji ponechat výchozí nastavení instalačního průvodce na C:\oraclexe.
11
Obrázek 3 Dialog pro výběr adresáře při instalaci Oracle 10g XE
Důležitou části databázového systému je zabezpečení přístupu, tomu je v počátku zamezeno tím, že je vytvářen pouze jeden účet a to s administrátorským oprávněním, jehož heslo se zadává během instalace, viz Obrázek 4 Dialogové okno pro zadání administrátorského hesla. Toto heslo, lze po dokončení instalačního procesu libovolně změnit pomocí některého z nástrojů pro zprávu databáze. Heslo by mělo splňovat veškeré zvyklosti při tvorbě hesel, tedy alespoň jedno velké písmeno, malé písmeno a číslo. Bezpečnost je řešena tím, že uživatel nemá žádná práva na cizí objekty, pokud mu nejsou přidělena. Bezpečnost bude dále rozebrána v části práce, která se týká využití a nastavení databázového systému Oracle současně s popisem nejčastěji používaných nástrojů.
Obrázek 4 Dialogové okno pro zadání administrátorského hesla
12
Po zadání hesla pokračuje instalace ještě několik minut. Následně dojde k zobrazení souhrnných informací o právě nainstalované serverové databázové službě.
Obrázek 5 Souhrnné informace po instalaci
Dialog s informacemi, jak ukazuje Obrázek 5 Souhrnné informace po instalaci, obsahuje údaje o adresáři, kam byl systém instalován, o portu TCP na kterém databázová služba naslouchá a o portu na kterém naslouchá webové rozhraní sloužící pro správu databáze. Někdy je nutné nastavovat parametry databáze pomocí příkazového řádku. Tyto nástroje jsou uloženy v adresáři BIN instalace databázového systému. Díky těmto utilitám je administrátorům umožněno spravovat databázi prostřednictvím například zabezpečeného protokolu SSH, který kvalitní používanou náhradou nezabezpečeného starého protokolu Telnet.
3. Využití databázové platformy Oracle, její správa a nastavení 3.1 Možnosti databázového systému Bez ohledu na rozdíly ve verzích databázového systému Oracle Database 10g je v edicích zabudována podpora pro jazyk SQL dle normy SQL92I. Výbornou vlastností databázových strojů Oracle je nadstavba jazyka SQL a to procedurální PL/SQL umožňující využití
hierarchického
dotazování,
uložených
procedur,
uživatelských
funkcí,
programových balíků a triggerů. Oracle Database obsahuje i podporu objektových I
SQL92 je normou jazyka SQL je to všeobecně uznávaný standard, to znamená že dotazy napsané pro platformu Oracle by měl být použitelné i na jiných databázových systémech, v případě že podporují normu SQL92, nebo kompatibilní. Kompletní popis standardu lze stáhnout z < http://savage.net.au/SQL/sql92.bnf.html >
13
databází, které jsou uložené v hierarchickém modelu dat například XML, se kterým souvisí jazyk XSQLII.
3.2 Verze databázového systému OracleIII Databázový systém je vyvíjen a distribuován v několika verzích, které se od sebe liší především v množství poskytovaných nástrojů a limitu množství spravovaných dat. Záleží vždy na analýze potřeb uchovávání dat, kterou z nabízených verzí zvolit. Oracle poskytuje základní čtyři verze databázového systému Oracle Database 10g. V případě nutnosti lze bez problémů přecházet na vyšší verzi systému. 1. Oracle Database 10g Express Edition. Je základní verze, která je k dispozici zdarma. Je určena velmi malým firmám, začínajícím vývojářům, studentům a administrátorům. Přestože je zdarma, tak obsahuje řadu nástrojů a funkcí jako je například podpora XML, fulltextového vyhledávání nebo práce s prostorovými daty. Tato verze je k dispozici pro 32bitové operační systémy z rodiny Windows a Linux. Bohužel využije maximálně jeden procesor a jeden gigabyte operační paměti. Maximální velikost systémem spravovaných dat je 4 GB. Dalším omezením je, že na serveru lze spustit v reálném čase pouze jednu instanci této verze databázového systému. 2. Oracle Database 10g Standart Edition One. Tato verze poskytuje všechny služby, které jsou nutné pro efektivní spravování dat v rámci malých podniků, případně poboček. I tato databáze nabízí možnost zpracovávání XML. 3. Oracle Database Standart Edition. V této verzi se nacházejí obdobné nástroje a poskytuje obdobné funkce jako Oracle Database 10g Standart Edition One, ovšem dovoluje využití vyššího výkonu a to s možností nasazení na servery s kapacitou do čtyř procesorových jader. 4. Oracle Database 10g Enterprise Edition. Tato verze prakticky tím nejlepším co lze získat. Umožňuje provoz rozsáhlých velkých aplikací a to i ve světovém měřítku ať již se jedná aplikace s využitím transakcí, nebo datové sklady se složitými dotazy nad velkými objemy dat, či internetové aplikace s vysokými požadavky na
II
Jedná se o dotazovací jazyk schopný pracovat s uspořádanými v XML ((Extensible Markup Language ) strukturách. III Kompletní přehled všech vlastností u všech edic Oracle databáze 10g je dostupný z www < http://www.oracle.com/global/cz/database/edice.html >
14
spolehlivost. Tato verze není ničím omezena. U této verze je možné specifikovat její využití s pomocí volitelných součástí, které mají své samostatné licence.
3.3 Nástroje databázového systému Oracle Database 3.3.1 Fail Safe Možnost nakonfigurovat Windows [7] cluster a zajistit rychlé a přesné automatické přepnutí na záložní server pomocí tohoto software pro vysokou dostupnost, který je úzce integrovaný s Microsoft Cluster ServicesIV.
3.3.2 Flashback Query Možnost získat historickou podobu dat i bez komplexní a dlouhotrvající obnovy databáze ze zálohy, zajímavý nástroj v případě havárie [7].
3.3.3 Flashback Table, Database and Transaction Query Nástroj pro vrácení zpět omylem provedené [7] operace na úrovni tabulky či celé databáze. Jedná se o velmi často používaný nástroj, prakticky příkaz, v rámci relace, kterým buď potvrdíme provedené změny, nebo vrátíme k předchozímu stavu, nebo zvolenému bodu obnovení.
3.3.4 Data Guard Nástroj pro tvorbu konfigurace, monitorování z [7] jediného prostředí jednou nebo více průběžně aktualizovaných záložních databází ve vzdálených lokalitách kvůli zajištění ochrany podnikových dat při rozsáhlých výpadcích, porušení dat či přírodních pohromách
3.3.5 Šifrování dat v databázi Soubor implementovaných funkcí pro programové šifrování dat v databázi. Využívají se hojně, funkce pro takzvané hashováníV řetězců, například citlivých údajů uložených v databázi jako jsou hesla apod.
3.3.6 Distribuované dotazy a transakce Pomocí tohoto nástroje lze provádět změny v datech pomocí dotazů nad dvěma či více různými databázemi najednou, například různými uzly distribuované databáze [7].
IV
Microsoft Cluster Service (MSCS) je jedna s Technologií firmy Microsoft umožňující spolupráci více serverů současně a rozdělit tak výpočetní zátěž rovnoměrně. V Hash je nevratný děj, jedná se o provedení jakého si kontrolního součtu všech prvků textového řetězce. Každý řetězec má jednoznačný hash, kolizní situace jsou vyloučeny, nebo jsou známé. Existuje velké množství hashovacích algoritmů.
15
3.4 Nástroje pro správu databáze od Oracle a třetích stran Vzhledem k dlouhodobé tradici existence výkonných a stabilních databázových řešení firmy Oracle je k dispozici velké množství nástrojů pro usnadnění práce s databází, které se liší jak mírou poskytovaných funkcí, stabilitou při tvorbě software, robustností, uživatelskou podporou a v neposlední řadě cenou. Při komerčním využití produktů Oracle se prakticky bez takového nástroje neobejdeme, ať už se jedná o činnosti již při nastavování parametrů databáze, nebo rychlého a efektivního vývoje rozsáhlých aplikací, případně propracovaných informačních systémů. Během své praxe vývojáře informačních systémů jsem měl možnost se seznámit s celou řadou produktů sloužících vývojářům, programátorů, a administrátorům k ulehčení práce s databázovými produkty Oracle ať už se jednalo nástroje přímo od firmy Oracle nebo o produkty třetích stran. Zde je výčet nejčastěji používaných produktů: SQL Plus, Toad for Oracle, Oracle SQL Developer, Oracle Maestro, Oracle Forms. K těmto nástrojům se ještě řadí takzvané CASE nástroje, které slouží k jakému si modelování aplikací ve visuální podobě, přičemž se na pozadí generuje zdrojový kód aplikace. Podle mého názoru nepatří Case nástroje pro tvorbu aplikací mezi nejšťastnější řešení, vzhledem k tomu, že kód generovaný na pozadí nemá vysokou kvalitu a pozdější ruční drobné úpravy jsou vykoupeny velkou daní, kterou je rozsáhlá analýza s ohledem na generované názvy proměnných a mnohdy nestandardní logikou prováděných operací. S přihlédnutím k tomu, že většinu rozsáhlých operací je třeba podrobně testovat a optimalizovat. Dochází k tomu, že bývá rozsáhlá část zdrojových kódů generovaných CASE nástrojem přepsána do srozumitelnější podoby a mnohdy jednodušší. Samozřejmě ale záleží na kvalitě CASE nástroje, to se ovšem odráží také na jeho ceně. Jak již bylo psáno, vyskytují se nástroje s různou pořizovací cenou a licencí, pod kterou jsou poskytovány práva na jejich používání. Obecně platí pravidlo, že pro některý komerční a nákladný produkt, který obsahuje komplexní nástroje, existují volně dostupné varianty s nulovými pořizovacími náklady, ovšem ve velké míře se jedná o více programů od různých výrobců, z nichž se každý soustředí na jinou funkci. Co se týče Open Source alternativ, u těch bývá kamenem úrazu roztříštěnost projektů, kdy jsou pro jednu funkcionalitu napsány třeba čtyři různé programy. Tato skutečnost na sebe váže potřebný čas na testování, který z produktů je lepší, proto řada firem využije komerční prověřený produkt s patřičnou uživatelskou podporou a garancí poskytované funkcionality v souladu 16
s aktuálně používanými verzemi databázových systémů, programovacích jazyků a obecně podporovaných a dodržovaných standardů.
3.4.1 Oracle SQL Developer Grafický nástroj zvyšující produktivitu a zjednodušující vývoj na úrovni databáze. Lze s ním docela snadno provádět základní úkony pro práci s uloženými daty, bohužel mě se zdá poněkud těžkopádný právě kvůli delším odezvám programu, práce s ním je pro mě neefektivní záležitostí. Vidím však jedno velké pozitivum v tom že se jedná nástroj přímo od firmy Oracle, který je neustále ve vývoji. Důkazem je, že v době psaní této práce vyšla zatím poslední verze, ve které není třeba řešit žádné problémy s kompatibilitou ve spolupráci s databázovým systémem a nástrojem pro správu a vývoj. Na rozdíl od jiných nástrojů není Oracle SQL Developer třeba instalovat, stačí pouze dekomprimovat stažený archív a spustit příslušný spouštěcí soubor a program je připraven. Jak ukazuje Obrázek 6 Náhled uživatelského rozhraní aplikace Oracle SQL Developer je vcelku jednoduché. Po levé straně je strom objektů uložených v databázi, ke které jsme připojeni, v pravé straně je podokno s detaily o vybraném objektu. Jedná-li se o tabulku, lze v ní upravovat uložená data, jedná-li se o trigger (spoušť), view (pohled) nebo uloženou proceduru, lze měnit jejich zdrojový kód. Užitečnou funkcionalitu, kterou ocení zejména začátečníci je možnost zobrazení skriptů pro tvorbu tabulek, pohledů a další objektů umístěných v ukázkové databázi, Začínající programátor se tak poměrně rychle zorientuje v prostředí Oracle Database. Tato aplikace obsahuje základní funkce pro migraci, import a export dat. Dalšími užitečnými částmi jsou určitě pokrokové možnosti aplikace při tvorbě ER diagramů a následné generování databázových SQL dotazů. Celkově je tento nástroj, který je vlajkovou lodí mezi nástroji pro práci s databází od firmy Oracle cenným pomocníkem usnadňujícím každému vývojáři, případně administrátorovi, práci v začátcích. Pro začínajícího programátora se jedná o cenný software vzhledem k poměru cena software/výkon. Jedná se totiž o freeware VI aplikaci, která je ke stažení oproti registraci na internetových stránkách firmy Oracle. Registrací uživatel získá rovněž přístup do moderovaných
diskusních
serverů
a
další
uživatelské
báze
znalostí
problematiku související s používáním produktů firmy Oracle.
VI
Autor si u freeware zpravidla ponechává autorská práva, například nedovoluje program upravovat.
17
řešící
Obrázek 6 Náhled uživatelského rozhraní aplikace Oracle SQL Developer
3.4.2 Oracle Application Express (Oracle APEX) Oracle Application Express viz Obrázek 7 Náhled rozhraní Oracle Application Express, je vývojový nástroj určený k vývoji a nasazení jednoduchých webových aplikací. Je úzce integrován a ke všemu zdarma s Oracle Database 10g a umožňuje komukoli rychle vytvořit bezpečnou a snadno rozšiřitelnou aplikaci a to pouze s využitím webového prohlížeče a minimálních programovacích zkušeností.
Obrázek 7 Náhled rozhraní Oracle Application Express
18
3.4.3 Toad for Oracle Taod for oracle je dle mého názoru to nejlepší, co lze nalézt v současné době pro práci s administrací nebo vývojem aplikací na platformě Oracle, obsahuje spoustu průvodců pro tvorbu a úpravu tabulek, nebo pohledů. Je v něm i možnost ručního psaní dotazů, jako v příkazovém řádku. Zejména při zálohování zdrojových kódů velkých projektů je neocenitelným pomocníkem průvodce pro export celého schématu, který do určené složky připraví skripty pro vytvoření všech objektů, které byly obsaženy v databázi v době exportu, ať už se jedná o tabulky, pohledy databázové balíky, uložené funkce a procedury, sekvence, indexy či triggery. Spolu s objekty jsou exportovány synonyma a práva pro využívání patřičných objektů. Uživatelské rozhraní je velmi účelně propracované a přizpůsobitelné, dialog pro nastavení, ve kterém je zabudován mechanizmus pro vyhledávání na základě klíčových slov, je efektivní pomůckou, kterou lze urychlit uzpůsobení si Toad for Oracle pro efektivní vývoj databázových aplikací. Jednoduše si tak upravíte rozhraní na míru vašich potřeb. Jak ukazuje Obrázek 8 Náhled rozhraní aplikace Toad for Oracle lze upravit téměř vše. Při vývoji lze současně pracovat s různými typy souborů (SQL, PL/SQL, HTML, Java, text) a využívat rozšířených vlastností (horké klávesy, automatická korekce, doplňování slov, zvýraznění syntaxe, kontrola verzí, atd.). Testování je zjednodušeno trasováním, procházením exekučních plánů s pomocí DBMS_OUTPUT view.
Rozšiřující moduly pro Toad for Oracle Toad Knowledge Xpert for PL/SQL Poskytuje integrované prostředí pro optimalizaci PL/SQL příkazů včetně technických znalostí, nejlepších praktik a příkladů. Zahrnuje PL/Vision – knihovnu kódu s více než 1000 PL/SQL procedur a funkcí [8].
Toad Knowledge Xpert for Oracle Administration Obsahuje řešení pro 70 až 80 procent problémů každodenní administrace Oracle. Tisíce témat nabízejí informace o problému, syntaxi a příklady pro okamžité řešení problémů [8].
19
Toad PL/SQL Debugger Umožňuje trasování kódu (řádek po řádku) bez nutnosti měnit exekuční plán aplikace. Během trasování jsou operace prováděny stejně jako v reálném provozu s možností nastavovat breakpointVII (body přerušení), prohlížet a modifikovat proměnné a prohlížet zásobník (stack) [8].
Toad Xpert Tuning Nabízí expertní doporučení pro zlepšení výkonu, následně pak vytvoří potřebné kroky v SQL pro provedení příslušné změny. Poskytuje programátorům odborné schopnosti pro optimalizaci SQL příkazů vzhledem k maximálnímu výkonu databáze.
Toad DBA Umožňuje automatizovat každodenní administrátorské úlohy (porovnávání a synchronizace databázových schémat, údržba prostoru, plánování dávkových úloh). Současně jsou nabízeny rozšířené možnosti pro import a export dat.
Obrázek 8 Náhled rozhraní aplikace Toad for Oracle
3.4.4 Oracle SQL Plus Dalším nástrojem je příkazový řádek Oracle SQL Plus viz Obrázek 9 Náhled rozhraní Oracle SQL Plus. I přes veškeré možnosti všech ostatních nástrojů je příkazový řádek, dostatečně svižný a práce s ním je bezesporu rychlejší, alespoň co se základních VII
Breakpoint = bod přerušení, jedná se o označené místo, na kterém dojde k pozastavení běhu programu, lze se tak sledovat například aktuální obsah proměnných v době běhu aplikace [9].
20
operací týče. Bohužel klade na uživatele nutnost znalosti dotazovacího jazyka SQL, je možné používat hotové skripty uložené v externím souboru s příponou *.sql, které jsou uložené v patřičné složce. Ta je nastavena ve vlastnostech zástupce, kterým se konzole spouští. Pro zjednodušení spouštění lze využít i možnosti zadávat různé parametry příkazového řádku, základním parametrem jsou přihlašovací údaje potřebné po připojení k databázi. Tím si lze alespoň trochu ulehčit práci, opětovného zadáváním přihlašovacích údajů, ale z bezpečnostních důvodů se toto nedoporučuje používat, neboť hrozí zneužití takto uložených citlivých lehce zneužitelných údajů údajů.
Obrázek 9 Náhled rozhraní Oracle SQL Plus
3.5 Základy administrace Klíčovým slovem je bezpečnost. V databázích, které mnohdy obsahují velmi důležitá data je tento pojem více než na místě. Nejlépe je řešit veškeré restriktivní operace již na úrovni uživatelského účtu v databázi. Do velké míry tak bude aplikace zabezpečená proti zneužití. Na příklad: Máme-li v aplikaci různé části, číselníky, databáze klientů, část pro time management firmy, účetní data a další, bylo by zřejmě chybou, kdyby všechny tyto objekty měly stejného vlastníka a přihlašovali se do aplikace, potažmo databáze pod stejným účtem. Je nežádoucí, aby úřednice, která má na starosti nábor nových zaměstnanců, měla i možnosti měnit data i v účetních knihách firmy. Proto se v současné době využívá modelu, kdy každý uživatelský účet v aplikaci, odpovídá uživatelskému účtu v databázi. Tím je zaručeno, na základě udělených práv (grantů), že bude mít každý účastník informačního systému exekuční privilegia jen k nezbytně nutným krokům. Dovolujeme tedy maximální možné minimum pro manipulaci s uloženými daty. 21
3.6 Databázové objekty Byly již zmíněny některé nástroje pro práci s databázovou platformou Oracle, je tedy nutné se zmínit i o záležitostech uvnitř vlastní databáze. Pro práci s daty uleženými v databázích slouží nejrůznější databázové objekty, jednak pro uložení dat a jednak pro práci s daty.
3.6.1 Tabulky Tabulky jsou objekty, jejichž hlavní funkcí je uložení dat. Tabulka je rozdělena do sloupců, což jsou vlastně položky, například Jméno, Příjmení, email. Do kterých se ukládají údaje, každý údaj tvoří nový řádek neboli větu. V databázi jsou kromě uživatelských tabulek, ještě takzvané tabulky o tabulkách nebo jiných objektech. Obsahují detailnější údaje o ostatních objektech v databázi.
3.6.2 Pohledy Pohledy jsou tvořeny z tabulek, jedná se o objekty, ze kterých se dají tvořit výstupy podobně jako z tabulek. Pohled obsahuje stejná data jako tabulky, ze kterých tvořen, obsahuje prakticky odkazy na tabulky a jejich položky. Pohledy používáme všude tam, kde potřebujeme mít něco jako zpracovatelný databázový dotaz SELECT. Jedná se prakticky o databázový objekt vytvořený z SQL dotazu typu SELECT.
3.6.3 Sekvence Sekvence je dle mého názoru velice užitečný objekt, má obdobné vlastnosti, jako datový typ AUTOINCREMENT v databázi MySQL, přičemž má o mnoho více možností nastavení. Sekvence používáme všude tam, kde potřebujeme generovat jednoznačné údaje (identifikátory, ID) pro nově přidávané položky do tabulek. databázového dotazu pro vytvoření sekvence v databázi. CREATESEQUENCE "Nazev_sekvence" MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 ORDER NOCYCLE;
22
Následující ukázka
Tímto jsme vytvořili sekvenci, u které počáteční hodnota začíná u čísla 1, identifikátory se generují inkrementací o 1.
3.6.4 Uložené funkce a procedury Uložené funkce a procedury jsou procedury uložené v souborovém systému [7] databáze, lze je volně volat při psaní jakéhokoliv skriptu nebo programu, lze je používat v aplikacích napsaných v PHP, C++, Delphi. Jedná se prakticky o souhrn příkazů uzavřených v bloku provádějících požadované operace s daty. Uložené procedury lze psát jak v PL/SQL tak například v Javě, jsou i databáze které umožní psát uložené procedury například v C++ nebo v Perlu. Schopnost a způsob jakým lze volat uložené funkce a procedury závisí na tom, jakým způsobem je vytvořeno rozhraní pro práci s databázovou službou na úrovni databázového ovladače. Základní rozdíl mezi procedurou a funkcí je ten, že procedura nemá žádný návratový datový typ.
3.6.5 Databázový programový balík V rámci přehlednosti a efektivitě při práci bylo třeba mít možnost jednotlivé funkce a procedury shromažďovat do jednotek, ve kterých by byly funkce a procedury určené například pro jednu aplikaci nebo pro práci s daty nad určitými tabulkami v databázi. Databázový balík se skládá ze dvou částí, z těla a specifikace. Nejdříve je třeba napsat specifikaci, tu zkompilovat a poté napsat tělo databázového balíku a rovněž zkompilovat. Funkce a procedury uložené v balících je rovněž možno volat na úrovni databáze prakticky z jakéhokoli prostředí, které je uzpůsobeno na spolupráci s rozhraním databáze, které povětšinou tvoří Oracle Client.
3.6.6 Trigger Trigger – obdoba uložené procedury [7], nikdy se neprovádí přímo, ale je vázaný na konkrétní událost. Slouží k automatickému spuštění množiny příkazů, která automaticky provede předem definované operace s daty. Slouží většinou pro kontrolu vkládaných dat. Pro ošetření integrity dat v databázových tabulkách. Triggery lze využít před příkazy, nebo po příkazech insert, delete nebo update.
23
3.6.7 Transakce Transakce je operace, nebo spíše skupina operací, nad daty v databázi. Převádějí databázi z jednoho konzistentního stavu do druhého, které splňují následující vlastnosti: Atomicita – Transakce se provede buď celá, nebo se neprovede vůbec. To znamená, že nezůstane v půli cesty. Konzistence – Transakce převádí systém z jednoho konzistentního stavu do jiného konzistentního stavu. Izolovanost – Během provádění transakce ostatní transakce nevidí její částečné výsledky. Ty jsou vidět až po potvrzení změn. Nevratnost – Když už jednou transakce úspěšně skončena, tak jsou její výsledky trvalé. To znamená, že nelze tuto transakci dodatečně odvolat. V databázovém systému Oracle vše probíhá v transakcích, i když si to uživatel nemusí uvědomovat. Transakce začne sama tím, že se provede nějaký SQL příkaz. Ukončit transakci lze explicitně pomoci příkazu COMMIT nebo ROLLBACK, nebo odhlášením se od databáze. Při normálním odhlášení se provede COMMIT a Při vzniku výjimky a u klienta se provede vrácení provedených změn – ROLLBACK.
24
4. Popis vlastního informačního systému K2 4.1 Co je informační systém? Soubor lidí, technických prostředků a metod zabezpečujících sběr, přenos, zpracování a uchovávání dat za účelem tvorby a prezentace informací pro potřeby uživatelů [10].
4.2 Co je Informační systém K2? Informační systém K2 je komplexní systém pro řízení podniků od firmy AtmitecVIII, který ve svých modulech umožňuje provázaně řídit činnosti jednotlivých oblastí podnikového řízení. Je v současné době moderně tvořeným softwarem, který splňuje všechny požadavky kladené na informační systémy při současném stavu vývoje IT. Pracuje s jasnou vizí a připraveností na očekávaný vývoj této dynamicky se rozvíjející oblasti v budoucích letech. Informační systém K2 jsem pro svou práci zvolil proto, že se orientuje i na databázový systém Oracle. Důkazem toho je zkušební verze, kterou výrobce Informačního systému K2 zasílá na vyžádání poštou na instalačním médiu společně s volně šiřitelnou verzí Oracle 10g XE. Data, se kterými pracuji v rámci Informačního systému, jsou data vytvořená pro účely testování, jedná se tedy o fiktivní firmu.
4.3 Pracovní plocha Hlavní úvodní obrazovka rozhraní, slouží jako pracovní plocha informačního systému K2, viz Obrázek 10 Pracovní plocha systému K2. V levé části je umístěno stromové menu, ze kterého lze vstoupit do jednotlivých modulů, vytvářet, nové záznamy, tisknout nebo spouštět příslušné funkce nad jednotlivými moduly. V pravé části jsou záložky a ikony. Správným nastavením pracovní plochy můžeme docílit zefektivnění práce s informačním systémem K2. Můžeme si nastavit stromovou strukturu dle toho, s jakými moduly budeme chtít pracovat, přidávat nebo ubírat sestavy nebo funkce. Dále lze upravit pracovní plochu přidáním, smazáním, nebo přesunem záložek a ikon. Veškerá provedená nastavení jsou ukládána a uživatel tak má možnost si přizpůsobit prostředí plně svým potřebám.
VIII
< http://www.k2atmitec.cz/ > internetové stránky tvůrců Informačního systému K2. Pro zkrácení budu v některých částech používat pro Informační systém K2 zkratku IS K2.
25
Obrázek 10 Pracovní plocha systému K2
Popis položek pracovní plochy 1. Vyvolání nabídky – Hlavní menu, kterým je uživateli umožněno přistupovat k základním konfiguračním volbám. Ne zcela všechny položky jsou dostupné pro běžného uživatele Informačního systému K2, některé volby jsou dostupné pouze pro správce IS K2. 2. Jméno firmy v rámci IS K2 se chápe jako mandant, pro který se data zpracovávají. Informační systém K2 je uzpůsoben pro práci s více mandanty, toto je ovšem omezeno u nižších verzí IS K2. 3. Záložky (uzly) jednotlivých stránek (uživatelské režimy), prostřednictvím těchto uzlů lze přistupovat k modulům, které jsou základním stavebním kamenem pro práci s IS K2. 4. Tlačítka jednotlivých modulů, skrze které lze přistupovat k jednotlivým modulům, ovšem ne všechny moduly je dovoleno spravovat běžnému uživateli informačního systému. 5. V této části je zobrazeno jméno uživatele aktuálně přihlášeného do systému. 6. Cesta k uživatelskému adresáři. Adresář na cílové cestě by měl mít taková oprávnění. 7. Zdroj dat, jedná se o databázi, ke které je informační systém připojen, tento parametr lze měnit v jednom z konfiguračních souborů. V praxi se jedná o to nejdůležitější, s čím se pracuje v rámci IS K2. Jedná se tedy o data. 26
8. Název tlačítka modul, na kterém je umístěn ukazatel myši (stavový řádek), jedná se o jakýsi druh nápovědy a slouží k lepší orientaci při ovládání informačního systému. 9. Možnosti zobrazení ve stromové struktuře. Pomocí tohoto ovládacího prvku je možné nastavovat základní podmínky pro zobrazení položek ve stromovém menu, je možné i v rámci administrátorských kompetencí nastavit výchozí položky zobrazené danému uživateli. 10. Obrázek s logem K2 na ploše.
4.4 Základní nastavení pracovní plochy 4.4.1 Stromové menu Bez filtru lze pracovat s kompletní nabídkou stromového menu a to v případě, že máme práva pro přístup do všech modulů. Pokud se uživatel pokusí o přístup do modulu, ke kterému nemá přístupové oprávnění, pak je upozorněn varováním. Při výběru jednoho modulu budeme pracovat pouze s tímto modulem a jeho funkcemi. Stisknutím černého křížku zrušíme zobrazení stromové menu. Pomocí hlavní nabídky lze řešit zobrazení stromového menu následujícím postupem: „ Hlavní menu –>Nástroje –>Stromové menu –>Zobrazovat stromové menu “. Pracovní plochu lze plně uzpůsobit každému uživateli tak, aby měl pro svou roli všechny nejdůležitější funkce dostupné přímo z pracovní plochy. Po stisku pravého tlačítka myši na pracovní ploše dojde k zobrazení formuláře s možnostmi úpravy záložek a tlačítek.
4.4.2 Masky pracovní plochy Slouží k uložení nastaveného vzhledu pracovní plochy, který si zachová i po opuštění IS K2 a jeho opětovném spuštění. Masky pracovní plochy mohou být předem přiřazeny administrátorem informačního systému pro danou uživatelskou roli. Například účetní, která se přihlásí do systému, má již při prvním spuštění pracovní plochu způsobenou pro všechny své nezbytné pracovní úkony, jako přístup do účetních knih, k tiskovým reportům a do ostatních účetních evidenčních knih, které souvisejí s její rolí v rámci celého informačního systému. Tuto výchozí masku má možnost si ovšem v rámci určitých pravidel přizpůsobit si svým potřebám.
27
Rozdělení masek Systémové masky U systémových masek při reinstalaci systému dochází k přepisu.
Sdílené masky Sdílené masky si vytváří uživatel sám. Uložení sdílené masky se projeví u všech uživatelů, kteří ji používají. Novou sdílenou masku nejlépe vytvoříme úpravou systémové masky a tu pak uložíme jako novou tlačítkem Uložit jako novou.
Uživatelská maska Uživatelská maska se zobrazuje pouze ve stavu Kniha. Pro nastavení uživatelské masky je potřeba odtrhnout volbu Zapnutá maska ve formuláři Nastavení vzhledu rozhraní IS K2. Tato maska je pak určena pouze pro daného uživatele. Uložení sdílené masky pracovní plochy: Hlavní menu – Nástroje – Nastavení vzhledu – Ulož jako novou. Výběr masky pracovní plochy: Hlavní menu – Nástroje – Nastavení vzhledu – Výběr masky. Nebo:
Hlavní menu – Nástroje – Masky pracovní
plochy – Výběr masky. Práva související s nastavením pracovní plochy najdeme v právech uživatele. Správce – Parametry uživatele.
4.4.3 Práce s tlačítky Na jednotlivé záložky můžeme vkládat nová tlačítka, odstranit je a posouvat, měnit jejich vzhled nebo název. Cílem těchto vlastností informačního systému K2 je umožnit uživateli vytvořit pracovní plochu, dle jeho představ, co nejpřehlednější. Tlačítka a jejich funkce lze upravovat přes Hlavní menu – Nástroje – Tlačítka
4.4.4 Stromové menu Stromové menu, lze maximálně přizpůsobit potřebám uživatele. Lze pracovat jednak s vybranými moduly, nebo celým stromem. Lze v něm jednotlivé nabídky mazat, vkládat nové funkce, sestavy, nebo podřízené moduly. Lze editovat názvy položek, a další vlastnosti položek. Stiskneme-li pravé tlačítko myši nad libovolnou položkou stromového menu, tak vyvoláme kontextové menu s nabídkou možných voleb funkcí pro práci se stromovým uzlem. Viz Obrázek 11 Kontextová nabídka s volbami uzlu
28
Kliknutím na položku z kontextové nabídky Vlastnosti se nám zobrazí tento dialog, ve kterém lze měnit některé vlastnosti položky, jako je funkce, ikona, název a lokální zařazení, viz Obrázek 12 Dialog pro konfiguraci uzlu stromové nabídky. Ve volbě funkce lze změnit cílový mechanizmus, který bude vyvolán po kliknutí levým tlačítkem myši na položku uzlu. Pod položkou ikona se rozumí identifikační visuální záležitost, sloužící k lepší orientaci v položkách stromového menu. K tomuto účelu jsou podporovány základní formáty ikon systému Microsoft Windows. Název, nebo popisek položky, je zobrazený titulek v rámci stromového menu. Pod volbou lokální zařazení volíme uživatele, ke kterému bude nabídka po přihlášení do systému náležet.
Obrázek 11 Kontextová nabídka s volbami uzlu
Obrázek 12 Dialog pro konfiguraci uzlu stromové nabídky
4.5 Sloupce Sloupce a jejich řádky slouží jako vlastní mechanizmy pro reprezentaci uchovaných dat v informačním systému, která jsou uspořádaná a zobrazovaná v tabulkách. Sloupce a jejich masky slouží k lepší přehlednosti a organizaci zpracovávaných dat, uživatel může přizpůsobit zobrazované sloupce, jejich pořadí, řadit data podle jím vybraného sloupce. Může si vybrat zobrazované sloupce. Kliknutím na hlavičku sloupce pravým tlačítkem lze vyvolat nabídku pro práci se sloupci. Zvolíme-li nabídku Výběr sloupců, zobrazí se dialog pro volbu zobrazovaných sloupců viz Obrázek 13 Dialog pro výběr zobrazených sloupců. U sloupců platí obecně to samé jako u pracovní plochy, lze pracovat s maskami obdobně jako s maskami pracovní plochy. Skrze hlavní nabídku lze zobrazí management dialog pro zprávu zobrazení masek sloupců Hlavní menu – Zobrazit – Masky sloupců. 29
Obrázek 13 Dialog pro výběr zobrazených sloupců
4.6 Sestavy Výstupní tiskové sestavy, jsou, programovatelná součást informačního systému K2. Je možno si prakticky vytvořit sestavy, které lze nezařadit do knihy sestav, nebo je přiřadit do uživatelské lišty, případněji přiřazovat je uživatelům. Rovněž lze zařadit sestavu do podokna náhledu. Pro práci se sestavami je stěžejní formulář, který vyvoláme stiskem klávesy F9, prakticky se jedná o Knihu sestav, viz Obrázek 13 Dialog pro výběr zobrazených sloupců. Formulář vyvolaný stiskem klávesy F9 obsahuje seznam dostupných tiskových sestav pro danou knihu, nad, kterou byl vyvolán. To znamená, že pro daný modul vybraný uživatelem informačního systému, nebo knihu jsou k dispozici různé tiskové výstupní sestavy, tedy v knize sestav je vždy nabídka těch sestav, které jsou pro daný modul aktuální a ne pro žádný jiný modul informačního systému. Tento formulář slouží k zařazování tiskových sestav do nabídky, je také vstupním bodem pro úpravu K2 skriptů, nebo tiskových sestav typu AM, nebo typu RPM.
30
Obrázek 14 Výstupní tiskové sestavy pro peněžní deník
4.7 Filtry Filtry dat IS K2 jsou významným pomocníkem pro práce s uloženými daty, ať se jedná o aktivní práci (vkládání, změnu údajů) nebo o veškerá vyhodnocování. V rámci IS K2 existují čtyři varianty aplikace filtru. Kniha Filtr vypnutý
Vyhodnocení
V knize jsou data setříděna Vyhodnocovací filtr vypnutý podle
primárního
klíče. V tomto stavu se zobrazí
Pokud jsou doklady členěny naprosto všechna data, tedy do knih, jsou zobrazena ze všech knih. Nelze zde ani pouze data jedné knihy
vkládat nové doklady do databáze, ani vkládat nové doklady do filtru. Tento stav může
sloužit
především
k práci nad úplně všemi daty. Filtr zapnutý
Rychlý filtr Je
Vyhodnocovací filtr zapnutý
aplikován
přímo
na Nejčastější
Knize. Rychlý filtr využívá vyhodnocení.
stav
pro
Do
tohoto
pouze indexů dané tabulky, filtru lze vybírat ze všech dat jeho práce je tedy v reálném dané tabulky dle libovolných čase, zapnutí je okamžité, kritérií. avšak možnosti voleb tohoto filtru jsou omezené.
31
4.8 Práva 4.8.1 Uživatelé Uživatelé, úrovně jejich práv a celkově navržená bezpečnostní politika jsou všeobecným měřítkem toho, jak stabilně a neprůstřelně je informační systém i po této organizační stránce navržen. Kdyby měl každý uživatel přístup do všech modulů a mohl bez jakýchkoliv restrikcí zasahovat do všech dat, byl by to závažný bezpečnostní nedostatek v informačním systému a velké selhání ze strany celého vývojového týmu. Následující účty jsou implicitně vytvářeny v rámci instalace z média, které jsem testoval. K2 jako administrátor, což je správce systému, má práva pro tvorbu uživatelů, skupin a nastavování jejich oprávnění. DEMO jako demonstrační uživatel s nastaveným právy pro běžného uživatele například funkce jako jsou asistentka, nebo účetní. Každý uživatel je v rámci IS K2 jednoznačně identifikován svým číslem, které se používá pro nastavení pracovního adresáře, zkratkou a heslem. Toto heslo si může každý uživatel kdykoliv sám změnit. Správce má pouze možnost vymazat kterémukoliv uživateli jeho heslo klávesou F8 a má možnost nastavit minimální délku hesla při jeho změně. Hesla jsou ukládána v databázi v hashované podobě. Vzhledem k tomu, že hashovaní textového řetězce je nevratný proces, je jedinou cestou, když uživatel zapomene své heslo, jeho resetování, smazání, nebo přepsání jiným heslem, díky uživateli, který má v databázi vyšší oprávnění, v tomto případě administrátor IS K2. Zapomene-li heslo administrátor, tak možnosti jak zachránit situaci spočívají v zásahu do databáze, lokalizováním položek kde, jsou uložena hesla a jejich přímé nahrazení jinými hashovanými řetězci, bohužel je to podmíněno znalostí hashovaní metody, kterou používá tlustý klient IS K2. Přehled účtů vytvořených v rámci IS K2 ukazuje Obrázek 15 Kniha uživatelů.
32
Obrázek 15 Kniha uživatelů
Přidělováním práv lze umožnit uživatelům prohlížet nebo editovat jednotlivé moduly i jejich záložky. Lze také zabránit vstupu do daného modulu, nebo na některé záložky. Je lepší si nejdříve nastavit jednotlivé skupiny, přidělit jim práva a poté jednotlivé uživatele přiřadit do daných skupin. Postup nastavení jednotlivých dílčích oprávnění je patrný na Obrázek 16 Přidělování dílčích oprávnění. K vytváření uživatelů, nastavování a přidělování práv je nutné se přihlásit do IS K2 jako uživatel s administrátorským oprávněním. Podrobná práva nastavujeme na kartě číslo 5. Pro volbu, zda bude modul uživateli zpřístupněn, použijeme mezerník na myší označené položce.
Obrázek 16 Přidělování dílčích oprávnění
4.9 Struktura adresářů Organizační struktura IS K2 je navržena tak, že všechno má své místo [4]. Již samotné názvy podadresářů napovídají, jaký je jejich obsah a usnadňují tak administrátorům, práci s nimi. Položky, které jsou umístěny v kořenovém adresáři. CONF slouží pro ukládání konfiguračních dat, je zde umístěn licenční soubor K2.K2W. 33
DOC obsahuje dokumentaci a uživatelskou příručku IS K2. INIT obsahuje inicializační data pro nově přidávané firmy. DEMO obsahuje data pro demonstrační firmu. OLAP obsahuje skripty pro OLAPIX, ale nejsou standardem. SERVISW obsahuje servisní programy pro instalaci K2 (export, import dat, SQL procedury). SESTAVYW obsahuje skripty pro sestavy a formuláře.
Podadresáře Všechny sestavy nebo skripty jsou uložené v podadresářích adresáře SESTAVYW. V podadresáři STANDART jsou umístěny sestavy a funkce dodávané s programem, které se reinstalací přepisují na nové. V podadresáři SPECIAL jsou soubory určené pro konkrétní licenci K2. BK2 je určen pro balíčky. FORM slouží k uložení definice formulářů skriptu, jazykové verze. K2R je vymezen pro soubory K2 skriptu, jednotky, soubory RF_2.PAS pro registraci RF. Verarch slouží jako archívní adresář RPM sestav.
Adresáře pro uložení dat mandantů DATA je vyčleněn pro živá data konkrétní firmy. ARCH slouží pro archivovaná data. TRAN je určen jako složka pro přenos. Uxxxx slouží jako adresáře uživatelů, název dle ID uživatele. Form_0 uchovává editované formuláře v K2. Picture je vyhraněn jako adresář pro obrázky.
IX
OLAP (Online Analytical Processing) je technologie uložení dat v databázi, která umožňuje uspořádat velké objemy dat tak, aby byla data přístupná a srozumitelná uživatelům zabývajícím se analýzou obchodních trendů a výsledků. Zdroj: http://cs.wikipedia.org/wiki/OLAP
34
5. Programování v rámci informačního systému K2 5.1 Skriptovací jazyk K2 Skript Jednou z možností jak provádět změny funkční a vizuální v rámci IS K2 je takzvaný K2 skript [4]. Jedná se o jazyk syntakticky podobný Object Pascalu, nebo procedurálnímu SQL, přejímá od něj většinu datových typů, operátorů a rezervovaných slov K2 skript je interpretován vlastním interpretem. K2 Skript slouží především k návrhu a tvorbě tiskových sestav na vytvořených s ohledem na požadované náležitosti.
5.1.1 Datové typy Konstanty se dělí na typizované a netypizované. To znamená, že i konstanta může být určitého datového typu. Celočíselný typ integer, je číslo bez desetinné čárky. Integer lze využít pro uchování celého čísla. Logický typ boolean, je datový typ nabývající pouze dvou hodnot true, nebo false. Takto definovaná proměnná slouží k uchování logické hodnoty. Znakový řetězec: string, je řetězec znaků, které můžeme zapsat jak klasickým způsobem, tak řadou ASCII kódů proměnná tohoto datového typu se používá k uložení textu. Přetypování je mocnou zbraní mnohých programovacích jazyků, stejně tak lze datové typy v rámci IS K2 mezi sebou, při zachování určitých pravidel, přetypovávat.
5.1.2 Operátory Základní skupiny operátorů jsou relační, matematické a logické. Funkce matematických operátorů je stejná jako v matematice. Je třeba si rovněž dávat pozor na prioritu operátorů, abychom zbytečně neměly logické chyby v programu. Logické operátory: OR, AND používáme při vyhodnocování více sloučených podmínek, v následující tabulce, je přehled, jakých výstupních hodnot nabývá vyhodnocovaná podmínka pro jaké vstupní hodnoty.
35
Proměnná
AND
Proměnná
Výsledek
1
2
True
True
True
True
False
False
False
True
False
False
False
True
Proměnná
Výsledek
Proměnná
OR
1
2
True
True
True
True
False
True
False
True
True
False
False
False
Relační operátor „ := “ přiřazuje hodnotu vlastnosti, proměnné, nebo objektu. Matematické operátory +
Sčítání
-
Odčítání
*
Násobení
/
Dělěni
5.1.3 Struktura programu Obdobně, jako v Pacalu je v program rozčleněn do několika základních povinných celků. UNIT NAZEV_JEDNOTKY USES POUZITE_JEDNOTKY VAR POKUSNY_TEXT: STRING; BEGIN POKUSNY_TEXT := 'NEJAKY TEXT'; END. 36
V sekci UNIT je název modulu, který by měl být pro každý modul jednoznačný. V sekci USES jsou vypsány všechny programové moduly, ze kterých chceme používat jejich funkce. Klíčové slovo VAR poukazuje na blok, kde se deklarují proměnn. Deklarace proměnných má vzor v Pascalu a podobných programovacích jazyků, jako jsou procedurální SQL, tudíž se nejdříve uvede identifikátor posléze jeho datový typ. Mezi BEGIN a END se nachází vlastní výkonný programu příkazů.
5.1.4 Funkce V K2 skriptu je možno využívat funkce, které jsou součástí interpreta K2 skriptu, není tedy nutné vkládat žádnou jednotku s deklaracemi funkcí do sekce USES. Jedná se například o funkce pro různé konverze, získávání různých údajů, kontrolu dat, formátovací funkce, funkce pro vstup a výstup, funkce pro operace s textovými řetězci, matematické funkce, funkce pro práci s datem a časem, funkce pro spouštění další K2 skriptů, funkce pro různé konverze cest k souborům, různé systémové funkce, funkce pro práci s doklady a získávání informací o nich a v neposlední řadě funkce pro ošetření výjimek.
5.1.5 Komentáře Komentáře ke zdrojovým kódům se píší do složených závorek stejně tak, jak je tomu u Pascalu. {toto je víceřádkový komentář ke zdrojovému kódu}
5.2 Integrovaný editor sestav Integrovaný editor sestav je prostředkem k pokročilým možnostem správy informačního systému K2, protože umožňuje editaci již existujících sestav a ke tvorbě nových sestav. Editor má jak fundamentální nástroje editace vlastního programového kódu ve formě K2 skriptu, tak ke tvorbě grafického návrhu tiskových sestav. Jeho pracovní plochu zobrazuje Obrázek 17 Pracovní plocha editoru K2 skriptu. Plocha je rozčleněna na vlastní kódový editor (1.), hlavní nabídku (2), panel nástrojů (3) a paletu komponent (4). Hlavní funkcí editační části je úprava programového kódu, zvláštností a řekl bych, že užitečnou funkcí je, že automaticky generované části kódu generované vývojovým prostředím nelze editovat, jsou to například názvy funkcí, nebo procedur. Zabrání se tím nechtěnému přepsání a zbytečnému hledání chyb. Na první řádek funkce nebo procedury 37
se lze dostat přes Inspektora Objektů, stisknutím tlačítka F vpravo u vlastnosti, nebo klepnutím na červené F vlevo před názvem vlastnost nebo události. Pomocí procedur a funkcí, tedy můžeme za běhu měnit vlastnosti objektů. Pokud je vlastnost ovlivňována funkcí má toto nastavení přednost před nastavením v Inspektoru Objektů, které je bráno pouze pro návrh. Obrázek 17 Pracovní plocha editoru K2 skriptu ukazuje záložky s titulky AmCalculates, AmProperties, AmEvents, AmGlobals. Pro lepší orientaci ve zdrojových kódech je zdrojový kód rozdělen do několika modulů. AmCalculates jsou funkce pro výpočet počítaných polí. AmProperties jsou funkce pro vyhodnocení vlastností objektů. AmEvents jsou Procedury a funkce napojené na události objektů. AmGlobals jsou globální proměnné, procedury a funkce pro celou sestavu. Další funkcí editoru je také možnost tvořit v náhledu, viz Obrázek 18 Pracovní plocha editoru sestav v režimu grafického návrhu. Můžeme jednotlivé komponenty přetahovat myší z palety komponent na formulář tiskové sestavy. Upravování vlastností komponent lze provádět Inspektorem Objektů, kterým, jak ukazuje Obrázek 19 Inspektor objektů lze upravovat vlastnosti, jak každých jednotlivých komponent, tak společné vlastnosti výběru, (jen ty společné vlastnosti, jako např. písmo, velikost písma). Společné vlastnosti jsou v Inspektoru Objektů u názvu označeny červenou tečkou. Více objektů vybereme tak, že podržíme klávesu CTRL a levým tlačítkem myši vybereme požadované objekty. Následným stiskem klávesy F11 vyvoláme Inspektora Objektů. V pravém horním rohu Inspektoru objektů lze spatřit počet vybraných objektů, hned vedle údaje s počtem vybraných objektů je na straně možno zjistit název vybraných objektů a jejich typy. Všechny vlastnosti typu rozměr (jako jsou výška, šířka nebo umístění) jsou uváděny v milimetrech, kromě vlastnosti Font.Size. Změníme-li nechtěně nějakou část v návrhu, nebo v kódu, lze snadno vše vrátit klávesovou zkratkou CTRL + Z. Vybrané klávesové zkratky pro ovládání editoru viz Příloha 1.
38
4.
1.
3.
2.
Obrázek 17 Pracovní plocha editoru K2 skriptu
Obrázek 18 Pracovní plocha editoru sestav v režimu grafického návrhu
Inspektor objektů V inspektoru objektů lze nastavovat vlastnosti objektů, jako jsou zarovnání a písmo, ale také přistupovat k metodám a funkcím poskytovaných daným objektem. Na následujícím obrázku Obrázek 19 Inspektor objektů jsou vidět červené tečky u těch vlastností, které jsou společné pro všechny vybrané objekty.
39
Obrázek 19 Inspektor objektů
Hlavní nabídka Poskytuje přístup k funkcím editoru, pro práci se souborem, k úpravám v dokumentech a práci s objekty. Skrze nabídku možnosti zpřístupníme dialogy pro nastavení možnosti návrhu sestavy. Viz Obrázek 20 Hlavní nabídka editoru sestav.
Obrázek 20 Hlavní nabídka editoru sestav
Paleta komponent K dispozici pro návrh jsou komponenty rozličných funkcí a vlastností. Pro lepší orientaci jsou rozdělené do záložek: na standardní, datové, kontejnerové, speciální počítané, komponenty pro textový režim a K2 komponenty. Skupina Standard
Obrázek 21 Paleta komponent - Standard
Záložka obsahuje z leva komponentu Text pro zobrazení statického textu, Number pro zobrazení čísla, u kterého můžeme nastavit formát zobrazovaného čísla. Komponenta Shape zobrazuje tvar (obdélník, zaoblený obdélník, kruh). Dále pak zobrazuje skupinu komponent, které zobrazují rovné čáry, podle volby jinak zarovnané a jinak orientované. Jsou to: HorzLineUp – horizontální čára zarovnaná nahoru
40
VertLineLeft – vertikální čára zarovnaná doleva HozLineDown – horizontální čára zarovnaná dolu VertLineRight – vertikální čára zarovnaná doprava UnderLine – podtrhávací čára Dále jsou zde komponenty pro čárový kód Datové komponenty
Obrázek 22 Paleta komponent - Datové komponenty
Tato záložka obsahuje komponentu Všechna datová pole pro přidání všech datových komponent cyklicky. Komponentu Data pro zobrazení datového pole, komponentu Formula pro zobrazení počítaného pole, komponentu Aggr pro zobrazení agregačního pole, RunAggr pro zobrazení datového pole a komponentu Vytvořit agregaci pro vytvoření agregačního pole z vybraného datového pole. Kontejnerové komponenty
Obrázek 23 Paleta komponent - Kontejnerové komponenty
Na této záložce jsou k dispozici komponenty pro zobrazení objektů rozličných datových struktur. Komponenta OLE pro zobrazení dokumentů z aplikací řady Office. Komponentu RichText, pro zobrazení dokumentu s tímto formátováním, komponentu Picture pro zobrazení obrázku. Komponentu Html pro zobrazení HTML. Speciální počítané komponenty
Obrázek 24 Paleta komponent - Speciální počítané komponenty
41
Záložka obsahuje komponenty pro zobrazení čísla strany a počtu stran, nebo pro zobrazení data s informacemi o zahájení tisku sestavy. Komponenty pro textový režim
Obrázek 25 Paleta komponent - Komponenty pro textový režim
Na této záložce se nacházejí komponenty, které přidávají escape sekvence do textového výstupu. ESQCondensOn zapíná zahuštěný tisk. ESQCondensOff vypíná zahuštěný tisk. ESQPicaOn nastavení hustoty písma pica (10 znaků na palec – 80 znaků na A4) ESQEliteOn nastavení hustoty písma elite (12 znaků na palec – 80 znaků na A4) K2 komponenty
Obrázek 26 Paleta komponent - K2
RPMStd tato komponenta umožňuje tisknout standardní překládané výrazy. Komponenta RPMSpc umožňuje tisknout uživatelské překládané výrazy. Tento překlad je možno získat ve skriptu také funkcí GetRpmSpcText, skrze RPMAuto je možno tisknout automaticky plněná pole (název firmy, telefony, IČO, DIČ). Tyto položky je možno ve skriptu získat funkcí GetRpmAutoText. Panel nástrojů Umožňuje rychlejší formou přístup ke stejným funkcím, jako hlavní nabídka.
Obrázek 27 Panel nástrojů
42
6. Migrační scénář Příprava migračního scénáře začne v době, kdy na otázku, zda potřebujeme nový informační systém, odpovíme jednoznačně ano, nebo postačí odpověď možná.
6.1 Co je migrační scénář? Co je cílem migračního scénáře? Hlavní cílem migračního scénáře je provedení takových kroků, které povedou k výběru nejoptimálnější varianty přechodu na nový informační systém s minimálním využitím finančních a časových zdrojů. Migrační scénář je úzce spjat s vlastní migrací dat. Je výsledkem podrobných analýz datového modelu starého informačního systému a nově zaváděného informačního systému. Je to souhrn navržených doporučených postupů a dílčích cílů, vzniklých na základě analýz a rozsáhlého testování, které povedou k výslednému přechodu na nový informační systém. Pro splnění hlavního cíle migračního scénáře, kterým je připravit jakýsi návod na převod stávajících dat do nového informačního systému, je třeba provést několik důležitých dílčích úloh, které je třeba vykonat nebo naplánovat pro správné provedení migrace a jsou jakousi kostrou migrace. Dílčí úlohy Audit stávajícího informačního systému Výběr databázové a hardwarové platformy na základě analýzy Kontrola a úprava dat stávajícího systému na základě analýzy Vlastní programování migrace na základě výsledku testování Příprava podpůrných sekundárních operací.
6.1.1 Audit stávajícího informačního systému Audit stávajícího informačního systému by měl najít odpověď na nejdůležitější otázku před započetím vlastního návrhu migrace. Onou důležitou otázkou je, zda je vůbec zapotřebí nový informační systém. Zda stávající řešení je opravdu nedostačující. Jestli nestačí k uspokojení potřeb pouze modifikovat stávající systém, což by vyžadovalo menší zásahy do infrastruktury toku informací v podniku.
6.1.2 Výběr databázové a hardwarové platformy na základě analýzy Výběr databázové platformy vychází z výsledků analýzy stávajícího informačního systému a aktuálních možností firmy. Je třeba najít odpovědi na několik důležitých otázek, 43
výsledkem pak bude profil databázového řešení, které pak bude srdcem nového informačního systému. Otázky, které je třeba zodpovědět při výběru databázové platformy a hardwaru: 1. Vyhovuje dosavadní používaná platforma novému databázovému systému? 2. Bude třeba provést přenos dat mezi platformami? 3. Jaká je velikost stávajících dat spravovaných informačním systémem? Postačují stávající kapacity datových úložišť i novému informačnímu systému? 4. Dovoluje dodávaný databázový systém s informačním systémem propojení se současně používaným databázovým systémem?
6.1.3 Kontrola a úprava dat stávajícího systému na základě analýzy. Souvisí s následným testováním a programováním migrace dat. Prakticky se jedná o procesy, během kterých dojde k posouzení velikosti zpracovávaných dat a jejich členitosti. Je třeba posoudit rozdíly datového modelu starého a nového informačního systému. Zvážit počet stanovišť a pracovišť, na kterých bude migrace prováděna. Je třeba získat přehled o časových nárocích na provedení migrace dat a provést tak výčet nebo rozsah migrovaných dat napříč informačními systémy. Jedná se vlastně o vymezení migrovaných dat.
6.1.3.1 Vymezení migrovaných dat Je třeba zvážit množství dat, které je nezbytně nutné pro migraci. Je nutné vzít v úvahu například různé archívy, podrobit stávající systém analýze a zjistit, jaká data jsou nutná pro chod nového informačního systému.
6.1.4 Vlastní programování migrace na základě výsledku testování Na základě výsledků testování přichází na řadu vlastní programování migrace dat.
6.1.4.1 Definice datového rozhraní Definice datového rozhraní je proces, během kterého, na základě analýzy vznikne jakýsi most mezi databázovou strukturou starého informačního systému a nového informačního systému. Jedné se vlastně o záležitosti na úrovni databáze, kdy se nezbytná data, jako data v tabulkách pro číselníky, přesměrují například na pohledy. Prakticky to znamená, že když se ve starém informačním systému v číselnících používal název sloupce v databázové tabulce VÁHA a v novém se užívá názvu HMOTNOST, tak se v rámci nového 44
informačního systému v databázi vytvoří pohled, který bude obsahovat položku hmotnost, které bude obsahovat data z tabulky číselníků, ale pod položkou jiného názvu. Tento postup se používá v případech, kdy je informační systém modulární, tedy soustava různých aplikací. Například, kdy je část systému pro zprávu číselníků v pořádku a vyhovuje stávajícím potřebám a zákazník si ji od nás neobjednal, tudíž je třeba se na jeho databázi napojit. Je tak oddělena část zadávání a manipulace. S tímto ale musí být počítáno již při návrhu informačního systému. Zabudovaná podpora tohoto řešení pomůže velmi urychlit proces vlastní migrace dat. S tím také souvisí vymezení části datového modelu nového informačního systému, do kterého budou data migrována.
6.1.5 Design aplikace Protože migrace dat bývá dlouhodobý proces, bývá neméně důležitou částí programování návrh rozhraní pro aplikaci na migraci dat. V tomto případě je třeba se odrazit od toho, jak pokročilým uživatelem bude obsluha aplikace. Zda se bude jednat o velmi zdatného odborníka, kterému postačí rozhraní ve formě příkazového řádku, nebo někoho kdo bude vyžadovat utilitu ve formě formuláře. Prakticky se jedná o tvorbu informačního systému na migraci ze starého do nového.
6.1.6 Verifikace migrace Pod úkolem verifikace migrace se rozumí ověření, zda došlo k migraci dat bez zavedení nějaké chyby a zda nebyla data při převodu poškozena.
6.1.7 Příprava podpůrných sekundárních operací. Již před započetím přípravných prací na migraci, implementací nového informačního systému a migrací dat, je třeba připravit uživatele informačního systému. Příprava se většinou provádí formou školení. Mnohdy odlišný název položky nebo změna pořadí položek na formuláři bývá obrovský problém.
6.2 Možné problémy migrace dat Ať byl migrační scénář jakkoli dobře navržený, není nikdy zcela stoprocentní. Při přípravě je důležité s tímto počítat. Protože na vývoji a využívání informačních systémů se podílejí lidé, kteří chybují a prakticky se jedná o mnoho let modifikované sofistikované produkty které jsou vytvářeny celé roky a mají životní cyklus až několik desítek let. Problémy mohou nastat dvojího charakteru, tím jedním je technologicko-datový, tím druhým je antropogenní vliv. Do technologicko-datových problémů patří nekonzistentní 45
data, se kterými nebylo v návrhu migrace počítáno (prakticky se jedná o chyby vzniklé neošetřenou výjimkou při vývoji starého informačního systému, kdy mohlo dojít k tomu, že systém dovolil omylem uložit invalidní data). Mezi další problémy tohoto charakteru bych zařadil i chyby hardware, např. nedostatek ve velikosti datového úložiště. Do těch antropogenních je možno zařadit jistou lidskou pohodlnost a nechuť přizpůsobovat se novým zvykům. Kupříkladu sekretářce začne vadit jiná barva formulářů, jiné názvy položek a začne používání systému bojkotovat nejjednodušším prostředkem, kterým bude nepoužívání systému z její strany, což povede ke zkreslení výsledků při vyhodnocování úspěchu a rentability implementace nového IS. Bohužel prakticky neexistuje jednoznačný pokyn, jak řešit všechny situace. Při nápravě chyb se doporučuje jednat na základě zkušeností za účelem dosažení hlavního cíle. Je třeba postupovat individuálně a stanovit tak kritičnost chyby a následně navrhnout její nejvhodnější řešení s co nejmenším dopadem na čerpání podnikových zdrojů.
Závěr Nároky na informační systémy, na jejich funkce, stabilitu a rozšiřitelnost neustále rostou, stejně tak rostou objemy zpracovávaných dat. Neustále sílící tlak ze stran velkých společností nutí vývojáře k vývoji rychlejších, výkonnějších a úspornější technologií. Tato práce si nebrala za cíl obsáhnout a popsat veškerou problematiku vývoje a implementace informačních systémů, protože je to zcela nemožné, vzhledem k širokému spektru oborů a odvětví a technologií, které se na vývoji a utváření toho jak má vypadat informační systém podílí. Vlastním cílem práce bylo seznámit čtenáře se základy toho, jak pracuje databázový systém, co je vlastně informační systém a v neposlední řadě seznámit s jedním z mnoha produktů na trhu, s jeho možnostmi v souvislosti s administrací a implementací. Skončil bych slovy Alberta Einsteina. „Všechno by mělo být tak jednoduché, jak jen to lze, ne jednodušší.“
46
Seznam použité literatury [1] Systémová integrace: Časopis katedry informačních technologií VŠE, Vydává Česká společnost pro systémovou integraci, roč. 14, č. 1, Praha, 2007 Nakladatelství OECONOMICA, ISSN 12109479 [2] URMAN, Scott; HARDMAN, Ron; MCLAUGHLIN, Michael. Programování v PL/SQL. Praha. Computer Press, 2008, ISBN: 9788025118702 [3] KREINES,David. Oracle DBA Kapesní průvodce, Praha, 2006, ISBN: 8024716690. [4] K2-Administrace: Dokumentace školícího kurzu K2. Atmitec s. r. o., Ostrava, 2007 [5] K2-Uživatelská příručka: Dokumentace školícího kurzu K2. Atmitec s. r. o., Ostrava, 2007 [6] BRYLA,Bob; LONEY ,Kevin. Mistrovství v Oracle Database 11g. Praha, Computer Press, 2009, ISBN: 9788025121894 [7] LACKO, Luboslav. Oracle - Správa, programování a použití databázového systému. Praha, Computer press, 2007, ISBN: 9788025114902 [8] System database expert: PER4MANCE, Produkty: Quest Software - Toad® for Oracle - Nástroj pro vývoj aplikací a administraci v prostředí Oracle. Dostupný z www < http://www.per4mance.cz/produkty/quest/toad_ora.php >[cit. dne 16.6.2009] [9] Brakpoint: Mezinárodní Svobodná encyklopedie Wikipedie.org Dostupný z www < http://en.wikipedia.org/wiki/Breakpoint >[cit. dne 16.6.2009] [10] ŠEVČÍKOVÁ, Zdenka. Bakalářská diplomová práce, FILOZOFICKÁ FAKULTA MASARYKOVA UNIVERZITA V BRNĚ Brno, 2008, Dostupný z www < http://is.muni.cz/th/180159/ff_b_a2/Bakalarska_prace.txt >[cit. dne 16.6.2009]
47
Přílohy Příloha 1. Vybrané klávesové zkratky pro editor sestav F5
Přichytávat k objektům
F6
Přichytávat k vodícím čarám
F9
Spuštění sestavy
CTRL+F9
Přeložení skriptu sestavy
CTRL+F2
Stop sestavy
Alt+F7
Předchozí chyba skriptu
Alt+F8
Následující chyba skriptu
F11
Inspektor objektů
F12
Přepnutí mezi návrhem a skriptem
CTRL +P
Tisk
CTRL+S
Uložit
CTRL+O
Otevřít
CTRL+C
Kopie vybraných objektů do schránky
CTRL+V
Vložení vybraných objektů ze schránky
CTRL+X
Vyříznutí vybraných objektů do schránky
CTRL+2
Kopie vybraného objektu do stejné subsekce
CTRL+I
Zvětšení písma
CTRL+U
Zmenšení písma
CTRL+B
Tučné písmo
Del
Odebrat vybraný objekt
CTRL+NumPlus
Zvětšení 48
CTRL+NumMinus
Zmenšení
CTRL+Doprava
Posun vybraného objektu doprava
CTRL+Doleva
Posun vybraného objektu doleva
CTRL+Nahoru
Posun vybraného objektu nahoru
CTRL+Dolu
Posun vybraného objektu dolu
Shift+Doprava
Zvětšení šířky vybraného objektu
Shift+Doleva
Zmenšení šířky vybraného objektu
Shift+Nahoru
Zmenšení výšky vybraného
Shift+Dolů
Zvětšení výšky vybraného objektu
Esc
Přerušení editační operace (platí pro přesun, pohyb vodící linky)
CTRL+D
Vložení datového pole do skriptu (počítaného, agregačního)
CTRL+Q
Výběr datových polí
49