Date post: | 15-Nov-2018 |
Category: |
Documents |
Upload: | truongtram |
View: | 223 times |
Download: | 0 times |
komixí noviny 2008/2009
S tím souvisí i to, že vy-
hledáváme zákazní-
ky, kteří chtějí inovo-
vat, kteří chtějí dělat
svůj business jinak než
konkurence. Pochopi-
telně při tom nemů-
žeme zůstat stranou
dění ve státní správě,
kdy se zákazník s nej-
větším IT budgetem
v republice rozhodl přihlásit k trendům e-govern-
mentu a investovat do rozsáhlého využití IT tech-
nologií ve prospěch občanů a zjednodušení jejich
komunikace se státem. Probíhající reformy vyvo-
lávají též rozsáhlé změny stávajících informačních
systémů.
KOMIX se v roli subdodavatele softwarového ře-
šení účastní na integračních projektech, podporu-
jících začlenění České republiky do Evropské unie,
další týmy pracují na podpoře reforem nemocen-
ského a důchodového pojištění a zdravotní reforma
zase vyvolává tlak na úpravy informačních systémů
zdravotních pojišťoven, pro které také pracujeme.
Jsem hrdý na to, že naši pracovníci opakovaně do-
kazují, že jsou schopni spolehlivě realizovat tyto
rozsáhlé a často i rizikové projekty.
Naši specialisté dnes působí i na projektech mimo
Českou republiku – v Polsku, Maďarsku, Bulharsku
nebo Německu.
V uplynulém roce KOMIX uvedl na český IT trh i ně-
kolik novinek založených na moderních technolo-
giích. Námi uváděné produkty se dostaly do finále
soutěže o IT produkt roku jak v roce 2007, tak v roce
2008. Jedná se o programové vybavení pro podpo-
ru prodejních týmů od německé společnosti CAS
genesisWorld (CRM) a CAS teamWorks nebo o pro-
dukt z oblasti bezpečnosti společnosti KOBIL či ná-
stroj QlikView pro rychlou analýzu dat pro podpo-
ru manažerského rozhodování raketově rostoucího
start-upu QlikTech.
Na přelomu roku 2008 a 2009 budeme moci nabíd-
nout CAS genesisWorld i v hostované verzi. Tj. KO-
MIX zajistí kompletní provoz aplikace na své tech-
nice a zákazník si ji bude moci pouze pronajmout.
Potřebuje k tomu jen dobré internetové propojení.
Stejnou službu již dnes poskytujeme se softwaro-
vým vybavením pro Service Desk. Uvažujete-li tedy
o změně obchodních procesů nebo chcete svým
zákazníkům poskytovat podporu v souladu s náro-
ky norem ISO nemusíte začínat rozsáhlou investicí
do softwarové podpory, tuto službu si můžete pro-
najmout.
Začtete-li se do příspěvků v těchto novinách, jis-
tě poznáte, že KOMIX disponuje poměrně rozsáh-
lým know-how z řady oborů. To vidím jako velikou
přednost naší společnosti, která nám umožňuje ře-
šit i složité situace a problémy. Na řadě projektů
jsme prokázali, že jsme schopni i v průběhu pro-
jektu nalézt a aplikovat nové technologické prv-
ky nebo postupy a s jejich pomocí realizovat řešení
splňující požadavky zákazníka.
Na závěr svého textu bych se chtěl vrátit k jed-
né myšlence zmíněné v úvodu. KOMIX nabízí ře-
šení vytvářená na míru, a proto hledáme zákazní-
ky, kteří chtějí spolu s námi vytvářet něco nového,
užitečného, co jim pomůže v jejich práci, v rozvinu-
tí obchodu nebo zkvalitnění služeb. Máte-li něja-
ký nápad, jak něco změnit, inovovat, zavést novou
službu nebo naopak vidíte problém a chtěli bys-
te s někým diskutovat jeho řešení, prosím napište
na adresu [email protected]. Zkusme problémy ře-
šit společně!
Petr Kučera
Vážení čtenáři,
KOMIX v roce 2008 vstupuje do sedmnáctého roku svého působení na trhu. Za tu dobu se několikrát
změnila vnitřní organizace, výrazně se změnila struktura obratu – klesl významný podíl hardware
a licencí a naopak podstatným způsobem vzrostl podíl služeb. Od svého založení však KOMIX
zůstává společností, která sleduje vývoj IT technologií a osvojuje si ty progresivní, aby svým
zákazníkům mohla nabídnout moderní aplikace, které jim přinesou konkurenční výhodu.
Iterační vývojZákladní myšlenka iteračního vývoje je jednodu-
chá: realizaci díla rozdělíme do kratších etap (ty-
pická délka 1-4 týdny) nazývaných iterace. V rámci
každé z nich musí vzniknout funkční verze softwa-
ru, kterou lze potenciálně předat zákazníkovi k ově-
ření a používání. Běžně se nenasazuje do provozu
nová verze po každé iteraci, ale vždy po několika
iteracích dle dohody se zákazníkem.
Hlavní důvodem pro tento postup je rychlé získání
zpětné vazby od zákazníka při skutečném užívání
systému. Jedině tak lze plnohodnotně ověřit, že vy-
tvořený systém odpovídá jeho potřebám. Předchá-
zí se tomu, že bude vytvořeno velké množství funk-
cí, které v okamžiku nasazení do provozu již nejsou
potřeba. Proto se funkce zařazované do jednotli-
vých iterací vybírají podle priority stanovené zákaz-
níkem. Zrealizuje se primárně to, co zákazník nejví-
ce potřebuje, a pak na základě zkušeností z provozu
se řeší, jakými funkcemi se bude pokračovat dále.
Použití na CDBP1. i 2. etapa projektu CDBP byly založeny na stan-
dardním vodopádovém vývojovém cyklu. Na po-
čátku je celková analýza, po které následuje návrh,
obé zakončené akceptačním řízením vytvořených
dokumentů. Na tyto fáze navazuje vlastní konstruk-
ce (programování). Vzhledem k nedostatku času
na realizaci (jak typické pro projekty tohoto typu)
se uvedené tři fáze částečně překrývaly, jinak by
ITerační VýVOj V PraXIIterační (někdy také přírůstkový) vývoj je výrazným a důležitým rysem moderních přístupů k tvor-
bě softwaru. Tento článek popisuje použití iterační metody v rámci interního vývoje a testování
na projektu CDBP (biometrické pasy).
2
systém nemohl vzniknout v potřebných termínech.
Následuje rozsáhlé testování, které se skládá z in-
terních testů uvnitř jednotlivých týmů, integrač-
ních testů mezi zúčastněnými dodavateli, nezávis-
lých testů, které realizuje třetí subjekt, a konečně
testů akceptačních, při kterých zákazník schvaluje
vytvořený systém.
Ve 2. etapě projektu CDBP, realizované v průběhu
roku 2008, jsme se v rámci konstrukční fáze pro-
jektu rozhodli ověřit použití iterační metody pro
programování a interní testování. Princip metody
zachycuje Ganttův diagram na obrázku. Zjedno-
dušeně řečeno: Konstrukční práce jsou rozdělené
do 2-týdenních iterací, na každou z nich navazuje
zhruba týden testování nově vytvořených funkcí.
Vzhledem k tomu, že 2. etapa projektu CDBP je roz-
vojem již existujícího a funkčního systému, není po-
užití iterační metody problematické. U nově vzni-
kajícího systému by bylo potřeba počítat s úvodní
„náběhovou“ fází, kdy ještě není nic hotovo a testo-
vání je zpočátku poněkud složitější.
Popis metodyPodívejme se na jednotlivé kroky podrobněji. Kaž-
dá iterace je zahájena detailním naplánováním kon-
strukčních prací v dané iteraci. Tuto činnost prová-
dí vedoucí programátor s ohledem na dlouhodobý
postup prací, příp. aktuální priority. Jednotlivým
programátorům jsou přiřazeny dílčí úkoly, z nichž
žádný svým rozsahem nesmí přesahovat dobu tr-
vání jedné iterace (tj. musí být reálné je v rámci
dané iterace dokončit).
Následují 2 týdny konstrukčních prací, jejichž sou-
částí má být také vytvoření vývojářských testů (unit
testy apod.). Po ukončení programování je vytvoře-
na nová verze softwaru a je připravena do testova-
cího prostředí. Programátoři napíší stručné shrnu-
tí ke způsobu řešení jednotlivých úkolů, což slouží
mj. jako podklad pro testování či tvorbu dokumen-
tace.
V průběhu druhého týdne konstrukce se připravu-
jí testovací scénáře pro nově vznika-
jící funkce, na základě kterých bude
ověřena jejich kvalita a soulad se za-
dáním. Vedoucí testování následně
naplánuje průběh testování a přiřadí
jednotlivým testerům dílčí úkoly.
Ve 3. týdnu probíhá testování. Nejpr-
ve je snahou najít fatální problémy,
které znemožňují další postup testo-
vacích prací. Takové chyby jsou ihned
opraveny. Chyby menšího rázu jsou
pouze evidovány a jejich oprava je
provedena v rámci vývojových prací
další konstrukční iterace, která je za-
hájena paralelně s testováním. Retest
opravených chyb se pak provádí při
dalším kole testování.
V týdnu, kdy probíhá testování, se rovněž aktuali-
zuje dokumentace v rozsahu, který odpovídá nově
implementovaným funkcím. Tato průběžná aktuali-
zace po každé iteraci se týká především systémové
dokumentace. Uživatelské příručky jsou aktualizo-
vány později v odděleném režimu především v zá-
vislosti na tom, zda se již nemění uživatelské roz-
hraní aplikací. Vzhledem k tomu, že dokumentaci
považujeme za plnohodnotnou součást dodávky,
je rovněž podrobována ověření kvality ze strany
testerů. Po ukončení konstrukčních a testovacích
prací je provedeno zhodnocení dokončené itera-
ce a řeší se např. optimalizace pracovních postupů,
aby lépe reflektovaly získané praktické zkušenosti.
Jak již bylo uvedeno (a je patrno i z obrázku), testo-
vací práce probíhají paralelně s konstrukčními pra-
cemi další iterace. V rámci plánování iterací musí
tedy vedoucí programátor zohlednit skutečnost, že
se při testování objevují chyby, které je třeba ihned
(u fatálních chyb) či v rámci další iterace opravit.
Podpůrné nástrojePro podporu výše popsaného iteračního režimu
práce používáme na projektu CDBP 2 nástroje:
MS Excel a ProjectX. Pomocí MS Excel se evidu-
je ucelený seznam funkcí, které je třeba vytvo-
řit, a plán jejich realizace v jednotlivých iteracích.
U každé funkce je uveden stručný popis, odhado-
vaná pracnost, plánované zařazení do iterace a pro-
gramátor, který bude funkci realizovat. Je zde ob-
sažen jak dlouhodobý orientační plán, tak přesný
plán na nejbližší jednu či dvě iterace. Pomocí agre-
gačních funkcí MS Excel lze poměrně snadno zob-
razit např. plán vytížení jednotlivých programátorů
nebo odhad dokončení prací na konci jednotlivých
iterací.
V nástroji ProjectX, který se na CDBP obecně využí-
vá pro evidenci úkolů, jsou průběžně zadávány čin-
nosti vyplývající z obsahu jednotlivých iterací pro
programátory i testery. Rovněž sem mohou být
doplňovány podrobnější údaje k řešení úkolů, ko-
mentáře programátorů, resp. testerů, podklady pro
tvorbu dokumentace apod. ProjectX je v rámci in-
terního testování používán také pro evidenci chyb.
Očekávané přínosyCíle, které sledujeme při použití popsané iterační
metody, jsou následující:
• Průběžnákontrolavytvořenéhosoftwaru,rychlá
„zpětná“ vazba od testerů, kteří de facto zastupu-
jí cílové uživatele systému. Chyby v nově vytvo-
řených funkcích se řeší v době, kdy programátoři
mají vše ještě v čerstvé paměti.
• Lepšípřehledoskutečnémpostupuprací–coje
otestováno a opraveno, lze považovat za dokon-
čené. Z praktických zkušeností totiž vyplývá, že
konstrukční práce není možné považovat za ho-
tové, pokud neproběhlo testování.
• Rytmus a řád ve fungování celého týmu, a tím
zvýšení efektivity práce týmu. Pozitivně se to
projevuje především ve vztahu mezi vývojáři
a testery.
• Vícečasunatestování,protožetestováníjevlast-
ně přirozenou součástí konstrukčních prací
od počátku vývoje. Díky tomu také očekáváme
méně problémů a stresu v závěrečném testová-
ní po ukončení konstrukčních prací. Negativním
(z hlediska nákladů) důsledkem může být v cel-
kovém souhrnu zvýšená pracnost testování.
ZhodnoceníKonečné zhodnocení a shrnutí zkušeností bude
provedeno až na konci projektu, kdy bude mož-
né ověřit, jaký měl použitý přístup dopad na nejen
na konstrukční, ale také na návazné fáze projektu,
a zejména na kvalitu díla. Po zhruba 6 vývojových
iteracích se však zdá, že použití iterační metody
bude plnit výše uvedené cíle, a přispěje tak k hlad-
šímu průběhu po organizační stránce dosti nároč-
ného projektu.
Petr Sobotka
3
Přistoupení České republiky do Evropské unie dalo
českým firmám možnost podílet se na evropských
orientovaných aktivitách a využívat pro rozvojové
projekty jejích fondů. Jedním z projektů financova-
ných EU je i projekt Village. Na projektu Village se
podílí 8 členů z 5 evropských zemí, které jsou sdru-
žené do projektového konsorcia. Členové konsor-
cia se pravidelně scházejí, vyhodnocují jednotlivé
projektové mezníky a společným úsilím se podí-
lí na jeho směřování k dosažení projektového cíle.
Členem konsorcia je i KOMIX, který hraje v projek-
tu Village roli plnoprávného člena. V červnu 2008
jsme v rámci projektu úspěšně hostili dvoudenní
Project Meeting Board, kterého se zúčastnili všich-
ni členové konsorcia.
Hlavním cílem projektu Village je rozvinout koope-
rativní CRM poskytované ve formě služby zacílené
pro trh malých a středních podniků. Plánovaným
výsledkem projektu je technické řešení, které bude
odpovídat stávajícím a budoucím platným para-
digmatům trhu, kde je CRM poskytováno ve formě
Vývojový plán společnosti CAS Software AG garan-
tuje každoročně vydání nové verze CRM aplikace
CAS genesisWorld. Nové verze vychází každoročně
vždy v létě. Letošní nová verze se vyznačuje celou
řadou novinek, které se neomezují pouze na tech-
nické inovace.
Největší změnou pro zákazníky je nový licenční sys-
tém. CAS genesisWorld je nyní prodáván ve třech
edicích Standard, Premium a vše zahrnující Sui-
te. Rozdělení CAS genesisWorld na jednotlivé edi-
ce bylo způsobeno množstvím nových funkcí, kte-
ré byly do systému zahrnuty.
Kromě zmíněných edic disponuje nyní CAS gene-
sisWorld novými moduly. Mezi tyto moduly patří
CAS Marketing, CAS Sales, CAS Reports, CAS Pro-
jects, CAS Helpdesk, CAS Timeclient, CAS Mobile
CRM for Blackberry.
SaaS (Software as a Service). SaaS je způsob využí-
vání počítačových aplikací, kdy se intenzivně využí-
vá provozovatelem služby hostovaná aplikace. Vý-
hody modelu SaaS představují pro zákazníky rychlé
nasazení produktu, nízké náklady na správu IT, od-
stranění nutnosti správy hardware a vyčlenění dal-
ších služeb mimo zákazníka používající CRM. Využí-
vání SaaS nabývá celosvětově stále větší popularity
a je jednoznačně jedním ze silných trendů svědčí-
cím o budoucích způsobech využívání prostředí In-
ternetu pro byznys účely.
Pro české a slovenské zákazníky představuje účast
KOMIXu v projektu Village příslib brzkého předsta-
vení technologicky i obchodně zcela nově pojaté-
ho řešení pro správu jejich CRM aktivit.
Chcete vědět více? Navštivte www stránky projektu
na adrese http://www.village-project.eu/village/
Miroslav Žebrák
Především CAS Marketing přináší dlouho očekáva-
nou změnu v práci s kampaněmi, grafické navrho-
vání work-flow kampaní, definice následných akcí
a vyhodnocení úspěšnosti jednotlivých marketin-
gových akcí přináší do marketingového oddělení
zvýšenou efektivitu. CAS Sales umožňuje řízení ob-
chodních zástupců nad rámec standardního sledo-
vání obchodních příležitostí s důrazem sledování
výkonnosti jednotlivých obchodních zástupců.
CAS Helpdesk a CAS Timeclient přidávají do pro-
středí CAS genesisWorld nové typy informací. V pří-
KOMIX sPOluVyTVáří PrOjeKT eu
nOVInKy V Cas genesIsWOrlD VerZe 10
4
V roce 2008 vyhlásila redakce časopisu Compu-
terWorld druhý ročník soutěže o IT produkt roku.
Podmínky soutěže umožňovaly přihlásit jakéko-
li zařízení, software, řešení nebo službu z oblasti in-
formačních a komunikačních technologií, jež lze vy-
užít v podnikovém prostředí. Produkt, respektive
jeho přihlašovaná verze, nesměl být na trhu déle jak
od 15. srpna 2007. Základními kategoriemi soutěže
byly zvoleny: software, hardware, řešení a služba.
Soutěž ComputerWorld IT produkt roku 2008 je ví-
cekolová, v hodnotících kritériích je kladen důraz
na inovativnost řešení, které může spočívat v celku,
v detailech a na míru pozitivního odlišení od po-
dobných konkurenčních produktů. Produkty spl-
ňující uvedená kritéria v dostatečné míře postupu-
jí do finále. V rámci finále dojde k výběru vítězného
produktu v každé kategorii.
KOMIX přihlásil do soutěže 3 produkty a výsled-
ky jsou pro KOMIX velmi příjemné, neboť hned
všechny 3 produkty uspěly a postoupily do první-
ho finálového kola. V kategorii Podnikový systém se
o úspěch postaral CRM systém od společnosti CAS
Software - Cas genesisWorld ve verzi 9 a systém
pro řízení a plánování kapacit od společnosti Hy-
performix - IPs Performance Optimizer. V katego-
rii Informační systémy postoupilo portálové řešení
pro týmovou spolupráci od společnosti CAS Soft-
ware AG - Cas teamWorks ve verzi 6.
Celkem třikrát se KOMIX může v roce 2008 pyšnit
logem ComputerWorld IT produkt roku. Pojďme si
tedy naše úspěšné finalisty blíže představit.
IPs Performance Optimizer slouží k modelová-
ní budoucí výkonnosti IT systémů, plánování jejich
změn a rozvoje na základě dat z monitoringu tes-
tovacího či produkčního prostředí. Umožňuje od-
halit problémová místa systému a najít způsob je-
jich odstranění při minimalizaci zákroků v reálném
prostředí. Jednotlivé modely jsou vyhodnocovány
z hlediska dostatečnosti výkonu a splnění finanč-
ních omezení. Typické je nasazení pro extrapolaci
výstupů zátěžových testů provedených ve zmenše-
ném testovacím prostředí na produkční prostředí,
kde zátěžové testy nelze provádět.
Cas genesisWorld představuje CRM řešení pro
správu adres, projektů, dokumentů, úkolů a dalších
aktivit nejen marketingového a obchodního oddě-
lení. Jeho hlavním úkolem je zvýšit efektivitu pro-
dejních a marketingových aktivit, přičemž CAS ge-
nesisWorld pomáhá k dosažení cíle za použití celé
řady uživatelsky přívětivých funkcí a s pomocí pro-
pojování informací přináší 360stupňový pohled
na zákazníka. CAS genesisWorld umožňuje práci
v kanceláři, on-line v terénu, ale i off-line s pomo-
cí tzv. replikace dat. Velmi dobrou vlastností CAS
genesisWorld je rychlá implementace a velmi sil-
COMPuTerWOrlD IT PrODuKT rOKu 2008
padě CAS HelpDesku pracuje zákazník v prostředí
speciální www aplikace, informace jsou však přene-
seny do prostředí CRM a k dispozici jeho uživate-
lům. CAS HelpDesk disponuje takovými funkcemi,
jako jsou notifikace o změnách v trouble tiketech,
úrovni poskytovaných služeb dle SLA, historii ře-
šení jednotlivých problémů apod. CAS Timeclient
je vhodným doplňkem všude tam, kde je potřeba
vykazovat pracovní čas na vyšší úrovni detailu. Při-
řazování času jednotlivým projektům a úkolům je
vhodným doplňkem k modulu CAS Projects. CAS
Timeclient disponuje vlastním www rozhraním,
které umožňuje vykazovat časy i mobilním zaměst-
nancům.
Novinky postihly i oblast mobility. CAS Mobile-
Access a CAS WebAccess jsou nyní součástí edice
CAS genesisWorld Premium edition, k dispozici je
nyní nový modul CAS MobileCRM pro Blackberry.
Na rozdíl od standardního modulu CAS MobileAc-
cess mohou mobilní uživatelé s přístroji Blackberry
využívat výhod PUSH technologie.
CAS genesisWorld nabízí i branžová řešení. Zákaz-
níci mohou profitovat ze speciálně upravených edic
aplikace, které umožňují rychlou implementaci,
spuštění a speciální funkce pro jejich odvětví. V loň-
ském roce byl vydán CAS Drive, branžové řešení pro
dealery automobilů umožňující napojení na dealer-
ské systémy a snadné mapování nabídek a poptá-
vek po automobilech. CAS genesisWorld ve verzi 10
přidává nová branžová řešení CAS IT Services, CAS
Consulting, CAS Engineering a CAS Research.
Mottem nové verze CAS genesisWorld bylo nabíd-
nout uživatelům drobná vylepšení, která lze vyu-
žít zejména v každodenní práci. Spolu s novou ver-
zí CAS genesisWorld 10 získají nově čeští zákazníci
jako dárek lokalizaci oblíbeného bezplatného ná-
stroje CAS Info@Click. CAS Info@Click umožňuje
rychlé vyhledávání v adresách CAS genesisWorld,
synchronizaci adres, úkolů, schůzek s Microsoft
Outlookem, ale také třeba s Google kalendářem.
Mezi zajímavé funkce CAS Info@Click patří i mož-
nost využití VoIP klientů jako je např. Skype či we-
bové telefonie s telefonními čísly uloženými v CAS
genesisWorld.
CAS genesisWorld verze 10 je k dispozici od 1. 8.
2008, česká verze je plánována na prvního čtvrtle-
tí 2009. Spolu s novou verzí CAS genesisWorld byla
vydána i nová v pořadí již sedmá verze oblíbeného
groupwarového nástroje.
Miroslav Žebrák
né možnosti přizpůsobení aplikace, bez nutnosti
úprav aplikace programátory.
Cas teamWorks přináší přidanou hodnotu zejmé-
na pro použití ve skupinové spolupráci. Sdílení ka-
lendáře, plánování a delegování úkolů, přehled
o vnitropodnikových procesech, realizovaných
projektech, zobrazení zodpovědností, pravomo-
cí a práce dle předem vytvořených checklistů jsou
jeho silnými stránkami. CAS teamWorks umožňu-
je správu služebních cest, evidenci klíčů, místnos-
tí, automobilů a dalších praktických požadavků.
Uživatel pro práci potřebuje pouze prohlížeč www
stránek. CAS teamWorks může být nasazen spo-
lu s CAS genesisWorld. Současné nasazení přináší
synergické efekty využití společné datové základ-
ny a sdílení informací v back-office i front-office čás-
ti společnosti.
Miroslav Žebrák
5
Během posledních let se oblast řízení portfolia
(PPM - Project Portfolio Management) těší rostoucí-
mu zájmu. Řada firem spojila svoji snahu o zvyšová-
ní efektivnosti právě s tímto druhem řízení a poza-
du nezůstávají ani výrobci softwaru, kteří na tento
trend reagují uváděním stále dokonalejších nástro-
jů. Dnešní PPM aplikace disponují širokou funkcio-
nalitou vycházející z všeobecně uznávaných stan-
dardů projektového řízení a poskytují tak svým
uživatelům dostatečnou podporu pro správu jejich
projektů. Přesto se stále můžeme setkat s řadou ne-
úspěšných implementací a skutečný přínos z užívá-
ní PPM dokáže vyčíslit jen opravdu málokdo. Nabízí
se zde tedy otázka, zda jsou současné aplikace sku-
tečně tak dobré, jak jejich výrobci proklamují a jest-
liže ano, proč jejich zavádění nepřináší očekávané
výsledky? Odpověď je jednoduchá. PPM není pou-
ze software.
Podíváme-li se na problematiku portfolio mana-
gementu blíže, zjistíme, že se jedná o velmi kom-
plexní oblast, do které je při správném využití za-
pojeno množství subjektů napříč celou organizací.
A s množstvím subjektů souvisí také celá řada fakto-
rů, které mohou implementaci ovlivnit. V následují-
cích odstavcích jsou uvedeny některé z nejdůleži-
tějších faktorů, které je nutné vzít při implementaci
portfolio managementu v úvahu.
skutečný rozsah projektuJednou z prvních chyb při posuzování realizace,
zda řízení portfolia zavádět, jsou mylné představy
o rozsahu takového projektu. Projekty implemen-
tace PPM jsou již ze své podstaty velmi obsáhlé
a konkrétní dopady na organizaci závisí především
na rozsahu, jakým je ve firmě využíváno projek-
tového řízení. Ve společnostech, kde jsou formou
projektů realizovány kromě podpůrných také hlav-
ní činnosti společnosti, se z implementace PPM stá-
vá celopodniková záležitost ovlivňující prakticky
veškeré činnosti a zdroje. V takových případech je
nutné postupovat s adekvátní obezřetností a vě-
novat projektu náležitou pozornost. Vysoká priori-
ta, správné naplánování, zajištění dostatku zdrojů
nebo dostatečně zkušený projektový manažer jsou
jen příklady aspektů, na které by nemělo být zapo-
mínáno. Zároveň je nutné vzít v úvahu ostatní pro-
bíhající akce a činnosti, aby nedošlo k neúměrnému
zatížení společnosti.
Podpora vedeníPokud bychom sestavovali žebříček nejvýznam-
nějších faktorů rozhodujících o úspěchu či neúspě-
chu jakéhokoliv projektu, kvalitní podpora ze stra-
ny vrcholového vedení by zcela jistě obsadila jedno
z předních míst. Její význam se ještě zvyšuje v přípa-
dě rozsáhlých a dlouhodobých projektů, u kterých
hrozí vznik pocitu marnosti a nedosažitelnosti sta-
novených cílů. Kromě tohoto jde při zavádění PPM
ještě o další, neméně důležitý aspekt. Řízení port-
folia je primárně zaměřeno na vyšší úroveň řízení,
kam také směřují jeho hlavní přínosy. Svým charak-
terem ovšem zásadně ovlivňuje práci managerů
prakticky na všech úrovních a vyžaduje od nich in-
tenzivní spolupráci často bez adekvátních přínosů.
Lehce se tak může stát, že zejména v řadách projek-
tových managerů je implementace PPM vnímána
jako něco, co pouze přidělává práci a nepřináší žád-
né výhody. Následuje chladný a odměřený přístup,
který k celkové úspěšnosti projektu zcela jistě ne-
přidá. Právě v takových chvílích je na managemen-
tu firmy, aby převzal iniciativu a svým entusiasmem
podpořil realizaci projektu. Každý budoucí uživatel
by měl být seznámen nejen s důvody a cíli projek-
tu, ale také se způsobem, jakým právě on přispívá
k realizaci celkových přínosů.
Zapojení klíčových uživatelůDalším, neméně důležitým aspektem při zavádě-
ní portfolio managementu je zapojení klíčových
uživatelů a správná distribuce pravomocí a odpo-
vědností. Jak již bylo zmíněno výše, cílová oblast
směřování hlavních přínosů PPM spadá mezi vyš-
ší management. Zde ovšem narážíme na problém
vysokého vytížení jednotlivých managerů, kte-
ří vzhledem k množství svých povinností často ani
nejsou schopni věnovat projektu náležitou pozor-
nost. Výsledkem bývá laxní přístup k projektu nebo
delegování odpovědnosti na nižší stupně řízení. Ta-
kové chování je však krajně nevhodné. Jsou to to-
tiž pouze příslušní vedoucí pracovníci, kteří by měli
definovat základní požadavky a kvalifikovaně roz-
hodnout o jejich úspěšném dosažení. Účinnou me-
todou jak dosáhnout, aby zapojení klíčových uživa-
telů nezůstalo pouze na formální rovině, je navázat
spolupráci na projektu na systém motivací a odmě-
ňování. V řadě případů je to jediné možné řešení jak
dosáhnout, aby se budoucích uživatelé sami zají-
mali o projekt a osobně byli zainteresováni na jeho
hladkém průběhu.
Celková zralost organizaceJsou projekty, které může realizovat prakticky kte-
rákoli organizace, a pak jsou projekty, k jejichž reali-
zaci je zapotřebí splnění řady vstupních předpokla-
dů. Implementace PPM patří bezpochyby do druhé
skupiny. Řízení portfolia je úzce spojeno s projekto-
vým řízením. Tvoří vlastně jeho logickou nadstav-
bu. Z pohledu úspěšnosti tak množství přínosů do-
sažených implementací portfolio managementu
přímo souvisí se stupněm vyzrálosti firmy v oblas-
ti řízení projektů. Jinými slovy, k tomu, abychom
mohli efektivně řídit portfolio, potřebujeme do-
statečně kvalitní základy v podobě všeobecně ak-
ceptovaných a používaných procesů projektového
řízení a v neposlední řadě také zkušené uživatele.
Tato podmínka, jakkoli se může zdát triviální, bývá
velmi často podceňována. Jedním z hlavních příno-
sů zavedení PPM je sjednocení postupů a zvýšení
míry standardizace napříč celou organizací. V pří-
padě nedostatečně vyzrálých procesů se však tato
výhoda může rychle změnit v nepříjemnou překáž-
ku a z implementace se stává pouze bezpředmětná
sbírka výjimek a změnových řízení.
Výběr aplikaceÚlohu výběru vhodné aplikace nelze samozřejmě
zcela opominout. Právě naopak, správným výbě-
rem je možné implementaci PPM podstatným způ-
sobem usnadnit a předejít řadě problémů. Ze zku-
šenosti se ukazuje, že spíše než množství funkcí je
při výběru dobré klást důraz na schopnost aplika-
ce přizpůsobit se specifickým požadavkům a také
možnost napojení na ostatní používané systémy.
Typicky se jedná o možnosti integrace se služba-
mi Service Desku, HR systémy, ERP systémy nebo
lokálně používanými plánovači projektů. Kvalitní
software by měl být především schopen přizpůso-
bit se vnitřnímu fungování organizace a akceptovat
nastavení jejích procesů. Na druhou stranu je třeba
mít na paměti, že každá PPM aplikace částečně ob-
sahuje i vlastní know-how, jak by proces řízení port-
folia měl vypadat. Nerespektování těchto pravidel
a přílišnou kustomizací může dojít k narušení vnitř-
ní filozofie aplikace, což se negativně projeví na vý-
konu a kvalitě poskytovaných služeb.
Účelem tohoto článku nebylo přinést vyčerpávají-
cí seznam kritických faktorů souvisejících s imple-
mentací Project Portfolio Managementu, nýbrž
poukázat na komplexitu a rozsáhlost změn, které
s projekty tohoto typu souvisí. Efektivně adopto-
vat systém PPM znamená závazek zodpovědného
a cíleného chování pro všechny podílející se osoby.
Každý jedinec, který se na implementaci podílí, by
měl vědět, jaká je jeho role, jaké jsou jeho povin-
nosti a úkoly. I tak je ale nasazování PPM cestou ná-
ročnou a často také bolestnou. Vyžaduje koopera-
ci prakticky všech oddělení a velmi silnou iniciativu
nejvyššího vedení. Jedině tak lze zaručit, že na kon-
ci této cesty bude zasloužená odměna v podobě
dosažení požadovaných výsledků.
Petr Šťastný
PPM není POuZe sOfTWare
6
Po akvizici společnosti Mercury Interactive Corpo-
ration společností Hewlett-Packard došlo k zásad-
ním změnám ve způsobu poskytování technické
podpory testovacích produktů.
Změny se projevily v postupném začleňování pro-
duktů bývalé společnosti Mercury Interactive
do standardů divize HP Software a od září 2007
již bylo uvolněno do používání přepracované uži-
vatelské rozhraní webové služby pro poskytování
podpory software společnosti HP, které už obsahu-
je podporu produktů, získaných akvizicemi jiných
společností včetně produktů bývalé společnosti
Mercury Interactive.
Webová služba HP Support Service Online (HP SSO,
http://support.openview.hp.com) umožňuje tři
úrovně přístupu.
1. V první úrovni nabízí obsah přístupný bez nut-
nosti přihlásit se pod uživatelským účtem a zahr-
nuje návody k používání technické podpory, zprá-
vy o proběhlých událostech, ale také o novinkách
v HP, různé obchodní informace a seznam kontaktů
na centra technické podpory HP.
2. Ve druhé úrovni se zpřístupní už více informací
poté, co si zákazník založí na webu společnosti HP
osobní uživatelský účet, tzv. HP Passport. Tato úro-
veň přístupu umožňuje stahování zkušebních ver-
zí software, stahování opravných balíčků (patches),
individuální nastavení emailových upozornění
po uvolnění nových verzí softwarových produk-
tů. Obsahuje například také informace o termínech
ukončení podpory starších verzí software HP.
3. Pro třetí, tj. nejvyšší úroveň přístupu k podpo-
ře software HP, je nutné zadat do profilu osobního
účtu HP Passport platné identifikátory servisní pod-
pory, vycházející z uzavřených smluv se společnos-
tí HP. Jedná se o tzv. SAID (Support Agreement ID).
Po vložení SAID se plnohodnotně zpřístupní služ-
ba podpory software HP, kdy lze využívat znalostní
databázi HP, zadávat, vyhledávat a prohlížet poža-
davky na technickou podporu nebo zadávat poža-
davky na změnu vlastností a funkčnosti podporo-
vaných softwarových produktů, tzv. Enhancement
requests.
S přechodem na nový webový portál technické
podpory HP zůstaly pro rok 2008 v HP k dořešení
akce jako převedení znalostní databáze, diskusního
fóra a řešených problémů technické podpory s pů-
vodními identifikátory bývalé společnosti Mercury
Interactive.
Společnost KOMIX v nedávném období investovala
další prostředky do podpůrného software i do or-
ganizace technické podpory svých zákazníků. Díky
těmto změnám došlo ke zvýšení kvality poskytova-
ných služeb technické podpory softwarových pro-
duktů HP.
Pro komunikaci se zákazníky využívá KOMIX v sou-
časné době nový systém Service Desk, nakonfigu-
rovaný pro provádění technické podpory, včetně
dodržování smluvních požadavků (SLA – Service
Level Agreement). Prostřednictvím Service Des-
ku KOMIX mají zákazníci k dispozici trvalý přístup
(24 x 7) k informacím přes webové uživatelské roz-
hraní, které umožňuje jak zadávat nové požadav-
ky technické podpory, tak i prohlížet postup řeše-
ní dříve zadaných požadavků.
V oblasti podpory HP software zajišťuje společnost
KOMIX pro své zákazníky první úroveň technické
podpory. Výhodou tohoto typu podpory je komu-
nikace v českém jazyce a naše zkušenosti s instala-
cí HP software na různá softwarová prostředí a také
znalost konkrétních implementací podporovaného
software.
Ke standardu péče o zákazníky technické podpo-
ry KOMIXu patří zasílání informací o nových verzích
HP software a konzultace o vhodnosti jejich nasa-
zení. Před uvolněním nových hlavních verzí soft-
ware předáváme našim zákazníkům výsledky tzv.
„kalibrace“, tedy závěrečnou zprávu z interního tes-
tování software dle normy ISO 9001 (ověření vlast-
ností software deklarovaných výrobcem), kde se
mj. zaměřujeme na testy českého národního jazy-
kového prostředí.
V rámci poskytování technické podpory může KO-
MIX pro své zákazníky zajistit také aktualizace no-
vých verzí software (instalační média HP update
software) a dodávky licencí.
Rovněž dokážeme řešit nestandardní požadavky
zákazníků nad rámec dojednané technické podpo-
ry, například vyžádané mimořádné práce nebo pra-
covní pohotovost v mimopracovní době či o víken-
du. Poskytujeme také rozmanité rozšiřující služby
v souvislosti s podporovaným software, nejčastěji
se jedná o instalace a konzultace prováděné na pra-
covišti zákazníka, zejména při provádění upgrade
HP software na vyšší verzi či při migracích nebo up-
grade databází.
Miloslav Richter, Štěpán Janča
[email protected], [email protected]
PrOč PrOVáDĚT ZáTĚŽOVÉ TesTyZáklady zátěžového testování aplikací
ZMĚny V PrOVáDĚní TeChnICKÉ PODPOry TesTOVaCíCh PrODuKTů PO PřeChODu OD MerCury K hP
Co jsou zátěžové testyZátěžový test slouží k nalezení problémů a jejich
příčin projevujících se při větším zatížení aplika-
ce. Například při větším počtu současně pracují-
cích uživatelů může docházet k tomu, že je aplikace
pomalá, někdy dokonce bez odezvy, vrací chybová
hlášení, další uživatelé se do ní nemohou přihlásit
nebo dojde k jejímu zhroucení.
Takové chování aplikace přináší nejen ekonomic-
ké ztráty, ale rovněž demotivaci pracovníků a sníže-
ní důvěry u zákazníků, kteří musí čekat na dlouhé
odezvy systému.
Zátěžové testy ověřují výkonnost aplikace při jejím
požadovaném zatížení. Míra testovaného zatíže-
ní se volí tak, aby odpovídala podmínkám v provo-
zu a cíli zátěžového testu. Nejběžnější praxí je simu-
lovat zatížení při některé špičce (denní, týdenní či
roční). Lze také simulovat zatížení, kterému bude
aplikace vystavena v budoucnu, např. při plánova-
ném zvýšení počtu uživatelů této aplikace.
Co ovlivňuje výkon aplikaceAplikace je obvykle provozována v prostředí se slo-
žitou architekturou, které má výrazný vliv na vý-
kon aplikace. Koncový uživatel pak chápe jako vý-
kon aplikace délku uživatelských odezev aplikace
na jeho požadavky.
Zde jsou nejobvyklejší příčiny problémů s výko-
nem:
1. Výkon hardware serverů. Ten můžeme rozčlenit
na problémy s výkonem procesorů, správou a ve-
likostí paměti, průchodností diskového systému
a síťových rozhraní.
2. Přetížení části sítě, která má nedostačující šíři
pásma.
Cílem zátěžového testu je zjistit výkonnost aplikace v závislosti na stupni a druhu zatížení.
7
3. Nastavení parametrů operačního systému (Li-
nux, HP Unix, IBM AIX …).
4. Nastavení parametrů aplikačních a webových
serverů včetně Javy.
5. Nastavení databáze a databázového serveru (vy-
užívání cache, nastavení indexů …).
6. Problémy v aplikaci (neoptimalizované dotazy
do databáze, pomalá místa kódu, chyby …).
7. Pomalé odezvy spolupracujících systémů, se kte-
rými si testovaný systém vyměňuje nebo sdílí
data.
V jakém případě je třeba udělat zátěžový testPříprava a provedení zátěžového testu trvá několik
týdnů a není levnou záležitostí, a proto je třeba
se již ve fázi plánování projektu zamyslet nad tím,
zda bude potřeba aplikaci výkonnostně testovat.
Zde uvádíme několik obecných důvodů proč je
dobré, aby aplikace byla vyladěna i po výkonnostní
stránce:
• Fungující,alepomaláaplikacesnižujeprodukti-
vitu práce a také demotivuje zaměstnance.
• Můžedojítkeztrátězákazníků.Napříkladpokud
se zákazník nemůže přihlásit do internetového
obchodu nic mu nebrání nakoupit u jiného do-
davatele.
• Pokuddojdedíkypřetíženíkúplnémuvýpadku
aplikace, může, například ve finančním sektoru,
hrozit i požadavek na úhradu škody od zákazní-
ků, kteří ji nemohou používat.
• Případnýkolapsinternetovéhobankovnictvímá
vždy značnou publicitu v médiích a může vést
ke ztrátě renomé společnosti o finančních ztrá-
tách nemluvě. Obdobné pravidlo platí i pro stát-
ní sektor. I zde jsou často medializovány výpadky
celostátních informačních systémů.
Kromě obecných důvodů, které jistě stojí za zvážení,
jsou standardní situace, v nichž je doporučeno
udělat zátěžový test na ověření výkonnosti
aplikace:
• Zadavatelpřebíránovouaplikacioddodavatele.
Zátěžový test by měl být součástí akceptačního
řízení.
• Přinasazenínovéverzeaplikace.
• Připřesunuaplikacenajinýhardware.
• Připřechodunajinouverzidatabáze(např.pře-
chod z Oracle 9 na 10).
U kritických aplikací by mělo být samozřejmostí,
aby byl zátěžový test zařazen do procesu testování
již v rámci vývoje u jejího dodavatele, jako součást
jeho vnitřních testovacích procesů.
Co vám zátěžový test přineseZátěžový test slouží k ověření výkonnosti a fungo-
vání aplikace při definované zátěži a může sloužit
také jako podklad pro zvyšování výkonu aplikace
(ladění). Samotný běh zátěžového testu samozřej-
mě výkon aplikace nijak nezvýší, ale jeho výstupy
pomohou odborníkům (správci prostředí, správci
aplikací, specialisté na aplikační, databázové a we-
bové servery, vývojáři aplikace …) určit případné
„úzké místo“. Pro ladění výkonu samozřejmě po-
třebujeme monitorovat servery, případně i další
zdroje, na kterých je aplikace provozována. Moni-
toring může být na různé úrovni, což je dáno mož-
nostmi použitého software pro zátěžové testování.
Z naměřených výsledků pak můžeme vyvodit, kte-
rý server (webový, aplikační, databázový) je přetí-
žen. Pokud použijeme pokročilé diagnostiky, které
jsou součástí některého komerčního software pro
zátěžové testy, můžeme dobu odezvy konkrétního
požadavku rozložit na doby provádění požadavku
v jednotlivých částech zdrojového kódu voláních
aplikace a tím identifikovat, kde je příčina problé-
mu. Po odstranění příčiny ověříme dalším během
zátěžového testu, zda navržené řešení skutečně při-
spělo ke zvýšení výkonu.
řešením problému nemusí být vždy jen navýšení výkonu hardwareStejně jako u jiných chyb i pro ladění výkonu pla-
tí, že nejobtížnější je najít příčinu chyby. V odstav-
ci „Co ovlivňuje výkon aplikace“ je uvedeno 7 vrs-
tev, na kterých se může chyba vyskytnout. Navíc
jde často o kumulaci příčin vyskytujících se na růz-
ných vrstvách. Posílením hardware můžete zvýšit
jeho výkon zhruba o desítky procent, ale optima-
lizací na ostatních vrstvách může dojít k mnohoná-
sobně vyššímu výkonu bez investice do hardware.
Je dobré si rovněž uvědomit, že zvýšení výkonnos-
ti aplikace, třeba i nad požadované limity, přináší
ve většině případů snížení zátěže některého serve-
ru nebo serverů. To přináší buď rezervu do budouc-
na, nebo prostor pro další aplikace pokud využívají
společné servery s laděnou aplikací.
Základní typy zátěžových testů• load Test – obvyklý typ testu, kdy jsou měřeny
odezvy systému při předem definované zátěži.
• Capacity Test – při tomto typu testu je hledána
největší zátěž, při které je aplikace ještě použi-
telná. Jinými slovy zátěž postupně zvyšujeme až
do doby, kdy aplikace přestane splňovat požado-
vaná výkonnostní kritéria.
• stress Test – zjišťujeme jak se bude aplikace
chovat v případě přetížení díky nadměrné zátě-
ži nebo při omezení některého zdroje, například
při výpadku jednoho ze dvou webových serverů
či restartování databáze za běhu testu.
Manuální nebo automatizovaný zátěžový test?Potřebné zatížení aplikace je možno zajistit přímo
lidskými zdroji (manuální test) nebo specializova-
ným software spouštěným na počítačích k tomuto
účelu vyhrazených (automatizovaný test).
Manuální zátěžové testy jsou vhodné pouze pro
malé systémy, orientačně cca do 20 uživatelů nebo
pro systémy, kde by byla automatizace příliš technic-
ky náročná. Největší výhodou této metody je rela-
tivně rychlá realizace zátěžového testu bez nutnosti
využití specializovaného software a vytváření zátě-
žových skriptů. Tato metoda má ale řadu nevýhod:
• Obtížnéřízenízátěže.
• Při opakování testu nelze vzhledem k lidskému
faktoru realizovat přesně stejnou zátěž.
• Složitésledováníodezevsystémuasběrnaměře-
ných hodnot.
• Vyššíchybovostzhlediskalidskéhofaktoru.
Příprava automatizovaných zátěžových testů je ča-
sově náročnější. Zpravidla zahrnuje analýzu, přípra-
8
vu (přípravu dat, tvorbu a odladění skriptů a přípra-
vu prostředí pro ZT), realizaci definovaného počtu
běhů a jejich vyhodnocení. Výstupy automatizo-
vaných testů jsou ve srovnání s manuálními dale-
ko přesnější. Automatizovaný test je možno opako-
vat ve stejném rozsahu zátěže jako jeho provedení
v předchozím běhu.
Prostředí pro zátěžový testVlastní příprava automatizovaného zátěžového
testu se obvykle uskutečňuje na některém z tes-
tovacích prostředí. Ideálním stavem je, pokud lze
uskutečnit běhy zátěžových testů na testovacím
prostředí, které je přesnou, nebo alespoň velice
blízkou, kopií infrastruktury produkčního prostře-
dí, včetně objemů dat v databázi. Vybudovat tako-
vé prostředí je však velmi nákladné, proto se tato
varianta v reálu nevyskytuje často.
Další variantou je realizovat zátěžový test přímo
na produkčním prostředí. Tady je potřeba předem
velmi důkladně zvážit a eliminovat velké množství
rizik, která tato varianta přináší.
Nejčastější variantou je realizace běhů zátěžového
testu na testovacím prostředí zákazníka, které má
odlišný a často slabší hardware než produkční pro-
středí. Tím vzniká problém jak určit, jaký bude vý-
kon aplikace v produkčním prostředí. Lze to řešit
několika způsoby, jedním z nich je běh v produkč-
ním prostředí, poté co se provedly běhy na pro-
středí testovacím a aplikace projevila stabilitu pod
zátěží. Tento běh zátěžového testu většinou nebě-
ží s maximálním (kritickým) počtem uživatelů, ale
s počtem, který se na daném prostředí může běžně
objevit. Tímto během získáme reálné doby odezev
na cílovém prostředí.
Jinou variantou je kvalifikovaný odhad. Mimo málo
přesných odhadů lze použít i některého speciali-
zovaného software (například HyPerformix Perfor-
mance Optimizer). Jako vstupy tomuto software
zadáme výsledky zátěžového testu a údaje o in-
frastruktuře testovacího a produkčního prostředí
(všech serverů a dalších prvků včetně jejich výkon-
nostních parametrů). Tento software pak vyhodno-
tí jak by test s určitou pravděpodobností dopadl
na produkčním prostředí. Program lze samozřejmě
použít i v tom případě, kdy plánujete posílit nebo
inovovat produkční prostředí a rádi byste znali do-
pad změny hardware na výkon aplikace.
na co se soustředit při plánování zátěžového testuV první řadě je potřeba stanovit, co bude cílem
zátěžového testu a jestli jsme schopni realizovat
jej vlastními kapacitami nebo bude výhodnější si
na tuto práci najmout profesionální firmu.
V harmonogramu prací je nutno počítat s dostateč-
nou dobou pro jednotlivé etapy zátěžového testu
(analýza, příprava skriptů a testovacích dat, prove-
dení běhů a vyhodnocení).
Pokud se rozhodnete pro profesionální firmu,
doporučujeme, aby jste si připravili pro jednání
tyto podklady:
• Jakým způsobem je aplikace zatěžována (napří-
klad pracovníky přistupujícími přes webového kli-
enta, přes tlustého klienta SAP, jiným systémem,
se kterým komunikuje pomocí web services).
• Jakájecílovápožadovanávelikostzátěže.
• Coodzátěžovéhotestuočekáváte,jakébyměly
být jeho cíle a přínosy, proč ho plánujete (např.
nová aplikace, nová verze aplikace …).
• Základnítechnologickéúdajeoaplikaci,prostře-
dích a protokolech (například aplikace je v SAPu
či Siebelu včetně jejich verze).
• Cosebudevprůběhutestuvyhodnocovat?Ty-
picky jde o doby odezev na jednotlivé uživatel-
ské akce, doby trvání u dávkového zpracování
dat, vytížení hardware (procesoru, paměti, dis-
ků), parametry databáze, aplikačních a webových
serverů, vytížení síťových prvků. V tomto případě
je dobré uvést alespoň zhruba počet monitoro-
vaných serverů a jejich charakteristiky.
• Tabulkupožadovanýchvýkonnostníchlimitůpro
sledované odezvy aplikace
Co vám můžeme nabídnoutKOMIX má rozsáhlé a dlouholeté zkušenosti v ob-
lasti provádění zátěžových testů a technické pod-
pory software HP LoadRunner. Díky našim širokým
znalostem můžeme nabídnout provedení zátěžo-
vých testů „na klíč“ jak komerčním, tak freeware
software.
Dále nabízíme školení, a to nejen pro pracovníky
provádějící zátěžové testy (jak provádět zátěžové
testování, školení práce se software pro zátěžové
testy), ale také obecnější školení pro vedoucí pra-
covníky.
Libor Kotoun
Přenesme se tedy do projektové reality a pojďme se
podívat, koho z testovacího týmu můžeme potkat
na SW projektu, jehož součástí je manuální funkční
testování, a jak takové testování vlastně vypadá.
Standardní řízený proces testování by měl obsaho-
vat 4 fáze - plánování, přípravu, provedení a vy-
hodnocení.
Úkolem plánovací fáze je mimo jiné zjistit, co je
cílem testování, zhruba určit metody, kterými se
k těmto cílům dostaneme a nastavit základní rámec
pravidel, podle kterých se bude dále postupovat.
Ve fázi přípravy nastává ten správný čas na pro-
studování dostupných podkladů, upřesnění nejas-
ností, zvolení vhodného způsobu testování a ze-
jména čas pro přípravu podkladů, podle kterých
se testování provede. Vývoj aplikací nejčastěji pro-
bíhá v několika etapách, je tedy více než vhodné,
aby testeři tento způsob respektovali. Proto je nut-
né mít připravené odpovídající typy testů pro kaž-
dou fázi projektu – při akceptačním testování je již
pozdě na zjišťování, zda při zadání textu do číselné
položky aplikace nezhavaruje.
Od první spustitelné verze aplikace může (a má) za-
čít provádění testů, tedy určení vhodné sady tes-
tů, odpovídající aktuální fázi vývoje, jejich spuště-
ní a ohlášení nalezených chyb. Po ukončení testů
následuje jejich vyhodnocení – tedy rekapitulace
toho, co se udělalo, ocenění dobré práce a získání
námětů na to, co příště udělat lépe. Vhodným ter-
mínem pro tuto činnost jsou milníky projektu.
Práce v jednotlivých fázích testování se od sebe vý-
znamně liší, a je tedy vhodné, když si je mezi sebou
rozdělí sehraná skupina odborníků. Nejčastěji se
rOle V PrOCesu ManuálníhO TesTOVánítak v týmu sejde vedoucí testování, analytik testo-
vání a jeden nebo více testerů.
Vedoucí testování (manager testování, koordinátor testování…)Jeho hlavním úkolem je plánovat, vést a řídit testo-
vání. V úvodních fázích projektu domlouvá a speci-
fikuje záměry a cíle testování, rozhoduje, které typy
testů a zhruba v jakém rozsahu je třeba provést.
V některých případech také trpělivě vysvětluje, že
opravdu není možné, aby testeři poprvé nastoupili
na projekt tři dny před finálním releasem.
Během projektu organizuje práci testerů, pomáhá
jim zajišťovat podmínky k práci a kromě standard-
ních manažerských činností také dbá na to, aby
jeho tým dodržoval přijatou metodiku. V neposled-
ní řadě komunikuje s vedením projektu, řeší problé-
my a urovnává menší krize, kterých je na projektu
vždy více, než by si přál.
Na projektu ho buď potkáte málokdy (pokud jste
vývojář nebo analytik), nebo naopak téměř na kaž-
dé schůzce (pokud jste projektový manažer).
Testování už dnes (naštěstí) většinou neprobíhá tak, že si „někdo“ na pár minut sedne k aplikaci,
„tak nějak“ prokliká obrazovky a myslí si, že zázračně na první pokus odhalí všechny závady
a nedostatky, které se v programu skrývají. Ověřování kvality tak přestává být i v našich krajích
vnímáno jako „práce pro juniory“ a „přestupní stanice k lepší pozici“ a stále více lidí si uvědomuje,
že jde o exaktní disciplínu, řídící se jasnými pravidly a vyžadující souhru několika odborníků.
9
Co nerad slyší:
Testovací prostředí fungovat nebude, ale testy se
udělat musí. Nějak to otestujte, hlavně ať tam ne-
jsou chyby, ať to můžeme nechat zakceptovat.
analytik testováníJeho doménou je testovací dokumentace – tedy
příprava a údržba podkladů pro testování. Poznáte
ho snadno už podle prvních otázek, které většinou
zní: „Kde najdu požadavky, kde máte uloženou ana-
lýzu a jaký je telefon na analytika vývoje?“
Pak se stáhne do tichého kouta, odkud se něko-
lik dní ozývá zuřivé šustění zvýrazňovače a nespo-
kojené „Odkdy má happy-day scénář dva konce?“,
„Tady je potřeba dopsat alternativní průběh.“, pří-
padně zoufalé „Kdo odsouhlasil požadavek ‘Systém
je dostatečné výkonný?!‘ “. Po následujícím krátkém
intermezzu s analytikem vývoje se vrací s uprave-
nou analýzou a hrubou kostru naplánovaných tes-
tů začne obalovat testovacími případy a testovací-
mi daty. Jednotlivé testy se začnou skládat do sad
a v okamžiku, kdy si spokojeně vydechne nad ho-
tovou prací, je zpravidla čas na zapracování první
dávky změn a úprav. Se začátkem testování se vě-
nuje hlavně určování, které testy budou v aktuál-
ním běhu spuštěny a část času věnuje zapracovává-
ní změn a úpravám testovacích případů.
Na projektu se nejvíce potkává s analytikem vývo-
je a s odborníky zákazníka, kterých se ptá a ptá až
do oboustranného vyčerpání.
Co nerad slyší:
Analýza ani požadavky nejsou a nebudou, funkč-
nost je triviální a každý ví, co to má dělat.
Není čas něco analyzovat, musíme hlavně začít
rychle testovat. Pusť si aplikaci, zjisti si co dělá, a pak
podle toho napiš testy.
TesterVe své praxi jsem se setkal se dvěma krajními po-
hledy na roli testera. Podle jednoho z nich to má
být někdo, kdo si ráno bez jakékoli podpory sedne
k neznámé aplikaci, mrknutím levého oka ji nain-
staluje, nakonfiguruje a rozchodí, mrknutím pravé-
ho oka pak vyčaruje tři megabajty testovacích dat,
analýzou se nezdržuje, do oběda celý systém doko-
nale otestuje a bude hlavou ručit za to, že v aplikaci
žádné chyby nejsou a nikdy nebudou.
Podle druhého pohledu je tester zbytečná přítěž,
případně nezkušený junior, kterého je nejlépe ig-
norovat a co nejdříve nahradit nějakým pěkným
systémem pro automatizované testování.
(Existuje ještě třetí pohled: “Hlavně se nám v té naší
dokonalé aplikaci nerejpej, ještě bys tam něco na-
šel a my to museli opravovat“. Tam pro testera exis-
tuje jen jedna cesta – zmizet co nejrychleji do jiné
firmy.) Jak už to u extrémních příkladů bývá, prav-
da je někde uprostřed cesty. U dokonale připra-
vených testů, tedy tam, kde byl dostatek času pro
analýzu a přípravu podrobných testovacích scéná-
řů a kde jsou scénáře ověřeny mnoha běhy, může
být testování vhodnou prací pro studenta, juniora
nebo pro automat (koho by také uspokojovalo kli-
kat v jedné aplikaci pořád dokola). Čím méně do-
konalá byla příprava a analýza, čím více se aplika-
ce mění pod rukama a čím méně je času na vlastní
testování, tím fundovanější musí být tester, tím více
musí spoléhat na zkušenosti, intuici, znalost oboru
a na různé fortele a triky, které mu umožní i takový
projekt zdárně dokončit.
Úkolem testera je tedy otestovat aplikaci – ale co
to vlastně znamená? Stručně řečeno, podle podkla-
dů provádět s aplikací předepsané operace, porov-
nat je s předepsaným očekávaným chováním a za-
znamenat neshody, na které narazí. Kromě toho je
žádoucí, aby netestoval pouze to, co je předepsáno
– v rámci „free testů“ mají testeři spoustu prosto-
ru pro invenci při vymýšlení, jak aplikaci co nejlé-
pe shodit. Dobře namíchané, několikrát provedené
testy, složené jak z rutinního procházení, tak z vol-
ného hraní s aplikací, dokáží odhalit velké množství
chyb, v rozumném čase a s malým rizikem, že tým
otupí z únavy. Samostatným uměním je správné re-
portování chyb – tak, aby bylo možné ověřit opravu
chyby, kterou nalezl před půl rokem kolega, který
již ve firmě nepracuje, v aplikaci o pět verzí zpátky
a poté, co se dvakrát přemazala databáze.
Nejčastěji tester komunikuje s vývojáři a s analyti-
kem testování.
Co nerad slyší:
To není chyba, to je vlastnost.
To jsme udělali jinak.
Na mém počítači to funguje, přeinstaluj si Win-
dows.
Testování přirozeně neprobíhá ve vzduchoprázd-
nu, testovací tým spolupracuje a komunikuje s řa-
dou dalších lidí. Nejdůležitější pro testovací tým
jsou projektový manager, analytik vývoje a progra-
mátor, ale neobejdou se ani bez součinnosti odbor-
níků ze strany zákazníka – neocenitelná je zejmé-
na pomoc specialistů na data a na vlastní business
zákazníka. A nedovedu si
představit efektivní testo-
vání bez pomoci specialistů
na databáze, testovací pro-
středí a vývojářů různých
speciálních nástrojů – těm
všem patří poděkování nás
testerů.
Bohužel nikdo - ani mistři
badatelských testů, ani nej-
dražší software pro testy, ani
nedokonalejší analýzy - ne-
zaručí, že nějaká chyba ne-
proklouzne až k uživatelům.
Testovací tým se snaží dob-
rým naplánováním, pocti-
vou přípravou a pečlivým
provedením testů o to, aby
takových chyb bylo co nej-
méně.
Pavel Hönigschmied
10
Od konce roku 2005 pracuje KOMIX na projektu vý-
voje systému cestovních pasů s biometrickými prv-
ky (CDBP), na kterém se podílí celá řada dalších sub-
jektů. Projekt je rozdělen do několika etap, přičemž
předmětem minulé etapy (tj. období roku 2006) byl
vývoj centrální aplikace a k ní skupiny (čítající cca
12) klientských aplikací: klientská aplikace pro obce,
klientská aplikace pro cizineckou a pohraniční po-
licii atd.
V současné době, probíhá další etapa projektu,
ve které je předmětem vývoje rozšíření stávajících
aplikací o zpracování otisků prstů. Dále dochází
ke zvýšení zabezpečení údajů v čipu elektronické-
ho pasu prostřednictvím složité struktury certifiká-
tů a také jsou realizovány další drobné změny a roz-
šíření systému.
Již v době, kdy se tvořil plán celého projektu, byla
navržena období, během kterých se bude testování
realizovat. Je potřeba si uvědomit, že proces testo-
vání se skládá, kromě plánování, z přípravy testová-
ní (což bývá náročná a dlouhodobá činnost) a pak
ze samotného provedení testování.
Po naplánování byl sestaven testovací tým, který
zahrnuje následující role: vedoucího testování, ana-
lytika testování a testery.
Vedoucí testování zastřešuje celý tým, tj. komuni-
kuje s jinými vedoucími týmů a managementem
projektu, zajišťuje rozdělení prací v týmu, koordi-
nuje činnosti v týmu, kontroluje výsledky práce čle-
nů týmu a poskytuje jim podporu, sestavuje Plán
testování, odhaduje pracnost činností, sestavuje
Harmonogram testování, sestavuje návrh testování
(součást dokumentu Návrh programového vybave-
ní), vytváří společně s analytikem testovací scénáře
a testovací případy (tj. pro všechny klientské aplika-
ce projektu CDBP).
Analytik testování vychází ze schválených analytic-
kých podkladů k aplikaci, na jejichž základě navrhu-
je rozsah pokrytí aplikace testy, tvoří testovací pří-
pady, testovací scénáře a specifikaci testovacích dat
(potřebných pro provedení testů).
Tester provádí samotné testování na základě tes-
tovacích případů a testovacích scénářů s použitím
testovacích dat.
V reálu většinou dochází ke kumulaci rolí. Na tomto
projektu je vedoucí testování zároveň i analytikem
a v případě potřeby také testerem. Stejně tak analy-
tik testování bývá současně testerem.
Úkolem týmu je seznámit se s projektovou doku-
mentací, tak aby byl schopen vytvořit testy ještě
před tím, než jsou k dispozici testovatelné klient-
ské aplikace. Projektová dokumentace na CDBP za-
hrnuje Analýzu programového vybavení (dále jen
APV), kde jsou podrobně rozpracované požadavky
na systém od zákazníka, dále obsahuje popisy roz-
hraní, slovní popisy procesů, UML diagramy proce-
sů, infrastruktury apod. Druhým neméně důležitým
dokumentem, který vzniká na základě Analýzy je
Návrh programového vybavení (dále jen NPV). Sou-
částí NPV je také kapitola o funkčním a zátěžovém
testování, kde je rozepsán požadovaný rozsah tes-
tování pro tuto etapu vývoje. Tyto dva dokumenty
jsou důležitým podkladem pro návrh a tvorbu tes-
tovací dokumentace (tj. Plán testů, Testovací přípa-
dy a scénáře, specifikace testovacích dat).
Po seznámení týmu s projektovou dokumenta-
cí aktualizoval vedoucí testování dokument Plán
testování, který vznikl již v minulé etapě a obsahu-
je popis konkrétního provedení jednotlivých stádií
testování, požadavky na součinnost ze strany zá-
kazníka, kritéria zahájení a ukončení testování, spe-
cifikace testovacích dat, definice rolí, definice tříd
chyb atd.
Po aktualizaci Plánu testů přichází fáze přípravy tes-
tovacích případů a testovacích scénářů, a to na zá-
kladě informací z dokumentů APV a NPV.
Pro zajímavost: na projektu CDBP bylo za obě eta-
py vytvořeno celkem 130 testovacích scénářů, které
mají dohromady cca 520 stránek A4 a obsahují po-
drobné testovací případy.
Testovací dokumentace je finalizována do začátku
systémového testování.
Projekt CDBP prochází následujícími stádii testo-
vání:
•Interní
•Systémové
•Integrační
•Nezávislé
•Akceptační
•Pilotníprovoz
Interní testování na projektu CDBP je stádium pro-
jektu, kdy dochází k tvorbě veškeré testovací do-
kumentace (jak jsem popsal již výše) a prvotnímu
otestování vyvíjeného systému na testovacím pro-
středí v KOMIXu. Výsledkem interního testování je
„funkční“ verze centrálního systému a klientských
aplikací, které se následně nahrají na prostředí zá-
kazníka, v tomto případě na prostředí vytvořeném
na Ministerstvu vnitra.
Vývoj aplikací a interní testování projektu CDBP je
rozděleno do iterací, které mají 14 denní opaková-
ní. Jeden týden testovací tým vždy připravuje testy
a druhý týden tyto testy provádí. Stejně tak vývo-
jový tým jeden týden vyvíjí a druhý týden opravu-
je chyby. Plánované práce vývoje jsou evidovány
v dokumentu Evidence iterací, podle kterého mají
testeři dokonalý přehled o tom, co bude v následu-
jících několika týdnech naprogramováno a postup-
ně uvolněno pro testování. Posledním zdrojem in-
formací pro testery je firemní aplikace ProjectX, kde
každému záznamu z Evidence iterací odpovídá je-
den úkol přiřazený konkrétnímu řešiteli. V úkolu je
popsán zdroj, ze kterého programátoři vycházejí, tj.
Analýza, Návrh, ZP (změnové požadavky). Dále zde
bývá stručný popis řešení a také návrh na otesto-
vání. Na základě těchto informací vedoucí testová-
ní připraví postup provedení testů, který většinou
vychází z testovacích případů a testovacích scé-
nářů. Tento návrh testování pak zaeviduje do Pro-
jectX ve své složce Testování jako úkoly a přiřadí
je konkrétnímu řešiteli, tj. členu testovacího týmu
- testerovi. Aplikace zašle úkol e-mailem odpověd-
né osobě, která pak v testovacím týdnu iterace úkol
provede. Musím podotknout, že tento způsob vý-
voje je velmi přehledný a funkční.
Po dokončení interního testování a oprav je uvolně-
na k testování první verze systému na testovací pro-
středí zákazníka, tedy k systémovému testování.
Velmi často jsou systémové a integrační testy pro-
váděny víceméně současně, protože bez napojení
TesTOVání sysTÉMu CDBP V KOMIXu
11
na ostatní vyvíjené komponenty celého systému
se nedá vyvíjený systém dostatečně otestovat. Cí-
lem systémového a integračního testování je pro-
pojit produkt vyvíjený KOMIXem s ostatními část-
mi systému, které vyvíjejí další subjekty účastnící
se projektu. Poté, co je propojen centrální systém
klientské aplikace s testovacími evidencemi obyva-
tel a cestovních dokladů a dalšími okolními systémy
(na prostředí zákazníka), probíhá testování zhruba
stejným způsobem jako v rámci interních testů. Tes-
teři procházejí klientské aplikace podle testovacích
případů a testovacích scénářů, jediným rozdílem
bývají testovací data, která musí do testovacích evi-
dencí připravit pracovníci Ministerstva vnitra.
Na konci systémových a integračních testů se vět-
šinou provádí zátěžový test, který je možné pro-
vést až tehdy, kdy je aplikace „plně“ funkční a je z ní
odstraněna většina chyb. Cílem zátěžového testu
na tomto projektu je otestování výkonnosti cent-
rálního systému, tedy zda je systém schopen při za-
sílání velkého množství požadavků v určitém časo-
vém intervalu (např. jedné hodiny) tyto požadavky
zpracovat, vyřídit (např. podepsat příslušnými certi-
fikáty) a poslat zpět. Zátěžový test celého systému
byl proveden už v minulé etapě, v této etapě dojde
pouze k otestování jedné nové komponenty cent-
rálního systému, která je součástí nově doprogra-
movaných funkcí.
Po provedení interního, systémového a integrační-
ho testování provede jiný subjekt účastnící se pro-
jektu tzv. nezávislé testování našeho produktu
Možná, že jste se již někdy setkali s úkolem převést
systém provozovaný u zákazníka do zcela nového
řešení, a to se zachováním funkčnosti, na kterou
jsou uživatelé zvyklí. Pokud jste i vy už něco tako-
vého řešili, určitě mi dáte za pravdu, že ne všechny
věci běží tak, jak by měly a v průběhu prací se mů-
žete setkat s menšími nebo většími problémy. Ani
převod systémů TARIC (systém integrovaného ta-
rifu Evropské unie) a NIT (národní integrovaný ta-
rif) z prostředí UNIX do prostředí Windows nebyl
výjimkou. V následujících řádcích popíšu některé
z postupů, které jsme implementovali, budu mluvit
o problémech a jejich řešeních, které tento převod
provázely. I když se tento článek nesoustředí na de-
tailní popis systémů TARIC a NIT, je nutno zmínit pár
základních údajů.
Systém TARIC slouží ke sledování statistiky zahra-
ničního obchodu Společenství a obchodu mezi
členskými státy Evropské unie. Tento systém je za-
ložen na kombinované nomenklatuře. Systém NIT
doplňuje TARIC o netarifní opatření, sazby daně
z přidané hodnoty a spotřební daně. Tyto systémy
resp. celého systému. V minulé etapě si tato firma
vytvořila vlastní testovací případy a scénáře na zá-
kladě stejné dokumentace, kterou měl k dispozi-
ci testovací tým KOMIXu. Stejný režim je plánován
i pro současnou etapu projektu, kdy tato firma do-
stane navíc k dispozici testovací dokumentaci KO-
MIXu. Proces nezávislého testování probíhá podob-
ně jako interní a systémové testování prováděné
KOMIXem. Testeři firmy provádějící nezávislé tes-
tování projdou všechny klientské aplikace pod-
le testovacích případů a testovacích scénářů, zapí-
šou chyby (pokud jsou nějaké nalezeny), tyto chyby
jsou opraveny, dojde k uvolnění nové verze a k re-
testu atd.
Pokud je nezávislé testování celého systému CDBP
úspěšné a dojde ze strany firmy provádějící nezá-
vislé testy k potvrzení, že KOMIX i ostatní subjekty
účastnící se projektu CDBP vytvořily dílo odpovída-
jící smluvnímu zadání, je tento systém předán k ak-
ceptačnímu testování.
akceptační testování většinou probíhá tak, že se
předvedou zákazníkovi všechny funkce odpoví-
dající jeho zadání (požadavkům). Testování probí-
há na základě testovacích případů a scénářů, podle
kterých byly prováděny testy v rámci předchozích
stádií testování. Tato testovací dokumentace je však
zredukována na ty nejdůležitější funkčnosti (které
zastřešují všechny ostatní). Důvodem této reduk-
ce je fakt, že testovací dokumentace i celý systém
CDBP je velmi rozsáhlý a složitý a jeho komplexní
byly doposud provozovány na operačním systému
UNIX a pro uchovávaní dat byl zvolen databázový
server Informix. Část řešení, importující data přichá-
zející z Evropské unie ve výměnném formátu EDI-
FACT,bylanapsánajakoautonomníúlohapřistupu-
jící k databázi pomocí ANSI C a ESQL/C. Pro přístup
uživatelů k datům byly vytvořeny webové aplikace
provozované na webovém serveru Apache za po-
užitímoduluFastCGI.Tolikshrnutítechnologie,ze
které se převádělo. Dále již druhá strana mince –
technologie, do které se převod uskutečnil. Micro-
soft, takto by se dalo jedním slovem shrnout cílové
prostředí. Buďme však konkrétnější. Celkové řeše-
ní se skládá z aplikačního, databázového a webové-
ho serveru. Všechny servery běží na operačním sys-
tému MS Windows Server 2003. Logické rozdělení
tohoto systému je, že autonomní úlohy a část ko-
munikující s Bruselskou bránou jsou provozovány
na aplikačním serveru. Databázový server, v našem
případě MS SQL Server 2005, pokrývá migrované
databáze. Integrace webových aplikací, určených
pro práci uživatelů, se připravovala do portálového
funkcionalita byla ověřena několikrát v předcháze-
jících stádiích a v rámci akceptačních testů není vět-
šinou možné realizovat testy v úplném rozsahu. Zá-
kazníkovi se proto předvedou základní uživatelské
funkce systému (odpovídající jeho požadavkům)
a podle kritérií stanovených a odsouhlasených
s dostatečným předstihem se pak akceptační testy
vyhodnotí. Zákazník po skončení akceptačních tes-
tů podepíše Akceptační protokol s vyjádřením, že
systém byl dodán tak, jak bylo smluveno a všichni
účastníci projektu dostáli svým závazkům.
Jedna z nejdůležitějších a nejsledovanějších fází
projektu je tzv. Pilotní provoz. Pilotní provoz pro-
bíhá následujícím způsobem: veškerý systém, tes-
tovaný na „testovacím“ prostředí, se převede
do tzv. ostrého prostředí. Celý systém se tak propo-
jí se skutečnými evidencemi a skutečnou produkční
databází. V rámci tohoto pilotního provozu jsou už
vyráběny skutečné pasové knížky s reálnými daty.
V rámci pilotního provozu mohou být ještě naleze-
ny a opravovány chyby vycházející z reálného na-
pojení na spolupracující systémy. Neshody z pilot-
ního provozu jsou hlášeny na tzv. „hotline“, kde jsou
tříděny a řešeny.
Po úspěšném ukončení pilotního provozu, který
může trvat řádově několik týdnů, bude systém uve-
den do běžného provozu. Plánované nasazení ino-
vovaného systému CDBP bude od dubna 2009.
Michal Černický
řešení provozovaném na Windows SharePoint Ser-
vices 2.0. Z použitých technologií se dá vyčíst, že
jsme pro programování zvolili opět Microsoft, a to
vpodáníMicrosoft .NETFramework2.0,ASP .NET
2.0 a C++.
Z obrázku 1 si můžete udělat představu o celkovém
řešení.
Dějství první – migrace databázeVýhoda této migrace je, že známe stávající řešení,
a tudíž nás nic nemůže překvapit, říkáme si. Nikdo
však není prorokem a na tato slova si ještě v průbě-
hu prací několikrát vzpomeneme. Ty začátky jsou
asi všude stejné, je potřeba připravit vývojové pro-
středí, nastavit pravidla, přístupy atd. Již po prvních
jednáních se zákazníkem je však jasné, že ke štěstí
nám nepomůže jenom naše interní vývojové pro-
středí, ale pro integraci je zapotřebí ještě prostředí,
a to přímo u zákazníka. Ještě, že existuje virtuali-
zace, vzpomenu si, když poměrně brzy dostávám
informaci o tom, že je již možné tyto prostřed-
ky na straně zákazníka využít. Protože mezitím
PřeVOD sysTÉMů TarIC a nIT Z PrOsTřeDí unIX DO PrOsTřeDí WInDOWs
12
nezahálíme, je připravován převod databáze z IBM
Informix řady 9.X do MS SQL Server 2005. Instalu-
jeme IBM Informix Client SDK 2.90.TC1 a připravu-
jeme převod databáze. Volba na tuto verzi padla
z důvodu stability v současně provozovaných ře-
šeních. (Jak jsme se v tomto případě mýlili, ukáže
až pozdější nepříjemné zjištění). Nastavujeme pro-
středíklientapropodporuUTF-8,avšakjižpřiprv-
ních testech zjišťujeme, že nám zcela zjevně něco
chybí. Na data se dostaneme, ale jejich zobraze-
ní není správné. Chybí nám Global Language Sup-
port, vzpomeneme si, a po instalaci této podpory je
již vše v pořádku, data se zobrazují tak, jak by měly.
Následně zálohujeme prostředí IBM Informix Clien-
ta a můžeme začít připravovat balíčky pro přenos
dat na SQL Server 2005.
Dějství druhé – příprava autonomních úkolůProgramové vybavení na straně aplikačního serve-
ru obsahuje autonomní úlohy pro import a export
dat. Toto řešení bylo provozováno i na platformě
UNIX. Pro vývoj nových autonomních úkolů bude
použit jižnavrženýMicrosoft .NETFramework2.0.
S úspěchem převádíme metadata popisující EDI-
FACTzprávudoXMLformátuapřipravujemealgo-
ritmus importu dat. Nebudu čtenáře zdržovat in-
formacemi o tom, jak jsme rozdělovali části kódů,
abychom docílili vytvoření znovupoužitelného fra-
meworku pro autonomní úlohy, a také webové čás-
ti řešení. Musím však říci, že pokud se chystáte vy-
tvořit takto obecnější
framework, je potřeba
myslet na to, jak se vám
budou chovat standard-
ní části logování .NET
v některých portálových
prostředích. Neměli bys-
te taky zapomenout,
že některé z těchto ře-
šení vyžadují registraci
použitelných knihoven
do GAC (Global assemb-
ly cache). Abych se však
vrátil zpět k naší implementaci. Mluvíme-li o impor-
tu dat ze vstupního souboru, tak část těchto prací
není závislá na existenci databáze. V našem případě
tomu nebylo jinak. Oddělením částí programování,
rozebránímEDIFACzprávyajejívalidacíjsmemoh-
li pokračovat v pracích nezávisle na stavu migrace
dat, která nebyla ještě
v té době kompletní.
Dějství třetí – ko-munikace s infra-strukturou BruseluBrusel zasílá zprávy typu
EDIFACTvšemčlenským
státům pomocí infra-
struktury určené pro
tento účel. Pro podporu komunikace s touto infra-
strukturou distribuuje speciální SDK, a to jako C++
knihovny. Chvíli jsme váhali, zda pro vytvoření pro-
gramového vybavení stahující data z této brány ne-
použítMicrosoft .NETFramework,alevtomtopří-
padě převážily výhody nativní integrace s C++.
Zajímavostí tohoto SDK je, že může spolupracovat
s bránou dvěmi následujícími způsoby:
a) komunikaci zahajuje infrastruktura,
b) komunikaci zahajuje klient
ad a/ celková konfigurace je nastavena v tzv. módu
“OnDemand“.
Toto se jeví jako efektivní řešení, ve kterém nedo-
chází ke zbytečné zátěži této infrastruktury. Abych
objasnil tento princip, musím říci, že v tomto módu
infrastruktura samotná aktivně oslovuje na defino-
vaném TCP/IP portu poslouchající kanál na straně
klienta, a po navázaní komunikace probíhá spoje-
ní již pomocí tohoto kanálu. Nezbytným předpo-
kladem je, že na straně klienta je programové
vybavení umožňující nejenom poslouchat na vy-
hrazeném portu, ale i předat řízení dalšímu progra-
movému vybavení. Tato část na straně klienta také
slouží jako most pro komunikaci mezi volaným pro-
gramovým vybavením na jedné straně a infrastruk-
turou na straně druhé. Pokud se to zdá příliš složité,
tak uživatelé UNIX přesto jistě tuší, že programové
vybavení inetd je trefa do černého.
Komunikace typu OnDemand je znázorněná na ná-
sledujícím obrázku.
Zastánci Windows zřejmě již ví, že pod tímto sys-
témem to není takovým standardem jako u UNIX.
Pokud byste připravovali takovéto řešení ve vašem
produktu, tak byste se měli striktně vyhnout použi-
tí funkcí zapisujících informace na standardní vstup
nebo výstup. Důvodem proč nezapisovat je to, že
pokud vaše programové vybavení volá někdo tím-
to způsobem, tak vám do procesu předává komu-
nikační rouru právě formou standardního vstupu
a výstupu. I když na Windows se něco takového
moc nepoužívá, nehodíme však flintu do žita, po-
mysleli jsme si. Začali jsme tedy hledat, zda lze tako-
véto řešení rozumně pokrýt. Kdo hledá najde, říká
se. Po nalezení pár placených odkazů a ověření ně-
kolika ne zcela funkčních řešení jsme nalezli koneč-
ně to, co jsme potřebovali. Pak mohlo začít testo-
vání. První problémy se objevily hned na počátku,
kdy náš program sice začal po oslovení komuniko-
vat, avšak po prvních voláních bylo spojení přeru-
šeno. Snažili jsme se zjistit, co může být příčinou
tohoto chování a pro podporu jeho detekce jsme
zaslali všechny podklady tvůrci SDK. Po několika
komunikacích s dodavatelem SDK a neúspěšných
testech však dostáváme zprávu, že ve funkcionalitě
SDK určené pro operační systém Windows je chyba
a oprava bude uvolněna někdy v příští verzi. Ještě,
že algoritmus zůstává stejný a mění se jenom konfi-
gurace, pomysleli jsme si.
ad b/
Protože čas je neúprosný, naše úsilí se soustře-
dí na co nejrychlejší konfiguraci prostředí brá-
ny v módu OnInitiator. Konfigurace prostředí není
zcela v naší moci a je potřeba oslovit Brusel, ale
tady nám něco říká, že zítra to asi nebude. Vrhá-
me se proto na definování automatické části, kte-
rá bude oslovovat tuto bránu v předem určených
intervalech, a to nejlépe s možností definice rozdíl-
ných intervalů v průběhu celého dne. Dlouho hle-
dat nemusíme a rozšířeným nastavením automa-
ticky spustitelných úkolů v operačním systému MS
Windows 2003 lze tuto funkcionalitu zcela pokrýt.
Po zprávě, že Brusel již prostředí nakonfiguroval,
provádíme testovací ověřování a po pár kolech mů-
žeme říci, že algoritmus je funkční.
Dějství čtvrté – pokračování vývoje au-tonomních úkolůMigrace dat v době, kdy jsme řešili problémy brány,
pokročila tak, že data jsme již měli k dispozici, jak
na našem vývojovém serveru, tak také v prostředí
zákazníka. Při samotném vývoji importu jsme se se-
tkali s problémem implementace odložených kon-
trol vkládaných záznamů. Tato funkcionalita je pod
Informix řešena přímo, avšak Microsoft na to jaksi
pozapomněl. Řešení jsme však nakonec nalezli, ale
až na úrovni ovládání constraints nad samotnými
tabulkami databáze. Po testování importu a odla-
dění případných chyb se již rozeběhly práce na pří-
pravě exportů. Postupující práce nám daly možnost
provést vzájemné srovnání exportů z UNIX a Win-
dows. Jenže tady jsme se nestačili divit. Všechny
položky seděly, avšak datumové položky se zce-
la náhodně rozcházely o jeden den, a to jak do-
předu, tak i dozadu. Začali jsme kontrolovat mig-
rovaná data v MS SQL Serveru a tam bylo přesně
to, co jsme exportovali pomocí našeho algoritmu.
Obrázek 1: Obecná architektura celkového řešení
Obrázek 2: Komunikace typu OnDemand
13
Po následné kontrole v Informix jsme zjistili, že data
se přenesla chybně. Verdiktem je, že v migraci je ně-
kde chyba a je ji potřeba co nejdříve objevit. Začíná
zdlouhavé hledání a testování za podpory software
umožňujícím porovnání datových tabulek, rozdě-
lování připravených importních balíků na menší
(po rozdělení na obsahově menší balíčky se frek-
vence o poznání snížila) a další činnosti. Nebudu
čtenáře zdržovat výčtem všeho, co jsme podnika-
li k tomu, abychom objevili v čem je problém, ale
řešení se nakonec nalezlo. V našem případě to byla
nutnost aktualizace použité verze IBM Informix Cli-
ent SDK 2.90.TC1 na verzi novou, a to IBM Informix
Client SDK 2.90.TC6R1. Po nasazení této verze již vše
proběhlo správně.
Dějství páté - webové aplikaceImplementace webových aplikací do prostředí zá-
kazníka mimo jiné předpokládala integraci Active
Directory, použití impersonifikace (změna identi-
ty) při přístupu na datové zdroje, a také byl předpo-
klad, že uživatelům zanecháme systém upozorně-
ní při provádění autonomních úkolů přistupujících
do databáze. Z celkového řešení se nakonec nej-
problémovější ukázala část pro přístup na datové
zdroje pod jinou identitou. Tato část je dostatečně
popsána na MSDN, ale ne všechny doporučení jsou
s ohledem na prostředí portálu funkční. Po hledání
řešení metodou pokus omyl se nám úpravou kódu
a zařazením volání Windows API funkce RevertTo-
Self (zruší předcházející impersonifikaci), před sa-
motnou záměnou identity uživatele, podařilo
upravit tuto část kódu tak, aby byla funkční i pro vy-
stavení do portálu. Co nás dále překvapilo při vý-
voji webových aplikací? Jak jsem již předeslal, ne-
bylo toho příliš. Co však možná stojí za zmínku, je
to,žepropřípravuexportůdoformátuDBFbylpo-
užit standardní MS Jet OLEDB poskytovatele. Po-
kud však použijete tohoto poskytovatele s vlast-
ností dBASE 5.0, počítejte s omezením velikosti
textových datových položek na hodnotu 255. Pro
formát Excel jsme zvolili “standardní” možnost to-
hoto produktu zpracovávat HTML soubor. Jediné,
co pro korektní zpracování tohoto formátu samot-
ným Excelem musíte dodržet, je konvence hlavičky
a samotných stylů. Za zmínění také stojí fakt, že při
použití stejného frameworku (ve kterém jsou defi-
novány globální proměnné) pro obě aplikace a po-
třeby registrace těchto aplikací do GAC může dojít
k problémům při aktualizaci, nebo samotné funkč-
nosti těchto aplikací na provozovaném portálu.
Tuto situaci jsme vyřešili stanovením jednoho z čí-
sel určených pro verzi, a to pro každou webovou
aplikaci samostatně. Z pohledu dvou aplikací je si-
tuace jednoduchá a určení padlo na rozlišení dle
sudé a liché. Posledním překvapením, přesto po-
těšujícím, je to, že MS SQL Server 2005 podporuje
pro optimalizaci pokládání dotazů výběr z části dat.
Při vývoji webových aplikací nám tato funkcionalita
přišla „jako na zavolanou“.
Dějství šesté - nasazeníNasazení systému proběhlo až nad očekávání hlad-
ce, řekl bych. Dílem i proto, že v našem případě již
všechny aplikace byly instalované v produkčním
prostředí a předtím proběhl pilotní provoz. Také
z toho důvodu, že jsme migraci již měli, jak se říká,
v malíčku. Co by se tedy dalo v tomto místě zmínit?
Jak se na to dívám zpětně, tak organizační část pře-
vedení systému s dopadem na všechny vstupující
subjekty se nám v časovém skloubení harmonogra-
mu ukázala výhodou.
Martin Janček
MeTODy a TeChnIKy OBjeKTOVĚ OrIenTOVanÉ analýZy
Tentokrát se zaměříme na základní metody a tech-
niky při analýze. Připomeneme si základní charakte-
ristiky disciplín Requirements Engineering a Object
Oriented Analysis, metody Object Behavior Analy-
sis a techniky Unified Modeling Language. Využi-
tím praktických zkušeností můžeme získat souhrn
jejich hlavních výhod.
rekapitulace disciplín pro popis poža-davků
requirements engineering (re) je osvědčená dis-
ciplína, vhodná pro popis uživatelských požadavků
složitějších systémů.
RE má především tyto cíle:
• zlepšeníkomunikacemezidodavatelemaodbě-
ratelem,
• dokumentacepožadavků,
• zpřesněnípožadavků,
• sjednoceníprotichůdnýchpožadavků,
• setříděnípožadavkůpodledůležitosti.
Použití RE má tyto důsledky:
• rychlývývojpožadavkůnastraněodběratele,
• formapopisujesrozumitelnáodběrateli,definu-
je CO se má řešit, ne JAK,
• včasnévyjasněnípriorit,
• méněproblémůpřipředánídílaodběrateli.
V minulém článku jsme se soustředili na strukturu
katalogu uživatelských požadavků – zmínili jsme
se o často používaných typech atributů požadav-
ku a popisu ve formě strukturovaného textu formá-
tovaného v tabulce. Právě to jsou charakteristické
rysy techniky používané při RE. Jedním z atributů
požadavku je také podrobný popis požadavku. To-
muto jedinému atributu se budeme tentokrát vě-
novat podrobněji.
Objektově orientovaná analýza (OOa) je mno-
hem mladší disciplína a je mnohem bližší objekto-
vě orientovaným technologiím realizace SW aplika-
cí. Může navázat na RE a sebrané požadavky popsat
podrobněji a ve struktuře vhodné pro využití ob-
jektových technologií.
Hlavním cílem OOA je taková struktura popisu, kte-
rá umožňuje snadnou modifikaci nebo jednoduché
doplnění bez nežádoucích vedlejších efektů. Použi-
tí OOA umožňuje tvorbu větších a složitějších sys-
témů. Pro OOA je charakteristické obohacení sta-
tického modelu o základní prvky chování systému
– metody tříd.
V minulém čísle KOMIXích novin 2007 / 2008 byl zveřejněn článek „Tvorba a využití katalogu uživa-
telských požadavků“. V tématu „uživatelské požadavky“ pokračujeme a volně navazujeme na uve-
dený článek z minulého čísla.
Při popisu požadavků je možné respektovat struk-
turu informací odpovídající objektovým dynamic-
kým a statickým modelům (viz rozdělení popisu
požadavků na popis okolí, chování a statické struk-
tury v minulém článku).
Object Behavior analysis (OBa) je jedna z prv-
ních metod OOA. Je velice jednoduchá, přesto do-
dnes jedna z „nejobjektovějších“ (vznikla společně
se Smalltalkem v ParcPlace Systems).
Metoda má tyto cíle:
• jednoduchýačistěobjektovýpopissystému,
• odvození popisu statického modelu od popisu
dynamického modelu.
Dokumentace vytvořená podle OBA je charakteris-
tická vysokou mírou integrity popisu systému (těs-
nými vazbami mezi dynamickým a statickým mo-
delem).
14
my (hodí se vý-
borně především
pro znázornění va-
zeb ve statickém
modelu nebo pro
popis variant při
postupu dynamic-
kým modelem).
Pro popis detailů
je vhodnější dobře
strukturovaný text
(v tabulce).
uMl diagramyV současné době
jsou UML diagramy
velmi často použí-
vaným prostřed-
kem pro dokumen-
taci požadavků.
UML obsahuje
mnoho typů dia-
gramů (více či mé-
ně specializova-
ných na různé činnosti). Někdy dochází k míchání
typů objektů z různých typů diagramů v jediném di-
agramu – to ztěžuje orientaci začátečníka ještě více.
Pro popis požadavků v dynamickém modelu jsou
vhodné diagramy:
• UMLActivity(vhodnýprojednoduchýpopispro-
cesů),
• UMLUseCase (vhodnýpropopis interaktivních
systémů).
Oba uvedené typy diagramů lze používat s výho-
dou v jediném do-
kumentu (podle
povahy přísluš-
né části úlohy).
Je důležité dbát
na jednoduchost
diagramu z hle-
diska kvalitativ-
ního (používejte
co nejméně typů
prvků na diagra-
mu) i kvantitativ-
ního (složité dia-
gramy přetvořte
na hierarchickou
strukturu jed-
noduchých dia-
gramů). Pro po-
pis požadavků
ve statickém mo-
delu použijte dia-
gram
•UMLClass
Při popisu poža-
davků není vhod-
né rozdělovat tří-
dy do skupin podle vrstev architektury (uživatelské
rozhraní, aplikační logika, databázová vrstva). Toto
rozdělení je nezbytné později při návrhu (volbě ar-
chitektury).Místotříd„Formulářobjednávky“,„Ob-
sluha objednávky“ a „Databázová tabulka objed-
návky“ je vhodné použít jedinou tzv. „doménovou“
třídu „Objednávka“. Analogie platí i o metodách ta-
kové doménové třídy – místo metod „Zobrazení
formuláře“, „Validace dat“ a „Uložení záznamu“ je
vhodné použít jedinou metodu „Uložení“.
Při popisu atributů stačí použít obecné datové ty-
py (řetězce definované maximální délky, čísla s da-
ným maximálním rozsahem, datum, čas, ...) – je to
vhodnější než použití konkrétních datových typů
programovacího jazyka nebo databázového serve-
ru. Volba konkrétního typu proběhne opět pozdě-
ji v rámci návrhu. Dodržení uvedených pravidel do-
ménového modelování má dva kladné následky:
• modely jsou jednodušší – tedy lépe čitelné při
schvalování odběratelem,
• zkušenýnávrhářdokáže lépeoptimalizovatpro
cílovou architekturu a technologie.
scénáře OBaPři použití několika modelů popisu požadavků
jsou důležité vazby mezi těmito modely. Tuto ne-
zbytnou podmínku kvalitního popisu požadavků
je možné zajistit s pomocí techniky scénáře z me-
tody OBA. Scénář OBA slouží k jednoduchému po-
pisu požadavků na chování. Má podobu tabulky, je-
jíž řádky popisují posloupnost vyvolání metod tříd.
Vlastní vyvolání metody třídy je popsáno v řádku
tabulky.
Na rozdíl od Use Case scénářů nepředpokládá scé-
nář OBA variantní cesty (Alternative Paths). Pro po-
Nejcennějším přínosem OBA je doplnění techniky
CRC (Class – Responsibility – Collaborator) o tech-
niku OBA scénářů, které detailně popisují dynamic-
ký model.
unified Modeling language (uMl) je poměrně
mladá technika, která pomáhá při OOA.
Cílem UML je jednotný způsob komunikace během
analýzy a návrhu. Výhodou je možnost snadného
a rychlého osvojení informací při předávání práce
v týmu. Pro UML je charakteristický popis pomocí
modelů, jejichž nedílnou součástí jsou standardizo-
vané diagramy.
Využití disciplín pro popis požadavkůPřednosti RE (popis strukturovaným textem) a OOA
(základní části katalogu uživatelských požadavků)
jsme zdůraznili v minulém článku. Tentokrát se za-
měříme na použití UML diagramů a OBA scénářů při
podrobném popisu požadavku v dynamickém mo-
delu. Detailní popis požadavků ve statickém mode-
lu není z pohledu tohoto článku tak důležitý – po-
pis atributů tříd vychází z tradiční metody datového
modelování, je doplněn popisem metod a rozšířen
je také popis typů vazeb.
Použití diagramu a strukturovaného textuPři popisu požadavků se občas setkáváme se dvě-
ma extrémy – stovkami stran textu bez jediného
obrázku nebo naopak s mnoha obrázky bez zjev-
ných návazností a bez jakéhokoliv vysvětlující-
ho textu. Doporučit lze samozřejmě střední cestu.
Pro vytvoření nadhledu je vhodné použít diagra-
Obrázek 1 – Volba techniky podle úrovně podrobnosti
Obrázek 2 - Použití uMl diagramů
Obrázek 3 - OBa scénář - vazby mezi modely
Obrázek 4 - správná míra podrobností
15
pis větvení je praktické (názorné) použít diagram
UML Activity.
Zápis OBA scénářů a údržbu vazeb mezi dynamic-
kým a statickým modelem automatizuje CASE ná-
stroj QuickCRC firmy Excel Software.
Úroveň podrobnosti požadavkuCelý článek se zabýval metodami a technikami ana-
lýzy požadavků, ale to samo o sobě začátečníkovi
nepomůže. Již v minulém článku byla zmínka o de-
finici požadavku „na úrovni uživatele“ jako protiklad
k popisu z pohledu programátora (pomocí termi-
nologie technologie IT). Ještě jednou připomínám
důležitost správné úrovně popisu požadavku!
ZávěrUvedené disciplíny, metody a techniky nestojí pro-
ti sobě. Vhodným výběrem jejich výhod je lze pro-
pojit do jednotného celku, který zůstává jedno-
duchým a účinným nástrojem pro dokumentaci
požadavků na různé úrovni podrobnosti.
Milan Číha
POhleD na DWh&MIs&BI (s ÚsMĚVeM !!!!) aneB CO nás čeKá a MIne/neMIne?
Nechť nám uvedené motto přiblíží skok, kterého
jsme v oblasti IT (ale samozřejmě i v jiných oblas-
tech) během historicky zanedbatelně dlouhého
resp. krátkého období svědky. Snad pro přiblížení,
ještě naši tatíci při hledání potřebných informací
využívali spíše zdroje lidské. Našinec dnes nejvýše
osloví kolegu, ale spíše si prvotní přiblížení dané-
ho problému „vygůgluje“ a poté volí další optimál-
ní postup.
Ale nezůstávejme u našince, takto více či méně pro-
fesně postižené IT osoby. Je vypovídající, že ob-
dobný postup volí nejen teenageři (tam je příklon
k novému, rychlému, … jistě očekávaný), ale i ta-
kové skupiny spoluobčanů, u kterých bychom toto
v době ještě nedávno minulé očekávali značně
méně (učitelé, lékaři, sousedi v domě, … ). Že všich-
ni tito již počítač z velké části využívají i pro čin-
nosti rozumné, spojené jak s profesí tak i s volným
časem, je další strana téže mince.
Zkusme se podívat výše uvedenou optikou na vý-
voj v oblasti DWH & MIS & BI a na to, kam vývoj
bude pokračovat dále. Jen pro ujasnění - tento ela-
borát si zcela jistě neklade za cíle býti strategickým
či prognostickým či jakýmkoliv jiným zásadním pří-
spěvkem k dané problematice. Spíše se jedná o leh-
kým perem pojatou krátkou rekapitulaci a stejným
způsobem pojatou vizi co by nás v blízké budouc-
nosti potkati mohlo.
Ti starší z nás si jistě dobře pamatují na okouzle-
ní z prvních on-line provozních IS, kdy jsme s ob-
divem sledovali kroky od pořízení dokumentu
až po jeho zaúčtování a zanesení všech relevant-
ních údajů do datových struktur. Postupem doby
se výše uvedené okouzlení posunulo kvalitativně
dále, z oblasti provozních IS do prostředí MIS, BI,
DWH či jak jsme si zvykli navazující nadstavbová ře-
šení nazývat. Dalším postupem doby se pak MIS, BI,
DWH staly nedílnou součástí dodávaných řešení,
objemy dat začaly nabývat objemů nebývalých.
S objemy dat se začaly rojit i další objemy tentokrát
terminologické – od zaužívaných ROLAPů, MOLA-
Pů, HOLAPů, CRM, ODS a přehršle dalších až k sou-
časně silně atraktivním záležitostem typu In Memo-
ry Analysis (že by IMA ?).
Kratince se u pojmu IMA zastavme - v čem tedy spo-
čívá kouzlo právě tohoto termínu? Věc je zdánlivě
prostá – veškerá data nejsou uložena v databázo-
vém prostředí, ale přímo v souboru na disku. Nu
a při práci s aplikací se celý tento soubor či jeho po-
třebná část načte do operační paměti a tudíž veške-
ré počítání, vyhledávání a další činnosti se dějí pří-
mo v operační paměti a tudíž velice rychle (odezvy
v jednotkách vteřin).
Potud teorie. Jaká ale byla praktická zkušenost
v KOMIXu?
Mnozí z Vás, kolegů, zaregistrovali, že v minulém
roce se stal součástí KOMIX nabídky v oblasti MIS,
BI, DWH produkt QlikView firmy QlikTech. Dodej-
me to podstatné – jedná se o produkt postavený
právě na výše zmíněné IMA architektuře. K prvním
kontaktům s firmou i produktem došlo právě před
rokem, následovalo seznámení, zaškolení a snaha
cosi prodat.
Rád bych se na tomto místě krátce vrátil právě
k seznamovací etapě. Je dobře známo, že v rámci
KOMIXu je zkušenost s produkty a řešeními pro ob-
last MIS, BI, DWH letitá a nasazená řešení jsou ve-
směs úspěšná a dlouhodobě provozovaná. Také
je známo, že během uplynulých let byly KOMIXu
představovány různé úžasně výkonné, uživatel-
sky komfortní, technologicky progresivní a i jinak
zázračná řešení od různých, většinou renomova-
ných dodavatelů. Druhou stránkou věci je skuteč-
nost, že z výše zmíněných řešení se mnohé nepo-
dařilo uspokojivě zprovoznit ani v „laboratorních“
podmínkách KOMIXu, a to ani s vydatným přispě-
ním specialistů dodavatele. A tak zůstalo u osvěd-
čeného řešení a občasné vpády revolučních novi-
nek byly brány shovívavě.
S výše popsanými zkušenostmi jsme proto při-
stupovali i ke zmíněnému produktu QlikView. Pro
rychlé posouzení proklamovaných vlastností se
nabízela cesta nejjednodušší – vzít fungující řeše-
ní s daným rozsahem dat a s danou funkcionalitou
(konkrétně DAPO1: Kmen pojištěnců) a celou zá-
ležitost převést do prostředí QlikView a otestovat,
zdali a jak bude řešení fungovat v novém prostře-
dí. Řečeno, vykonáno a ejhle. Ono to fungovalo nad
očekávání. Jen pro ilustraci – jednalo se o aplika-
ci s cca 25 mil. záznamů. Doby odezvy u standard-
ního řešení (MicroStrategy) se pohybovaly v závis-
losti na složitosti výstupu na úrovni 1 až 3 minut,
u rozsáhlých porovnání pak i k 8 minutám. Výstupy
v prostředí QlikView pak byly k dispozici za neuvě-
řitelných 1 až 3 vteřiny.
A rázem jsme u leitmotivu celého tohoto pojedná-
ní. Kam jsme došli (kdo to ví?) a kam že to spěje-
me? Máme mít obavy o to, co a jak bude následo-
vat, co a jak bude dál? Zjistíme jako naši předkové,
že ani IT svět není placatý (jako se předkům jevila
Země jako taková) a že obzory jsou otevřené? Kam
až dojde uplatňování nano, bio, a dalších technolo-
gií, o kterých zatím moc veřejnosti dostupných in-
formací není k dispozici ani v „gůglu“? Jak dlouho
ještě bude platit Mooreův zákon?
A co říci na závěr? Nenapadá mne nic lepšího, nežli
odkaz na kultovní TV seriál „Návštěvníci“. Míra vizi-
onářství zmíněného díla, reprezentovaná známou
„bradavicí“ v případě nutnosti umísťovanou na čelo
uživatele vyvolávala v době vzniku díla shovívavý
úsměv. V dnešní době však vyvolává spíše mrazení
– skutečně spěje vývoj k CML (pro nepamětníky –
Centrální Mozek Lidstva)? Aby se ještě Orwell a jeho
„Velký bratr“ tam někde nahoře nedivili …
a TeĎ VáŽnĚBusIness InTellIgenCe
frOM WIKIPeDIa, The free enCyClOPeDIa
sTanDarDIZaCe BI násTrOjůŘada podniků dnes pociťuje přeplněnost informa-
Nevíte, kde je tady nejbližší datový sklad?To nevím, ale zeptejte se u holiče,
tam to určitě budou vědět.
16
cemi. Množství a koncentrace dat v podnikových
databázích a dalších zdrojích dat narůstá. Naproti
tomu pokračující fragmentace BI nástrojů pro jejich
zpracování a vizualizaci redukuje možnosti reálné-
ho využití těchto informací. Proto dnes většina pod-
niků soustřeďuje své úsilí na standardizaci BI. Jejím
cílem je nejen snížení nákladů, ale i vytváření vyšší
hodnoty zpřístupněním podnikových informací ši-
rokému okruhu pravidelných a příležitostných uži-
vatelů. Výsledkem kombinace těchto faktorů bývá
zlepšení provozní výkonnosti podniku.
BI – násTrOj KOnKurenCesChOPnOsTI PODnIKáníBusiness intelligence, datové sklady a další souvise-
jící pojmy se staly nedílnou součástí světa jak infor-
mačních technologií tak managementu firem a in-
stitucí. Problematika BI jako celku je v současnosti
již velmi rozsáhlá. V tomto krátkém článku se bude-
me věnovat vybraným oblastem, které jsou z hle-
diska zákazníka pro úspěšnou realizaci BI systémů
stěžejní.
BI jako pojem. Přístup k BI.
Úvodem si pro účel tohoto článku dovolím upřesnit
vymezení pojmu business intelligence. Přesto, že se
s pojmem BI setkáváme stále častěji, je jeho obsah
mnohdy chápán odlišně. Z mnoha významů ang-
lického slova business vybereme výraz podniká-
ní. Pod pojmem intelligence pak nadále uvažujme
prostředí a v něm realizovaný nástroj pro podporu
rozhodování. Po sjednocení můžeme provést určité
zjednodušení a nadále rozumět pod pojmem BI ná-
stroj pro podporu konkurenceschopnosti podniká-
ní. V souladu s vymezením pojmu BI se změnil i pří-
stup k problematice samotné. Zdaleka již není ze
strany IT firem nutné tak velkého úsilí v oblasti pře-
svědčování zákazníků o výhodnosti BI řešení, jako
tomu bylo v nedávné minulosti. Naopak, stále čas-
těji se setkáváme s aktivním zájmem ze strany firem
či institucí. Zdálo by se, že tato situace je pro doda-
vatele BI bezmála ideální. Pro kvalitní realizaci ta-
kovýchto aktivních přístupů je však třeba věnovat
pozornost mnoha oblastem. V následujícím textu
se zmíním o některých z nich, které mají obecnou
platnost.
Zaměření BI.
Kvalitní BI řešení by zcela jistě mělo co nejvíce spl-
ňovat požadavky, citované prakticky ve všech pu-
blikacích k dané problematice. Uveďme alespoň ty
nejdůležitější.
Poskytnout uživateli řešení a současně i ná-
stroj. Dodržení této zásady umožní, aby uživatel
nebyl pasivním prvkem, žádající po někom dalším
realizaci svých požadavků, ale aby měl k dispozi-
ci prostředí pro přímou realizaci svých požadavků.
Uživatel se stává aktivním tvůrcem.
strukturovaná data a následně i informace.
Správné BI řešení musí být nástrojem pro přemě-
nu dat na informace. Otevřenost řešení. Otevře-
nost musí být podporována jak co do struktury dat
tak co do rozsahu. Všechny části řešení tak musí co
nejvíce podporovat schopnost dynamických změn
řešení jako celku. Klasickým záměrem BI řešení je
poskytnutí vybraných dat ve vhodně strukturo-
vané podobě pro podporu přehledových údajů,
analytických výstupů, realizaci ad-hoc dotazů, do-
lování dat, sledování trendů, vývojových řad a po-
dobně. Pro tyto oblasti jsou požadovány údaje ze
zdrojových provozních IS, včetně údajů archivních
a historických. V souladu s neustále se zvyšujícími
možnostmi HW a SW se však stále častěji ukazuje
možnost a výhodnost pokrytí některých typů vý-
stupů, které byly dříve realizovány výhradně v pro-
středí provozních IS.
Požadavky na BI. Přehnaná očekávání.
Výše zmíněné rozšíření možností BI řešení je pro za-
davatele záležitost velmi příjemná a žádoucí. Tento
široký záběr v sobě skrývá jisté záludnosti. Krátce se
pokusím popsat některé základní.
Požadavky. Pro úspěšnou realizaci BI řešení je zá-
kladním předpokladem definice požadavků, které
by měly být pokryty. Jak bylo uvedeno výše, záběr
BI je v současné době velmi široký. Při realizaci je sa-
mozřejmě možné stanovit soubory požadavků tře-
ba i ze všech oblastí a pojmout BI řešení jako projekt
velice rozsáhlý. Tento přístup však v sobě skrývá ne-
bezpečí, že požadavky na jednotlivé oblasti nebu-
dou specifikovány dostatečně přesně a úplně a ná-
vaznost jednotlivých oblastí ve výsledném řešení
nebude dostatečná. Pro minimalizaci komplikací
tohoto druhu je často vhodné využít jedné ze zá-
kladních vlastností řešení BI a DWH – otevřenosti –
a realizovat záměr po jednotlivých částech.
Přehnaná očekávání. Při definici požadavků je ne-
zbytná úzká spolupráce zákazníka se zkušeným do-
davatelem. Požadavky pro jednotlivé oblasti pak
lze snadněji definovat tak, aby je bylo možno BI ře-
šením maximálně pokrýt a současně eliminovat ty
požadavky, které je možné či vhodné řešit až v dal-
ších fázích projektu. Výše popsaným způsobem je
možné z velké míry omezit jedno ze zásadních ne-
bezpečí – přehnaná očekávání a následné zklamání
nad realizovaným řešením.
Data. Data. Data.
Pro pokrytí jakékoliv funkcionality jakýmkoliv ná-
strojem potřebujeme v souladu s definovaný-
mi požadavky zcela zásadní věc: vhodným způ-
sobem uspořádaná verifikovaná a konsolidovaná
data v prostředí datového skladu. Na tomto místě
je třeba citovat odhady renomovaných společnos-
tí, že převážnou příčinou (více než 50 % - dle pra-
mene) neúspěšnosti BI projektů jsou právě nekva-
litní data. Podle stejných zdrojů dochází často až při
snaze o BI řešení k odhalení významné části nesou-
ladů v datech provozních IS. Problém s daty je tedy
zřejmý. Podívejme se na to, jak jej nejlépe vyřešit.
Primární databáze.
Pro dosažení co nejvyšší kvality dat pro potřeby BI
se osvědčila architektura řešení s využitím primár-
ní databáze. Primární databáze je nejčastěji reali-
zována v prostředí zvolené relační DB. Do prostře-
dí primární databáze (PD) jsou z jednotlivých zdrojů
(provozní IS, historické a archivní údaje, vnější zdro-
je) přenášeny požadované číselníkové a hodnotové
údaje v požadované podrobnosti. V prostředí PD je
tedy k dispozici kopie vybraných provozních údajů.
Primární databáze pokrývá tyto základní a z hledis-
ka BI řešení nezbytné funkce:
• PDjejednoznačnědefinovanýmrozhranímmezi
prostředím provozních IS (obecně zdroji dat)
a prostředím DWH
• PDjezdrojemprorealizaciDWHjakocelkuajed-
notlivých specializovaných datových tržišť
• PD umožňuje jednoznačně odhalit případné ne-
soulady mezi výstupy BI řešení a údaji získávanými
nástroji provozního IS z prostředí provozních IS
Datová pumpa.
Datová pumpa (DP) je ta část BI řešení, která zajišťu-
je plnění struktur PD ze zdrojů dat (provozní IS, … )
a nad takto naplněnými a aktualizovanými údaji vy-
tváří a aktualizuje DWH struktury ve formě specia-
lizovaných datových tržišť. Problematika DP je jis-
tě značně rozsáhlá a pro účel tohoto příspěvku se
omezím pouze na popis základních skutečností.
Pro realizaci DP můžeme použít několik způsobů či
jejich kombinací. Jedná se o ETL nástroje (extrak-
ce, transformace, načtení) případně ETLC (extrakce,
transformace, načtení, čištění) či řešení DP specia-
lizovanou aplikací. Vhodnost použití jednotlivých
způsobů je silně závislá na typu, rozsahu a kvalitě
zdrojových údajů.
V případě, že kvalita dat v provozním IS je proka-
zatelně velmi dobrá a dále že množství a složitost
kontrol při plnění PD je dobře zvládnutelné ETL,
ETLC nástroji, je jistě na místě jejich použití.
Další možností je pro plnění PD vytvořit specializo-
vanou aplikaci. Toto řešení nám snáze pokryje po-
žadavky i na komplikované kontroly a řešení pří-
padných chybových stavů. Moderně vytvořené DP
ve formě specializované aplikace jsou řízeny vlast-
ními daty (metadaty). Takováto řešení umožňu-
17
jí významnou část požadavků na změnu či rozšíře-
ní funkčnosti DP realizovat právě úpravou metadat
bez zásahu do aplikace jako takové.
Při výběru řešení na realizaci DP je třeba pečli-
vě zvážit výše uvedené skutečnosti. Při volbě ETL,
ETLC nástroje je zřejmé, že čím je daný nástroj vý-
konnější a komfortnější, tím bývá i jeho cena vyšší.
Též samotné zakoupení nástroje není konečnou zá-
ležitostí, požadované řešení je třeba implemento-
vat. Při volbě aplikace je třeba dbát na to, aby rea-
lizované řešení bylo maximálně otevřené (viz řízení
metadaty) a podporovalo uvažované úpravy či roz-
šíření pro další fáze BI řešení.
Otevřenost BI řešení
Otevřenost BI řešení je pojem, který prolíná vše-
mifázemirealizacejakočervenániť.Frekvencevý-
skytu tohoto pojmu může být často až nepříjemná,
avšak na základě zkušeností s realizací je třeba kon-
statovat, že se jedná o vlastnost skutečně zásadní.
Otevřenost pro oblast struktury dat, objemu dat
a pokrytí uživatelských požadavků jsou pojmy, kte-
ré se prolínají a jsou na sobě závislé.
struktura dat. Zmínili jsme se, že BI řešení jsou čas-
to s výhodou realizovaná po menších částech, eta-
pách. Je samozřejmým požadavkem, že struktury
dat realizované v úvodních částech budou využitel-
né i v dalších částech. Současně je zřejmé, že bude
docházet k jejich rozšiřování v souvislosti s realiza-
cí dalších požadavků. BI řešení tak musí podporovat
snadné zahrnutí přenosu dalších údajů ze zdrojo-
vých IS do prostředí PD a následně do navazujících
struktur DWH.
Objem dat. Tato oblast bývala v minulosti, v době
podstatně menších možností HW a systémového
SW, často kritickou částí řešení. Je třeba si uvědomit,
že účelně navržené struktury DWH často bývají roz-
sáhlejší, než struktury zdrojových IS. V prostředí PD
jsou vytvářeny kopie vybraných údajů provozních IS,
včetně údajů archivních a historických. Pro pokrytí
požadavků na rychlou odezvu jsou v prostředí DWH
vytvářeny potřebné agregované struktury.
uživatelské požadavky. Architektura BI řešení je
otevřená také z hlediska uživatelských požadavků.
Jak bylo výše zmíněno, nabízí se realizace BI řeše-
ní po jednotlivých částech, které pokrývají rozdílně
zaměřené skupiny uživatelských požadavků. Při de-
finování nových požadavků lze s výhodou vycházet
z realizovaných částí a maximálně využít již realizo-
vaných datových struktur a příslušných částí řešení.
Závěrem …
Pokud se nám podaří navrhnout a posléze realizo-
vat BI řešení co nejvíce splňující v úvodu uvedené
teze, jsme na dobré cestě dostát často citovaným
sloganům typu „Změňte svá data na konkurenční
výhodu“ a naopak vyhnout se varujícím odhalením
typu „Manažeři nedostatečně využívají možností BI
řešení“.
Jak je zřejmé, v tomto příspěvku jsme se zabývali
pouze vybranými částmi BI řešení. Neméně pod-
statným částem – například oblasti publikování
a komunikace – se budeme věnovat v některém
z dalších příspěvků.
Pavel Seibert
18
1. Úvodem
Smyslem tohoto krátkého sdělení je upozornit
na vlastnosti nejnovějších verzí databázového ser-
veru IBM Informix, které umožňují mnohá praktická
rozšíření jak pro vývoj aplikací, tak pro optimaliza-
ci a monitoring jejich provozu. Autor se soustředil
zejména na vlastnosti, které subjektivně považuje
za nejvýznamnější z hlediska správy databázového
serveru a ze znalosti provozu u našich zákazníků,
kteří se již zejména o verzi 11 zajímají. Verze 11.10
byla oficiálně uvedena na trh v červenci 2007 a ver-
ze 11.50 v květnu 2008.
2. novinky ve verzi 10.00
Volitelná velikost stránky
Od verze 9.40 je možné vytvářet databázové pro-
story (dbspace), jejichž základní velikost (velikost
chunku) není omezena na 2GB. Implicitně bylo
nastaveno, že správu velkých chunků je nutno na-
stavit ručně, od verze 10 je tato správa automaticky
zapnuta při instalaci. Nově verze 10 umožňuje ur-
čit velikost stránky dočasného nebo standardního
datového prostoru dbspace při jeho vytváření. Lze
určit jinou velikost než je velikost výchozí, pokud
je potřeba větší délka klíče než odpovídá výchozí
velikosti stránky. Kořenový prostor dbspace sestává
vždy ze stránek výchozí velikosti. Velikost stránky
musí být celočíselný násobek výchozí velikosti, ma-
ximálně však 16 kB.
Definování společných oblastí vyrovnávací pa-
měti
KonfiguračníparametrBUFFERPOOLdefinuje spo-
lečnou oblast vyrovnávací paměti, která odpovídá
velikosti stránky prostoru dbspace. Správce serveru
může tuto oblast definovat též pomocí obslužné-
ho programu onparams. Kromě velikosti stránky
definuje parametr BUFFERPOOL počet stránek
vyrovnávací paměti, počet front LRU ve společné
oblasti a hodnoty lru_min_dirty a lru_max_dirty.
KonfiguračníparametryBUFFERS,LRUS,LRU_MAX_
DIRTY a LRU_MIN_DIRTY se již nepoužívají.
správa prostoru tblspace typu tblspace
Správa prostoru tblspace typu tblspace je pružněj-
ší. Prostor tblspace typu tblspace je sada stránek,
které popisují umístění a strukturu všech prosto-
rů typu tblspace v daném prostoru typu dbspa-
ce. Pomocí obslužného programu onspaces lze
přesunout nebo vypustit blok obsahující prostor
tblspace typu tblspace. Velikost první i následující
oblasti jevolitelnápomocíparametrůTBLTBLFIRST
a TBLTBLNEXT. Tato vlastnost umožňuje snížit počet
oblastí prostoru tblspace typu a snížit počet přípa-
dů, ve kterých se tyto oblasti nacházejí v jiných než
primárních blocích.
administrace databázového serveru v jednouži-
vatelském režimu
Administrátor databázového serveru může nyní vy-
užít nový jednouživatelský (single-user) režim, který je
přechodným režimem mezi quiescent a online. Na rozdíl
od režimu quiescent přijímá nová připojení pouze pro
uživatele informix. Pomocí tohoto režimu může
administrátor provádět libovolné úlohy administra-
ce včetně úloh vyžadující provádění příkazů jazyků
SQL a DDL, zatímco k serveru nejsou připojeni jiní
uživatelé.
správa přístupových oprávnění pomocí výcho-
zích rolí
Administrátor může vytvořit roli, přidělit jí opráv-
nění a přiřadit ji jako výchozí roli jednotlivým uži-
vatelům nebo skupině PUBLIC na úrovni databáze.
Každý uživatel, jemuž je přidělena výchozí role, získá
oprávnění této role společně s libovolnými dalšími
oprávněními udělenými jednotlivě. Výchozí role pů-
sobí automaticky od okamžiku přihlášení uživatele
k databázi, aniž by ji bylo nezbytné nastavit příka-
zem SET ROLE. Nová syntax příkazů GRANT, REVOKE
a SET ROLE podporuje tuto vlastnost, která může
poskytnout vhodná oprávnění k databázovým
objektům skupině uživatelů v relacích, ve kterých
spouštějí aplikace bez příslušných příkazů GRANT.
Přejmenování prostorů typu dbspace
Uživatel informix nebo uživatel s oprávněním ad-
ministrátora DBA mohou v režimu quiescent nebo
single-user přejmenovat dříve definovaný standardní
prostor typu dbspace. To může být zapotřebí při re-
organizaci dat ve stávajícím prostoru typu dbspace.
Vytvoření několika oddílů tabulky nebo indexu
v prostoru typu dbspace
V případě fragmentovaných tabulek využívajících
schéma distribuce založené na výrazu nebo typu
cyklická obsluha (round robin) lze nyní vytvořit více
oddílů, které jsou kolekcemi stránek tabulky nebo
indexu v jediném prostoru typu dbspace. Pomocí
nového klíčového slova PARTITION a názvu oddílu
lze vytvořit tabulky a indexy s oddíly a vytvářet, vy-
pouštět nebo měnit fragmenty oddílů.
určení událostí, které spouštějí program alarm
Program
Pomocí nového konfiguračního parametru ALRM_
ALL_EVENTS se definuje rozsah událostí, které
spouští alarm.
určení sdílené paměti větší než 4 gB
Segmenty sdílené paměti lze vytvořit tak velké, jak
dovoluje platforma operačního systému nebo para-
metr SHMMAX.
nastavení replikace hDr s externím zálohová-
ním a obnovením
Replikaci High-Availability Data Replication lze pou-
žít k externímu zálohování a obnovení pomocí stan-
dardních příkazů onbar a ontape.
Opětné odesílání indexů do sekundárních ser-
verů replikace hDr
Lze znovu odeslat index, který je v sekundárním
indexu páru replikace HDR poškozený. Opětné
odeslání indexu je rychlejší než vypuštění a opětné
vytvoření indexu v primárním serveru. Tato funkce
zvyšuje dostupnost primárního serveru replikace
HDR.
Přejmenování instance serveru Dynamic server
v systému Windows
Obslužný program IBM Informix Server Instance
Manager obsahuje možnost změnit název instan-
ce serveru Dynamic Server v systému Windows.
Ke změně názvu již není zapotřebí odinstalovat
a přeinstalovat server ani vytvořit novou instanci
a znovu zavést data.
Zjištění informací o verzích
Volba -version všech obslužných programů serveru
vypisuje podrobné informace o operačním systému
sestavení, číslu sestavení a datu sestavení. Volba -ver-
sion poskytuje více informací než stávající volba -V.
Podpora formátu adres IP IPv6
Pro adresy IP lze se serverem Dynamic Server pou-
žít formát IPv6. Ovladač IBM Informix JDBC Driver
verze 3.0 s podporou prostředí JDK 1.4 podporuje
formát IPv6. To znamená, že kód analyzující adresu
URL připojení dokáže zpracovat dlouhou (režim 128
b) adresu IPv6 (stejně jako formát IPv4). Tato adresa
IP může být literálem formátu IPv6.
Vylepšení výkonu
Vylepšení výkonu zahrnují zlepšený výkon dotazů
a čas potřebný pro zotavení. Dále bylo dosaženo vy-
lepšeného výkonu v následujících oblastech:
• transakceXA
• vnořenálevávnějšíspojeníkompatibilní
se standardem ANSI
• poddotazy
• úplnávnějšíspojení
Vytváření a vypouštění indexů bez uzamykání
tabulek
Pomocí nových příkazů CREATE INDEX ONLINE
a DROP INDEX ONLINE se vytváří a vypouští indexy
v režimu online, zatímco databáze a přidružené ta-
nOVÉ VlasTnOsTI VerZí 10 a 11 DaTaBáZOVÉhO serVeru IBM InfOrMIX
19
bulky jsou trvale dostupné. Tyto příkazy jazyka SQL
umožňují vytvářet a vypouštět indexy, aniž by bylo
nutné uzamknout tabulku po dobu vytváření nebo
vypouštění indexu.
3. novinky ve verzi 11
Instalace
Pokud administrátor preferuje grafické uživatelské
rozhraní při instalace IDS má možnost spustit skript
ids_install s argumentem –gui. Implicitně zůstává
instalace v klasickém znakovém prostředí. Nově byl
přidán skript pro odstranění instalace.
rozšířená škálovatelnost replikací
Zavedením tzv. Multi-node Active Cluster for High
availability (MaCh11) dochází k výraznému rozšíře-
ní dosavadních možností sdílení datových prostorů
a replikačních konfigurací. Kromě již známých hDr
a eDr lze vytvořit tzv. Remote Standalone Servers (rss), což
jsou sekundární databázové servery s asynchronní
obousměrnou komunikací. Na rozdíl od hDr není
omezen počet rss. Další variantou je tzv. Continual Log
Restore (Clr), kdy je tento sekundární server trvale
ve stavu rychlé obnovy a v případě výpadku pri-
márního serveru jej lze manuálně přestavět na pri-
már. Clr je určen pro edice Workgroup a Express. Dalším
rozšířením funkcionality MaCh11 je možnost mo-
difikace dat na sekundárních serverech a možnost
definice pořadí přepínání serverů v clusteru.
Zlepšení výkonnosti
Nová implementace kontrolních bodů (checkpoints) –
starší verze často trpěly dlouhou dobou blokování
provozu během kontrolního bodu. Problém se běž-
ně řeší snižováním hodnot parametrů LRU_MIN_
DIRTY a LRU_MAX_DIRTY resp. atributů lru_min_
dirty a lru_max_dirty u parametru BUFFERPOOL,
což vede k výraznému nárůstu zátěže procesorů.
Poslední úpravy mechanismu kontrolního bodu
vedly ke zrušení fuzzy checkpoints a novou technikou au-
tomatického kontrolního bodu se dosahuje toho, že
blokování kontrolním bodem je uživatelsky nepozo-
rovatelné. Stanovení maximální doby zotavení – za-
vedením nového parametru RTO_SERVER_RESTART
lze nastavit dobu, po níž při výpadku začne server
automaticky provádět proces fast recovery, tj. obnovení
konzistence dat pomocí logů.
Automatizované dynamické ladění IDS se týká již
zmíněných automatických kontrolních bodů, dy-
namického ladění počtu lru, aIO VP a stanovení
rychlosti I/O operací pro fyzický a logický log při zo-
tavování. Pro CPu VP je možné vyhradit paměť.
administrace
Při instalaci databázového serveru je nově genero-
vána databáze sysadmin, která zachycuje historii
příkazů a správce databázového serveru má pomocí
vestavěných funkcí task a admin možnost monito-
rovat historii provozu.
Nové obslužné vlákno (thread) umožňuje automati-
zovat proces monitorovacích a administrativních
úloh a to na úrovní SQL, SPL i uživatelských funkcí.
Konfigurační parametr SQLTRACE deklaruje úroveň
sledování a analýzy SQL příkazů. Škálovatelnost je
ve čtyřech stupních a počet sledovaných dotazů je
nastavitelný. Sledování lze provádět globálně nebo
specifikovat uživatele.
Nedostatkem starších verzí byla skutečnost, že
po importu dat resp. masivním příkazu INSERT,
DELETE nebo UPDATE bylo nutno ručně provést ak-
tualizaci systémového katalogu příkazem UPDATE
STATISTICS… Verze 11 tyto statistiky automaticky
aktualizuje na úrovni LOW a MEDIUM.
Při zapnutí výpisu query plánu se zatím generoval je-
diný soubor sqexplain.out, do kterého se zapisovaly (ap-
pend) všechny informace. SQL příkazem SET EXPLAIN
FILETO<jmeno>lzedefinovatvýstupnísouborpro
konkrétní SQL dotaz.
4. ZáVĚrSmyslem článku není poskytnout úplnou informaci
o nových vlastnostech IDS verze 10 a 11, ale obrátit
pozornost jak vývojářů, tak uživatelů na možnosti,
které tyto verze poskytují. Po některých vlastnos-
tech již bylo dávno voláno (nastavitelná velikost da-
tové stránky, lepší mechanismus kontrolních bodů,
rozšíření SQL aj.), jiné mohou pomoci řešit provozní
problémy zejména rozsáhlých aplikací s velkým po-
čtem uživatelů. Na závěr si autor dovolí drobnou
poznámku o tom, že společnost KOMIX má vlastní
program pro trasování SQL dotazů již od roku 1994
a mnohokrát ho u zákazníků úspěšně použila.
Petr Paul
nOVÉ VlasTnOsTI OraCle DaTaBase 11gV srpnu 2008 uplynul jeden rok od prvního vydání
verze 11g databázového serveru Oracle a v okamži-
ku, kdy čtete tyto noviny, je již možná venku Release
2 verze 11g. Máme tedy nejvyšší čas podívat se, co
je ve verzi 11 nového, abychom to stihli, než Oracle
přijde s verzí 12.
Je jistě pouze náhodná shoda okolností, že zhruba
ve stejnou dobu jako Oracle doklopýtal k verzi 11
i nejmenovaný jiný databázový server. V každém
případě verze 11g Oracle vznikla v reakci na kon-
krétní potřeby zákazníků a prohlubuje cíle, které si
začaly klást již předešlé verze Oracle, zejména 10g:
• snadné užití (správa a provoz, změna/upgrade,
vývoj aplikací),
• použitelnostprovšechnydruhydatavcelémži-
votním cyklu,
• vysoká kvalita služeb a technologie umožňující
vyniknout aplikacím.
Hezký, i když ne zcela úplný popis nových vlastnos-
tí verze 11g najdete např. na adrese http://www.
oracle.com/technology/pub/articles/oracle-data-
base-11g-top-features. Zde se pokusíme stručně
charakterizovat nové vlastnosti zajímavé pro vývo-
jáře, ale také pro datové architekty a testery aplika-
cí. Laskaví čtenáři nám doufejme odpustí smíchání
anglické a počeštěné terminologie.
Virtuální sloupce
Tabulka může mít virtuální sloupce, jejichž hod-
noty nejsou uloženy, nýbrž odvozují se dynamicky
pomocí SQL výrazů z ostatních sloupců. Virtuální
sloupce mohou být indexovány funkčními indexy.
sQl operace pivot a unpivot
V dotazu lze použít konstrukci unpivot, která „otá-
čí“ data z několika sloupců výsledku do řádků, a po-
dobnou konstrukci pro opačný směr „otočení“ (jejíž
funkce bohužel není zcela inverzní).
Partitioning
Jsou přidány další kombinace způsobů víceúrovňo-
vé segmentace tabulek. Dále, lze segmentovat též
dle virtuálních sloupců, dle referenčního omezení
(segmentace je pak dána segmentací otcovské ta-
bulky) nebo bez předem daných hranic resp. pravi-
del (zařazení do konkrétní partition explicitně volí
aplikace v každém příkazu insert). Lze též použít
intervalovou segmentaci s automatickým vytváře-
ním nových partitions dle potřeby.
OlTP Table Compression
Je přidán nový způsob komprese relačních dat,
s nímž se zmenšuje objem dat uložených na disku
(běžně cca 2-4x, ale to asi bude záviset na datech),
zrychluje se fyzické čtení a snižují se nároky na da-
tabázovou cache, do níž jsou bloky načítány též
v komprimovaném stavu. Komprimovaný blok ob-
sahuje „symbol table“ s hodnotami, které se v něm
opakovaně vyskytují; v místech výskytů jsou pak
jen odkazy. Blok není komprimován při každém zá-
pisu dat, ale jen tehdy, je-li dosaženo určitého pra-
hu zaplnění bloku - režie komprese při zápisu tak
činí údajně pouze několik procent.
20
secure files
Je přidán nový způsob uložení LOB (velkých ob-
jektů), který kombinuje výhody uložení v databázi
s výhodami obvyklými při uložení v souborovém
systému. Máte tak k dispozici rychlý přístup k vel-
kým objektům, zajištění jejich konzistence a mož-
nosti zálohování, šifrování, komprese, deduplika-
ce a kontrolovaného cachování a logování změn.
Deduplikace znamená, že při opakovaném výskytu
téže hodnoty ve sloupci se hodnota LOBu ukládá
jen jednou, v dalších výskytech se ukládá jen od-
kaz na ni. Pro kompresi používá databázový server
standardní kompresní algoritmy - ale jen tehdy, je-
li šance na úsporu objemu daného LOBu. Kromě
potlačení logování změn můžete též logovat jen
metadata o LOBu, což podobně jako v souboro-
vých systémech postačuje k obnově při výpadku.
Způsob uložení LOBů v tabulce a jejich vlastnosti
se volí v příkazu create table a alter table, techniky
práce s LOBy v aplikaci se nemění.
XMl Binary storage
Je přidán další způsob uložení dat typu XMLType,
který kombinuje výhody nestrukturovaného ulo-
žení XML v CLOB s výhodami objektově relačního
uložení založeného na schematu XML (úspora pro-
storu a možnost rychlého relačního přístupu k prv-
kům XML).
OlaP
Pokračuje integrace OLAP do databázového ser-
veru. Je možné používat materializované pohledy
OLAP, pro které fungují mechanismy automatické
aktualizace a query rewrite SQL dotazu na kostky
OLAP. Metadata OLAP jsou součástí systémového
katalogu a pro OLAP objekty se používají standard-
ní mechanismy řízení přístupových práv. K dispozici
jsou skripty pro přípravu kostek, které v řadě aplika-
cí mohou nahradit programování kostek.
DDl_lOCK_TIMeOuT
DDL příkazy, které potřebují zamknout tabulku,
doposud končily chybou, pokud zámek nebyl mo-
mentálně dostupný (např. pokud uživatelská trans-
akce držela zámky řádků tabulky). Toto chování lze
pozměnit nastavením parametru ddl_lock_time-
out pro seanci či celý databázový server: server se
pak pokouší provést příkaz DDL, dokud není zámek
dostupný a dokud nevypršel zadaný timeout.
flashback Data archive
Tento prostředek slouží pro audit, undo, debug
změn dat či pro uchování historie dat požadované
některými právními předpisy. Historie dat uživa-
telské tabulky se uchovává v interních tabulkách
(SYS_FBA_*)povytvořeníarchivupříkazemCREATE
FLASHBACKARCHIVEapředepsánímdanéhoarchi-
vu pro uživatelskou tabulku pomocí příkazu ALTER
TABLE. Archiv můžete umístit do samostatného
tabulkového prostoru - třeba na nízkonákladové
disky. Archiv se automaticky čistí podle přede-
psané doby retence. Historická data se z archivu
vytahují pomocí SQL dotazu s modifikátorem AS
OFTIMESTAMPjménauživatelskétabulkyveslož-
ce FROM (podobné možnosti byly zavedeny již
veverzi9iresp.10gvespojenísnástrojiFlashback
Queryresp.FlashbackVersionsQuery;tytonástroje
ovšem využívají undo informaci, která má omeze-
nou životnost).
Transaction flashback
PomocíproceduryDBMS_FLASHBACK.
TRANSACTION_BACKOUT či grafického prostředí
Enterprise Manageru lze stornovat zadanou trans-
akci včetně transakcí na ní závislých (pracujících
s daty v ní modifikovanými). Databázový server při
stornování vychází z undo a redo informace.
Continuous Query Notification
Můžete předepsat a programově zpracovávat au-
tomatické notifikace o změně tabulek, na které se
odkazuje zadaný SQL dotaz, nebo o změně výsled-
ku dotazu.
result Cache
Výsledky SQL dotazů a PL/SQL funkcí lze uchovávat
pro opakované užití ve vyhrazené oblasti sdílené
paměti databázového serveru. Uchovaný výsledek
se automaticky aktualizuje, pokud se od jeho před-
chozího použití změnil obsah tabulek, z nichž se
odvozuje; cachování neustále se měnících výsledků
bychom se ovšem asi měli vyhnout.
Mechanismus cachování můžete aktivovat pro
zvolený dotaz či poddotaz (pomocí hintu result_
cache), pro všechny dotazy (nastavením parametru
result_cache_mode=FORCE)aprozvolenoufunkci
(pomocí speciálního zápisu na konci její hlavičky).
Můžete též využít obdobné cachování výsledků
dotazů na klientech (pro klienty založené na OCI8
driverech), jímž se navíc sníží zátěž sítě a využije se
lacinější paměť.
Connection Pool
Aby odpadlo opakované vytváření databázových
připojení, které je poměrně náročné, bývá v apli-
kacích zaváděn connection pool.
Nyní můžete využít pooly zřízené přímo v databá-
zi, sdílené podle potřeby větším počtem aplikač-
ních serverů či aplikací.
nativní kompilace Pl/sQl
Lze jednoduše předepsat nativní kompilaci PL/
SQL (či Java) programů bez nutnosti zavádět
C-kompilátor a starat se o knihovny v souborovém
systému.
Šifrování a maskování dat
Je přidána možnost šifrování tabulkových prostorů
(bez potíží s indexy), exportovaných dat a záloh; při
exportu dat můžete též předepsat maskování citli-
vých dat pomocí zvolené uživatelské funkce.
sQl Plan Baselines
Je zaveden mechanismus pro automatizovanou
a kontrolovanou podporu dobrých výpočetních
plánů. Uchovává se historie plánů, v níž klíčovou
roli hrají dobré plány uložené jako „plan baselines“.
Plány se zařazují jako baselines buď ručně nebo
automatizovaně (je-li to předepsáno parametrem
optimizer_capture_sql_plan_baselines=TRUE); op-
timalizátor vybírá plán pouze tehdy, je-li výrazně
lepší než stávající. Ruční správu plánů lze provádět
z příkazové řádky i z grafického rozhraní Enterprise
Manageru, které mimo jiné poskytuje i nabídku pro
srovnání výkonnosti kandidátského plánu s dosa-
vadním baseline.
rozšířené statistiky dat
Optimalizátoru lze pomoci při výběru vhodného
výpočetního plánu zavedením statistiky popisující
rozložení hodnot výrazu nad sloupcem či statistiky
rozložení hodnot v kombinaci sloupců. Tyto statis-
tiky jsou užitečné, pokud výraz zkresluje rozložení
hodnot sloupce resp. pokud jsou sloupce navzájem
závislé.
adaptivní kursory pro příkazy s bind-proměn-
nými
Optimalizátor při opakovaných výpočtech příka-
zu SQL s vázanými proměnnými postupně zjišťuje
a začíná využívat případnou závislost optimálního
výpočetního plánu daného příkazu na hodnotách
vázaných proměnných. Závislost bývá způsobena
nerovnoměrným rozložením hodnot sloupců tabu-
lek srovnávaných s hodnotami proměnných.
automatic sQl Tuning advisor
Automatické ladění SQL je založeno na nástro-
ji SQL Tuning Advisor zavedeném ve verzi 10g.
Nástroj umí pro zadaný příkaz či příkazy SQL na-
vrhnout vylaďující opatření typu přidání indexu,
přepsání příkazu, přepočet statistik dat či přidání
SQL Profilu (doplňujících statistik specifických pro
daný příkaz, získaných vzorkováním dat a dílčími
výpočty). Ve verzi 11g může být nástroj automatic-
ky spouštěn v časovém okně údržby systému pro
nejnáročnější příkazy určené podle statistik výpo-
čtu příkazů za uplynulé období. Navrhne-li nástroj
doporučení typu SQL Profile, jsou tato doporučení
hned vyzkoušena, a přináší-li alespoň trojnásobné
výkonnostní zlepšení, jsou automaticky zavedena
(ostatní doporučení zůstávají uložena v databázi
pro pozdější ruční využití).
Partition advisor a sQl access advisor
Je přidán nástroj pro návrh segmentace tabu-
lek. Nástroj je zároveň integrován do SQL Access
Advisoru zavedeného ve verzi 10g a sloužícího pro
celkové vyladění schématu vůči sadě sledovaných
příkazů SQL. SQL Access Advisor nyní umí navrh-
nout optimální kombinaci přidání a zrušení indexů,
materializovaných pohledů a partitions s ohledem
21
na sledované příkazy SQL, jejich náročnost a čet-
nost výskytu a předpokládané přínosy i náklady
na udržování přístupových cest (indexů apod.).
sQl Test Case Builder
Pomocí balíku dbms_sqldiag nebo pomocí grafic-
kého prostředí Enterprise Manageru můžete vyex-
portovat do souboru veškeré informace potřebné
pro spuštění zadaného SQL příkazu a naimporto-
vat je do testovacího prostředí. Informace zahrnují
např. samotný příkaz, jeho výpočetní plán, po-
třebná data a metadata (definice tabulek a dalších
objektů, úplná data či jejich vzorky, statistiky dat),
údaje o uživateli a o prostředí kompilace a výpočtu
příkazu. Poznamenejme, že balík dbms_sqldiag
poskytuje též funkčnost SQL Repair Advisoru, kte-
rý vám může pomoci vyřešit resp. obejít případné
bugy Oracle hlášené při zpracování SQL příkazu.
Database replay
Tento nástroj umožňuje zaznamenat aktivity v da-
tabázi (SQL příkazy) do souborů, znovu je přehrát
v téže nebo jiné databázi a prostředí a srovnat
výkonnostní statistiky za období zaznamenávání
a přehrávání. Slouží tak např. pro otestování vlivu
různých změn v databázi či jejím prostředí na pl-
nění aplikačních požadavků. Jako změna může
vystupovat např. instalace patche, upgrade OS
či databáze, přechod na clusterovanou databázi,
změna platformy, nastavení parametrů databáze,
statistik optimalizátoru či indexů apod. Při užívání
databáze Replay se mohou hodit i jiné mechanismy
poskytované databázovým serverem Oracle, napří-
klad Flashback Database pro pohodlnou obnovu
výchozího stavu dat nebo Standby Snapshot pro
pohodlné využití standby databáze jako testovací-
ho prostředí.
sQl Performance analyzer
Tento nástroj slouží pro ověřování vlivu různých
změn na výpočet zvolených příkazů SQL. Přehrává
sledované příkazy před a po změně a kvantitativně
srovnává výkonnostní statistiky z obou přehrání.
Umožňuje snadno předem stanovit vliv povýšení
verze optimalizátoru či změny inicializačního pa-
rametru, ale i jiných změn, např. přidání či ubrání
indexů a přepočtu statistik dat. Při naposled zmí-
něných změnách lze využít i další dvě nové vlast-
nosti – „skrytí“ indexu před optimalizátorem, resp.
dočasnou aktivaci statistik s odloženou platností
(nastavením parametru optimizer_use_pending_
statistics=true).
je to vše?
Na všechny nové vlastnosti verze 11g se zde nedo-
stalo. Nejvíce jsme asi ošidili databázové adminis-
trátory. Neprobrali jsme též produkty Oracle, které
více či méně souvisejí s databázovým serverem
– a tyto produkty se množí s tím, jak Oracle kom-
plexně pokrývá více a více oblastí potřeb zákaz-
níků. Zmiňme alespoň tři nástroje dodávané spo-
lečně s databázovým serverem - SQL Developer,
Warehouse Builder a Application Express (nástroj
pro snadné sestavování a zavádění webových apli-
kací nad databází bez nutnosti většího programo-
vání). Z dalších produktů zmiňme alespoň Times
Ten In-memory Database pro extrémní požadav-
ky na rychlost a Enterprise Manager, který byl pri-
márně určen pro správu a monitorování produktů
Oracle a nově umí např. monitorovat aplikace z po-
hledu koncového uživatele.
licencování
Znějí vám názvy nových vlastností verze 11g jako
jména cizokrajných zemí, do kterých jste se odjak-
živa toužili podívat? Zdá se, že tyto země máte nyní
za humny – jen si na některé z nich musíte dokoupit
příslušné options k databázovému serveru Oracle
Enterprise.
Jan Rada
vytvoříme vám řešení na míru VýVoj aplikací manažerské informační systémy systémy pro podporu obchodu procesní a projektoVé řízení testoVání aplikací monitoring a podpora proVozu is
KOMIX s.r.o.Avenir Business Park Radlická 751/113e150 00 Praha 5tel.: +420 257 288 211fax: +420 257 288 [email protected]
Zelený KOMIX
Proč se KOMIX věnuje také ekologii, životnímu pro-
středí a jak to souvisí s IT technologiemi? Jedí snad
zaměstnanci pouze bio jogurty a jiné biopotraviny,
nebo chodí do práce pěšky nebo jezdí na kole?
Ekologie je trendem 21. století a ekologické chová-
ní se stává nedílnou součástí dnešního běžného ži-
vota některých občanů, firem a také i IT firem. Při
dodržování norem ekoprovozu mohou IT firmy do-
sáhnout dvojího efektu v podobě úspor nákladů
a ochrany životního prostředí. Nejlepší firmy v obo-
ru IT postupně „zelenají“. Příkladem může být inicia-
tiva Big Green, společnosti IBM, jejíž cílem je dosáh-
nout co největších energetických a jiných úspor.
jak je to tedy u nás v KOMIXu?Vedení společnosti KOMIX se v souvislosti s poža-
davky zákazníků státní správy při výběrových říze-
ních a v rámci společensky odpovědného chování
rozhodlo v roce 2006 zavést systém environmen-
tálního managementu (EMS) podle standardu ISO
14001. EMS je systémem managementu, který je
zaměřen na sledování a zlepšování všech činnos-
tí společnosti, které ovlivňují nebo mohou ovliv-
nit kvalitu životního prostředí. Životní prostředí se
přitom chápe v širokém kontextu ochrany přírody,
ochrany zdraví zaměstnanců i kvalitního pracovní-
ho prostředí.
Z hlediska působení na životní prostředí nemá naše
společnost žádné významné environmentální as-
pekty (prvek, který může ovlivňovat životní pro-
středí). Například nemáme v naší společnosti žádný
nebezpečný odpad související s vyráběným pro-
duktem. Charakter naší výroby v KOMIXu je už ta-
kový, že k naší „výrobě“ nepoužíváme ani žádné
chemické látky nebo přípravky, které by bylo po-
třebné skladovat nebo likvidovat a používat v sou-
ladu s požadavky zákonných nařízení a nařízení
z hlediska bezpečnosti práce. Jediným naším ovliv-
ňováním životního prostředí je produkce kancelář-
ského odpadu, spotřeba energií a chování našich
zaměstnanců.
OdpadyOdpady, které naše společnost produkuje, se sa-
mozřejmě snažíme nejen třídit, ale také jejich vznik
minimalizovat. Používáme v maximální míře elek-
tronickou formu komunikace, a také elektronic-
ké dokumenty. Odpad, který nám vznikne třídíme,
tam kde je to možné, na plast a papír. Takto vytří-
děný odpad je potom odevzdán k dalšímu zpraco-
vání autorizovaným firmám. V následují tabulce je
uvedeno množství vytříděných a předaných odpa-
dů k likvidaci.
Odpady 2006 2007 1-6/2008
Papír 0,2704 t 0,6749 t 0,1512 t
Plastické hmoty 0,0444 t 0,2886 t 0,1443 t
směsný odpad 2,2214 t 2,2154 t 0,2886 t
Společnosti KOMIX byl magistrátem hlavního měs-
ta Prahy vydán souhlas k nakládání s nebezpečný-
mi odpady pro klasické CRT monitory (s katodovou
obrazovkou), které se při vyřazování z použití stáva-
jí nebezpečným odpadem. Z těchto důvodů máme
také uzavřenu smlouvu s Pražskými službami a.s.
na likvidaci nebezpečných odpadů, elektroodpa-
du, likvidaci komunálního odpadu a tříděného pa-
píru. Dále pak se společností REMA máme uzavře-
nou smlouvu na likvidaci nebezpečných odpadů
a elektroodpadu.
Recyklace se tedy také týká veškeré techniky (elek-
troodpadu), kterou ve společnosti vyřazujeme
z použití. Platí, že zařízení, které bylo vyřazeno
z provozu, musí být znovu využito nebo recyklová-
no. V následují tabulce je uvedeno množství předa-
ných nebezpečných odpadů a elektroodpadů.
nebezpečné odpady
2006 2007 1-6/2008
Televizory, monitory, obrazovky
0,272 t 0,120 t 0,250 t
elektroodpad (vyřa-zené elektrické a elek-tronické zařízení)
0,120 t 0,400 t 0,075 t
V rámci systému environmentálního managemen-
tu je také každý rok odevzdáváno hlášení o pro-
dukci a nakládání s odpady, dále je prováděno pře-
zkoumání registru environmentálních aspektů,
hodnocení environmentálního profilu apod.
Každý rok se rovněž provádí ověřování shody s práv-
ními předpisy uvedenými v registru právních a ji-
ných požadavků a interní audity celého IMS, včetně
Od prosince roku 2006 má naše společnost certifikát dle normy čsn en IsO 14001 pro eMs (systém environmentálního managementu), který spolu s již dříve získaným certifikátem systém managementu kvality dle normy čsn en IsO 9001 je součástí integrovaného ma-nagementu systému (IMs). V rámci IMs naše společnost v současné době vytváří podmín-ky pro splnění požadavků mezinárodní normy čsn IeC IsO 20000-1 pro systém manage-mentu IT služeb, která je určena zejména pro firmy, působící a poskytující služby v oblasti informačních technologií.
požadavků normy ČSN EN ISO 14001 na systém en-
vironmentálního (ekologického) managementu.
Také spotřeba elektrické energie představuje jeden
z nejvýznamnějších environmentálních dopadů ak-
tivit téměř každé firmy. Proto jsme se v KOMIXu za-
měřili na zvyšování energetické efektivity provozu
naší společnosti. Postupná výměna klasických CRT
monitorů za moderní LCD monitory je prvním kro-
kem, včetně postupné orientace na výrobky s co
nejmenšími dopady na životní prostředí. To jsou
priority naší společnosti v oblasti životního prostře-
dí a postupné „ozeleňování“ KOMIXu. KOMIX se také
zapojil do projektu „Zelená pro vaši firmu“, který se
týká řešení firemního elektroodpadu (PC, monitory,
apod.) a sběru drobného elektroodpadu z domác-
ností (prostřednictvím zaměstnanců). V rámci to-
hoto projektu je v KOMIXu umístěn zdarma jeden
nerezový sběrný box určený pro všechna elektrická
a elektronická zařízení od zaměstnanců a zde mo-
hou zaměstnanci odevzdat například svůj nepo-
třebný mobil, příslušenství nebo baterii a my již za-
jistíme ve spolupráci se společností REMA zdarma
likvidaci a recyklaci.
Z uvedeného výčtu aktivit je vidět, že společnost
KOMIX není „zelená“ pouze formálně, pro získá-
ní certifikátu, ale že se jedná o celou řadu aktivit,
které směřují k postupnému zlepšení všech činnos-
tí, které mohou ovlivnit kvalitu životního prostře-
dí. Tyto činnosti nelze změnit jednorázovým pro-
jektem nebo marketingovou kampaní, ale jedná
se o dlouhodobé působení různých aktivit směrem
k našim dodavatelům, zaměstnancům i zákazníkům
naší společnosti. Každé i dílčí zlepšení v této oblas-
ti a rozšiřování těchto aktivit a myšlenek má smysl
a pomáhá něco změnit, ovlivnit či zlepšit v oblasti
životního prostředí pro všechny naše občany i oby-
vatele naší planety.
JiříFeřtek
22
23
Zapomenuté klíče
Test V poslední době se setkáváme s mnoha novými pojmy a zkratkami, týkajícími se nových technologií. Tyto zkratky sami běžně používáme, často při tom ale jen vzdáleně tušíme, co daná zkratka znamená. následují test Vám dává příležitost nejen si prověřit své znalosti, ale hlavně se pobavit. autorem testu jsou zaměstnanci společnosti KOMIX.
Je velmi pozdní odpoledne. Po odchodu z prá-
ce jste zjistil(a), že jste si ve své kanceláři ve 3. pat-
ře zapomněl(a) klíče od bytu. Musíte se pro ně vrá-
tit. Protože venku na ulici probíhá rekonstrukce
tramvajové trati a pozůstatky chodníků jsou poně-
kud blátivé, nechcete riskovat střet s uklízečkami.
Na obrázku vidíte plán budovy (3 patra) rozkresle-
ný vedle sebe ve třech navazujících časových úse-
cích , ve kterých se mění pohyb uklízeček po budo-
vě. Vaším úkolem je do 30 minut dojít do kanceláře
ve 3. patře pro klíče.
1. Bluetooth jea) Viagra uvízlá mezi zubyb) V slangu ochránců Krkonošského národního
parku označení pro sběrače borůvek v ochranné zóně.
c) Jméno dánského krále (Harald Modrozub) z 10. století, který si pravděpodobně nečistil zuby, ale zato dokázal přimět válčící kmeny k vzájemné komunikaci a dohodě.
2. gsM jea) Gramofon s Magičemb) Global System for Mobile Communicationsc) Generální Sekretář Mongolska
3. lan jea) Local Area Networkb) Lace And Nab (napráskat a sbalit) způsob
seznamování z konce doby ledové, v součastnosti časteji známá jako nová sexuální praktika
c) Levný Ale Nechutný - v žargonu ČOI označení pro některé restaurace
4. MP3 jea) Motorka Pro 3 - oblíbené motorové jízdní kolo
vyhledávané hlavně vietnamskými zákazníkyb) Motorová Pila k jejímuž ovládání stačí 3 prstyc) MPEG-1 Audio Layer 3
5. IP jea) Izraelský Polibek - označení pro izraelské tříštivé střely
vysílané do hustě obydlených míst pásma Gazyb) Intenzivní Píchání - převratný směr přístupu k práci
praktikovaný v textilních továrnách z období perestrojky
c) Internet Protocol
6. gPs jea) Geographic Public Serviceb) Global Positioning Systemc) Gde Preboha Som?
7. hDD jea) Hard defection destructionb) Hard disk drivec) Head digital derange
8. DVD jea) Divotvorný video diskb) Defect video diskc) Digital Versatile Disc
9. rOM jea) příslušník menšinyb) Read-only memoryc) Real oracle men
10. aDsl jea) Asymetric Digital Subscriber Line - Technologie umožňující velmi rychlý přenos dat po telefonní lince.b) Alkoholik Doražený Syntetickým Lihemd) Auto Do Sovětských Lesů
Pravidla:
Během každého desetiminutového časového úseku můžete projít
maximálně 10 polí.
Nesmíte vstoupit na čerstvě vytřenou podlahu (modré pole).
Po projití maximálně 10ti polí se automaticky přesunujete do další-
ho časového úseku do stejného místa v budově.
Pohybovat se můžete pouze pravoúhle, nikoli diagonálně.
Přesun po schodech do dalšího patra se počítá jako přesun
o 1 pole. Na schodišti se nesmíte zastavit.
Nesmíte se zastavit na poli, na které v dalším časovém
úseku přijde uklízečka. Tomáš Vahalík
řešení zapomenutých klíčů:10 min: běžte do 2. patra, zastavte se mezi schodišti (posun o 9 polí)20 min: stůjte a čekejte až vyschne podlaha30 min: pokračujte do 3. patra ke klíči ( posun o 10 polí)ponaučení : stát na místě může být nejrychlejší cesta k cíli (jára cimrman)
KOMIX s.r.o.Avenir, Radlická 751/113e, 150 00 Praha 5, Tel.: +420 257 288 211, [email protected], www.komix.cz, Redakční zpracování: kolektiv pracovníků KOMIX s.r.o.
DTP a produkce: SDP V.I.P. Servis, s.r.o. © KOMIX s.r.o. 2008
Děkujeme všemnašim klientům za Důvěru