MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY
Poradenský webový portál pro vinohradnictví DIPLOMOVÁ PRÁCE
Bc. Jan Pacek Brno, jaro 2006
Vedoucí práce: prof. RNDr. Jiří Hřebíček, CSc
Prohlášení
Prohlašuji, že tato diplomová práce je mým původním autorským dílem, které jsem vypracoval samostatně. Všechny zdroje, prameny a literaturu, které jsem při vypracování používal nebo z nich čerpal, v práci řádně cituji s uvedením úplného odkazu na příslušný zdroj.
Shrnutí Práce analyzuje sou•asný stav používání internetových poradenských portál• v oblasti p•stování révy vinné a snaží se nalézt odpov•di na otázku, jak by více mohl vliv informa•ních technologií pomoci vinohradnictví v rámci trvale udržitelného rozvoje. Práce popisuje konkrétní tvorbu poradenského portálu pro Svaz Integrované produkce hrozn• a vína, jeho uvedení do praxe a to vše na základ• informa•ních pot•eb svazu. V rámci práce byla také vytvo•ena elektronická online meteorologická mapa vinic Jižní Moravy, která nabízí cenné aktuální meteorologické údaje pro moravské vina•ství.
Klíčová slova
portál, meteorologická mapa, informační potřeby, poradenství, integrovaná produkce hroznů a vína, Java, klient - server architektura, Model View Controller
Obsah 1. Úvod
............................................................ 1
1.1. Uvedení do •ešené problematiky ....................... 1 2. Analýza poradenských portál• v oblasti produkce hrozn• vína 2.1. Seznámení s integrovanou produkcí hrozn• a vína
2
2.1.1. Definice integrované produkce .................... 2 2.1.2. Informa•ní pot•eby Svazu Integrované produkce hrozn• a vína (SIPHV) 2.2. Definice portálu ............................................... 3 2.3. P•ehled poradenských portál• .......................... 6 2.3.1. www.Galati.sk ............................................ 6 2.3.2. Státní rostlinoléka•ská správa ..................... 6 2.3.3. Portál Svazu vina•• •eské republiky ........... 7 2.3.4. www.zahrada.cz ......................................... 7 2.3.5. www.biocont.cz .......................................... 7 3. Detailní analýza a návrh architektury portálu SIPHV 3.1. Uživatelé systému
2
3
9
............................................ 9
3.1.1. Administrátor ............................................. 9 3.1.2. Editor ......................................................... 9 3.1.3. •len svazu ................................................... 10 3.1.4. Externí uživatelé ......................................... 10 3.1.5. •tená• obsahu ............................................. 10 3.2. Požadavky na uživatelnost v•etn• grafického návrh portálu 3.3. Požadavky na architekturu systému ................. 12 4. Zvolená architektura •ešení ..................... 14
10
4.1. Model - View - Controller ................................ 14 4.2. Implementace MVC ......................................... 15 4.2.1. Model - Hibernate framework ..................... 15 4.2.2. View ........................................................... 18 4.2.3. Controller ................................................... 18 4.2.4. Struktura webovské aplikace ....................... 19 4.2.5. Hosting aplikace ......................................... 20 4.3. Alternativní •ešení architektury portálu - použití CMS 5. Správa obsahu portálu .............................. 23
20
5.1. Správa uživatel• .............................................. 23 5.2. Správa •len• svazu .......................................... 23 5.3. Správa obsahu portálu ..................................... 25 5.3.1. Složka webového obsahu
.............................. 25 v
Poradenský webový portál pro vinohradnictví 5.3.2. Dokument webového obsahu ....................... 26 5.3.3. Administrativní rozhraní správy dokument• 27 5.4. Další rozší•ení správy obsahu .......................... 28 6. Sledování nálet• obale•• ......................... 30 6.1. Požadavky na správu sledování nálet• obale•• . 30 6.2. Realizace on line sledování nálet• obale•• ........ 30 6.3. Zkušenosti z provozu a možná rozší•ení .......... 32 7. Meteorologická mapa vinic ...................... 33 7.1. Sí• meteorologických stanic ............................. 33 7.2. Problematika sdílení meteorologických dat ....... 34 7.2.1. Stávající •ešení vytvo•ené v roce 2000 ........ 34 7.2.2. •ešení úpravou stávajícího •ešení zasílání dat 35 7.2.3. Návrh •ešení sdílení meteorologických dat .. 36 7.3. Realizace meteorologické mapy vinic ................ 37 7.3.1. Komponenta serveru meteorologické mapy .. 37 7.3.2. Klientská aplikace pro synchronizaci dat ..... 39 7.3.3. Distribuce klientské aplikace a její technologické •ešení 7.4. Uvedení do praxe a možná rozší•ení ................ 42 8. Záv•r ........................................................... 44 1. ERD portálu ............................................... 45 2. UML modely portálu ................................ 46 3. Ukázky zpracování meteorologických dat 50 4. Meteorologická mapa SIPHV .................. 52 5. Obsah CD ................................................... 55
40
vi
Kapitola 1. Úvod 1.1. Uvedení do •ešené problematiky Závislost na agrochemikáliích, zejména pesticidech a um•lých hnojivech, pat•í mezi nejvážn•jší problémy sou•asného zem•d•lství. Používané chemické prost•edky v•tšinou vyhubí •etné druhy p•irozených živo•ich•, v•etn• p•irozených nep•átel šk•dc• zem•d•lských plodin a paradoxn• tak snižují obranyschopnost zem•d•lských plodin i p•ed jinými šk•dci, než na které byly tyto chemické p•ípravky p•vodn• ur•eny. Tento stav pak velmi podporuje používání dalších chemických p•ípravk•, které celou situaci dále zhoršují a p•ináší další ekologickou zát•ž. To také p•ináší firmám v chemickém pr•myslu další zisky. Takzvané integrované zem•d•lství je nejbližší možnou alternativou pro zem•d•lce, kte•í necht•jí používat ve své produkci chemických prost•edk• a zárove• nemohou naplnit pom•rn• p•ísné standardy ekologického zem•d•lství. Integrované zem•d•lství (•i integrované systémy rostlinné produkce) v r•zných podobách p•edstavuje n•kolik krok• k dlouhodobé udržitelnosti. Je založena na konceptech integrovaného obhospoda•ování plodin (ICM) a integrované ochrany p•ed šk•dci a plevely (IPM), které v podob• sady definic a návod• zpracovalo n•kolik národních i evropských organizací, jež tento zp•sob hospoda•ení propagují. Integrované zem•d•lství a produkce díky propracovaným metodám •ízení podniku, ú•inným kultiva•ním postup•m a technikám ochrany rostlin a kontroly plevel• integrované zem•d•lství významn• snižuje spot•ebu agrochemikálií. Podobn• jako ekologické zem•d•lství má také spíše nižší ekonomické náklady, o n•co nižší výnosy a celkov• p•ibližn• stejné ekonomické výsledky jako konven•ní hospoda•ení. Pro udržitelnost konkurenceschopnosti podnik• v systému integrované produkce musí být proto p•ijata •ada integrovaných opat•ení, které dokáží být dohromady stejn• efektivní v ochran• p•ed možnými šk•dci jako chemické ošet•ování. Tato opat•ení se neobejdou bez efektivního p•ístupu k informacím, bez dostate•né odborné pomoci a sledování rizikových faktor• b•hem vina•ské sezóny. Hlavním cílem této diplomové práce bylo proto navrhnout, vytvo•it a ov••it v praxi vhodný poradenský portál pro konkrétní ú•ely Svazu Integrované produkce hrozn• a vína1 tak, aby dokázal pokrýt nejd•ležit•jší informa•ní pot•eby p•stitel• vinné révy v rámci integrované produkce.
1. www.vino-ip.cz
1
Kapitola 2. Analýza poradenských portál• v oblasti produkce hrozn• vína V této kapitole bych rád blíže p•edstavil zákazníka poradenského portálu, svaz integrované produkce, jeho informa•ní pot•eby a analyzoval sou•asné portály zabývající se poradenskou •inností nejen pro producenty vína.
2.1. Seznámení s integrovanou produkcí hrozn• a vína
2.1.1. Definice integrované produkce Více jak polovina (p•es 140) producent• vína na Morav• se •ídí integrovanou produkcí(dále jen IP) a jsou registrovanými •leny Svazu Integrované produkce hrozn• a vína. Sm•rnice Integrované produkce hrozn• a vína jsou zpracovány s p•ihlédnutím k požadavk•m na obdobné integrované systémy révy vinné, jež pro švýcarské vinohradnictví zpracovali Basler a Murisier (1990). Tyto sm•rnice stanovují limitující a doporu•ená kritéria pro jednotlivé p•stební technologie. P•i jejich více jak dvouletém dodržování m•že být finální produkt (stolní hrozen, víno) deklarován jako produkt z IP a ozna•en ochrannou známkou. Mezi základní prvky integrované produkce pat•í: • Správná volba stanovišt• vinic • Vhodný výb•r odr•d révy vinné • Pé•e o p•du, agrotechnika, protierozní ochrana • Výživa a hnojení • Regulace chorob • Regulace šk•dc• • Systém IP a ekonomika podniku Z principu IP mají nejv•tší prioritu pro •lenské podniky regulace chorob a šk•dc•. P•i ochran• révy vinné p•ed hlavními šk•dci (obale•i, svilušky, hál•ivec révový) v systému IP se p•edpokládá monitorování doby letu a množství obale•• feromonovými lapáky a monitorování popula•ní hustoty škodlivých rozto•• (v p•ípad• mikroskopické velikosti hál•ivc• toto hodnocení provádí specializované laborato•e). P•i ochran• jsou up•ednost•ovány biologické prost•edky (draví rozto•i, p•ípravky na bázi B. thuringiensis), které jsou jednozna•n• ekotoxikologicky vhodn•jší, než chemické preparáty. Provedení ochranného zásahu je podmín•no p•ekro•ením prahu škodlivosti šk•dcem. Pro ochranu vinic p•ed chorobami je v IP nejd•ležit•jší prevence. Sm•rnice IP nap•íklad stanoví maximální hranici p•ti ošet•ení proti padlí révovému a plísni révové, p•i•emž v m••natých preparátech smí být použito pouze 5 kg m•di (Cu) na hektar a rok. Správné a v•asné provedení preventivních opat•ení proti t•mto chorobám je možné na základ• p•esného hodnocení srážek, teplot, ovlh•ení list• a p•ípadn• dalších faktor• vyhodnocující riziko kalamitního výskytu uvedených hlavních chorob i ve vztahu k jednotlivým odr•dám a lokalitám.[Biocont] D•sledné uplat•ování celého systému IP p•ináší jak zlepšení zdravotního stavu a fyziologické kondice révy vinné, tak podstatné snížení zát•že ekosystému vinice a jeho okolí.
2
Z hlediska ekonomické stability a prosperity podniku je významné ve srovnání s konven•ní technologií ochrany rostlin až 50 % snížení náklad• vynakládaných na nákup pesticid• a dosažení podstatn• vyšších realiza•ních cen špi•kových (ze zna•né •ásti p•ívlastkových) vín. Podnik produkující v rámci IP má také možnost být za•azen do agroenvironmentálního opat•ení, které je sou•ástí na•ízení vlády •. 242/2004 Sb., o podmínkách opat•ení na podporu rozvoje mimoproduk•ních funkcí zem•d•lství, spo•ívajících v ochran• složek životního prost•edí. Díky tomuto za•azení m•že být producentovi vína finan•n• kompenzovaná nižší výnosnost vinic dotací z ministerstva zem•d•lství.
2.1.2. Informa•ní pot•eby Svazu Integrované produkce hrozn• a vína (SIPHV) Po bližším seznámení se Svazem Integrované produkce hrozn• a vína p•i tvorb• této diplomové práce vyplynuly jejich hlavní požadavky na portál, které m•ly naplnit informa•ní pot•eby •len• svazu, tak samotného vedení svazu. Tyto informa•ní pot•eby vyplynuly po úvodním zkoumání a analýze fungování svazu a byly spolu s vedením svazu stanoveny jako hlavní cíle, které by m•l vytvo•ený portál naplnit. Pravidelné poradenství pro •leny Pot•eba informovat všechny •leny svazu v týdenním intervalu v tzv. Signaliza•ních zprávách. V t•chto signalizacích jsou •lenové svazu upozor•ováni na akutní rizikové faktory jednotlivých chorob a šk•dc• a je jim p•ímo doporu•ováno •ešení v souladu s pravidly IP. Tato služba by m•la být p•ístupná pouze pro •leny svazu. Legislativa - dokumentový server Pro •leny svazu je d•ležité mít snadný p•ístup k veškeré legislativ• týkající se jak integrované produkce, tak i agroenvironmentálního opat•ení, sm•rnic. M•lo by být také snadné získat k dané legislativ• veškeré formulá•e, p•ihlášky a kontrolní dokumenty. Pro •leny svazu i ve•ejnost by m•ly být snadno p•ístupné popisy šk•dc• a chorob révy vinné v rámci dokumentového serveru. Rozcestník Odkazy k relevantnímu obsahu na jiných serverech týkajícího se produkce hrozn• a vína. P•ehled o aktuálních náletech obale•• Snadný p•ístup k aktuálním nálet•m hlavních šk•dc• vinné révy do feromonových lapa•• tak, aby bylo možné rychle reagovat na p•ípadnou blížící se kalamitu. Detailn•jší popis •ešení tohoto požadavku naleznete v kapitole 6 – „Sledování nálet• obale••“. Meteorologická mapa Spolu s poradenskými službami druhý nejd•ležit•jší požadavek svazu IP. •lenský podnik by m•l mít snadnou možnost získat aktuální meteorologické údaje z cca 40 meteorologických stanic z vinic Moravské vina•ské oblasti, vlastn•ných svazem IP. Detailn•jší popis •ešení tohoto požadavku naleznete v kapitole 7 – „Meteorologická mapa vinic“. Aktuality, správa svazu IP V rámci navrhovaného portálu by m•lo být snadné informovat •leny svazu o konkrétních setkáních, akcích a valných hromadách. Sou•ástí •ešení by také m•lo být rozhraní pro správu aktuálních kontakt• •len• svazu.
3
2.2. Definice portálu Za webový portál m•žeme považovat ucelený webový systém na internetu nabízející širokou škálu služeb a informací. Tato nabídka služeb a informací portálu se liší podle toho, jaká skupina uživatel• bude dané zdroje používat a v jaké oborové •innosti se skupina uživatel• nachází. Webový portál se z pohledu uživatelského zpravidla skládá z n•kolika vrstev, kde každá vrstva nabízí každé skupin• uživatel• jiné služby. Základní vrstva portálu je administrativní. Pat•í do ní v•tšinou redak•ní systém celého portálu, správa uživatel•, správa nabízených služeb a další. Administrativní vrstva je ur•ena pro lidi starající se o správný chod celého webového portálu. Další vrstvy jsou pro b•žné uživatele, jimž jsou ur•eny služby portálu. Tyto vrstvy jsou •len•ny dle oprávn•ní skupin uživatel• s ohledem na to, k jakým službám a informacím mohou uživatelé v dané skupin• p•istupovat. U placených portál• mohou být skupiny uživatel• rozlišovány dle výše plateb za konkrétní služby a informace.[Machacek] Portál m•žeme rozd•lit do r•zných kategorií a druh•. Nap•íklad dle tématického zam••ení lze portál rozd•lit na: [Schiefer] horizontální portály (horizontal portals) Horizontální portály jsou zam••eny na co nejširší informa•ní spektrum a jejich cílem je uspokojit co nejv•tší po•et uživatel•. Horizontální portály se tak snaží b•žným uživatel•m nabízet co nejv•tší a nejrozli•n•jší nabídku služeb, v•etn• emailového ú•tu, vyhledávání, webového prostoru ale i webových obchod•. Mezi horizontální portály m•žeme za•adit i portál google.com Tento portál nejprve za•ínal pouze s jedním ú•elem a to vyhledávání obsahu na internetu. Google ale brzy za•al své portfolio služeb rozši•ovat o další nabízené služby, jako zpravodajství (Google News), mailbox (Gmail), online obchody (Froogle), mapy (Google local) a další. Mezi dnes nejb•žn•jší •eské horizontální portály •adíme www.seznam.cz, www.atlas.cz, •i www.tiscali.cz. vertikální portály(community portals) Vertikální portály, n•kdy také "community portals", jsou tématicky úzce zam••ené a jsou ur•eny pro specifický typ uživatel•. Škála nabízených služeb je možná v porovnání s komer•ními portály mnohem menší, avšak posta•ující pro ú•ely, k nimž byl portál zbudován. Tyto služby jsou v•tšinou vytvo•eny "na míru" pro konkrétní ú•el, kterým se daná tématická oblast zabývá. Jako p•íklad vertikálního portálu bych uvedl zda•ilý portál www.enviweb.cz, 1který se zabývá tématikou životního prost•edí. Jsou zde uvedeny aktuální zn•ní legislativy, na•ízení a novinky z oblasti environmentalistiky. Uživatel, jehož se daný obor lidské •innosti dotýká, má výhodu, že zde nalezne vše co pot•ebuje a to na jediném míst•. A• už se jedná o firmy, které musí spl•ovat r•zná na•ízení pro ochranu životního prost•edí. Dle typu obsahu m•žeme portál definovat jako: rozcestníkový portál Portál tohoto typu nabízí p•edevším zdroje a odkazy na informace z jiných portál•, importuje nap•íklad novinky z jiných portál• p•es rozli•né komunika•ní kanály, jako RSS, webové služby, prohledávacím automatem, apod. dokumentový portál Portál tohoto typu nabízí p•edevším primární zdroje vlastních dokument• a tento obsah pak nabízí jiným server•m nap•íklad p•es RSS a webové služby. Dle platby za jejich služby m•žeme portál d•lit na: 1. www.enviweb.cz
4
placený Obsah, informace a služby t•chto portál• jimi nabízené jsou uživatel•m zpoplat•ovány bu• p•ímým (platby on line, platby p•es mobilního operátora, ...) nebo nep•ímým zp•sobem (formou registrovaného zpoplatn•ného •lenství, p•edplacených bod•, karet, bonus• z jiných služeb....) neplacený Obsah a služby tohoto druhu portálu je uživatel•m nabízen zdarma. P•íjmy provozovateli portálu plynou v•tšinou z reklamy, která je uživatel•m na portálu nabízena. Výše uvedené typy portálu jsou spíše rysy a charakteristikami jednotlivých portál• a v praxi portály •asto nebývají ryze jednoho charakteru a typu. B•žn• portály kombinují placený a neplacený prostor, obsahují •ást odkazující na p•íbuzný obsah a •ást s vlastními publikovanými dokumenty. Co se realizace a vzhledu portálu týká, kvalitní webový portál a jeho obsah by m•l být uživatel•m dob•e p•ístupný. Uvádím zde základní doporu•ení Best practice - Pravidla pro tvorbu p•ístupného webu vydané ministerstvem Informatiky jako doporu•ující materiál pro tvorbu p•ístupného webu portál• ve•ejné správy.[Best Practise] Obsah webových stránek je dostupný a •itelný Obsah portálu je dostupný všem uživatel•m všech b•žných prohlíže•• a platforem bez nutnosti mít nainstalované speciální dopl•ky jako Macromedia Flash, Javu, .... Stránky jsou pro uživatele snadno •itelné, barvy jejich pop•edí a pozadí jsou dostate•n• kontrastní za použití standardních písem. Práci s webovou stránkou •ídí uživatel Obsah WWW stránky se m•ní, jen když uživatel aktivuje n•jaký prvek a to v mezích samotné stránky. Zm•nou stránky se nevytvá•í bez v•domí uživatele nová vyskakovací okna a stránky nemanipulují s prohlíže•em. Informace jsou srozumitelné a p•ehledné Webové stránky sd•lují informace jednoduchým jazykem a srozumitelnou formou a rozsáhlé obsahové bloky stránek jsou rozd•leny do menších, výstižn• nadepsaných celk•. Úvodní webová stránka portálu jasn• popisuje smysl a ú•el webu. Název webu •i jeho provozovatele je z•etelný. Ovládání webu je jasné a pochopitelné Naviga•ní a obsahové informace jsou na webové stránce z•eteln• odd•leny. Navigace je provád•na nap•íklad naviga•ním panelem, lištou, zatímco textový obsah má ur•ený p•ímo sv•j blok. Navigace webu je konzistentní ve všech stránkách a položky naviga•ního menu jsou jednoduché a výstižné. Všechny webové stránky rozsáhlejšího webu obsahují odkaz na p•ehlednou mapu webu a odkaz na domovskou stránku, stejn• jako kontakt na administrátora a provozovatele webu. Odkazy jsou z•etelné a návodné Odkazy jsou odlišeny od ostatního textu, a to nikoli pouze barvou. Uživatel je také p•edem jasn• upozorn•n, když odkaz vede na obsah jiného typu, než je webová stránka. Takový odkaz je dopln•n sd•lením o typu a velikosti cílového souboru Kód je technicky zp•sobilý a strukturovaný Kód webových stránek odpovídá n•jaké zve•ejn•né finální specifikaci jazyka HTML •i XHTML. Neobsahuje syntaktické chyby, které je správce webových stránek schopen odstranit. Stránky se také zobrazují ve všech internetových prohlíže•ích p•ibližn• stejn•. 5
2.3. P•ehled poradenských portál• V této podkapitole uvedu pár obdobných poradenských portál•, které se zabývají produkcí hrozn• a vína a to nejen produkcí integrovanou. Je ovšem pravda, že ryze poradenských portál• na produkci vína moc v •eské republice neexistuje.
2.3.1. www.Galati.sk 2Jediným
existujícím poradenským portálem pro integrovanou produkci je portál www.galati.sk, který vznikl v zhruba stejné dob• jako portál svazu IP. Portál www.galati.sk je portál poradenské firmy GALATI Bratislava, jež získala na Slovensku v roce 1998 akreditaci vykonávat posouzení a odzkoušení biologické ú•innosti p•ípravk• na ochranu rostlin v rámci integrované produkce. Tato firma spolupracovala spolu se Svazem Integrované produkce v roce 2000 na projektu Phare pro Rozvoj vinohradnictví Jižní Moravy na vytvo•ení velkoplošné prognózy a signalizace. V rámci tohoto projektu pak Svaz Integrované produkce zakoupil p•es 50 aktivních meteorologických stanic, na jejichž datech se pak analyzují signaliza•ní zprávy svazu. Portál je úzce zam••en na oblast p•stování vína v rámci integrované produkce a je podporován chemickopr•myslovou firmou Syngenta. Obsahuje informace týkající se konkrétních p•ípravk• pro integrovanou produkci a aktuality týkající se integrované produkce na Morav• i Slovensku. Sou•ástí portálu je i on line verze signaliza•ního programu GALATI vitis. Galati Vitis na základ• informace o po•así (pr•m•rná teplota a srážky) a ošet•ení p•edcházející týden a p•edpokládané feno fáze v aktuálním týdnu ur•í infek•ní tlak chorob a navrhne post•ik. Program zohled•uje citlivost odr•d, klima a citlivost polohy vinohradu. Tento program na prognózu a signalizaci je sou•ástí integrované produkce vína a je poskytován na internetu zdarma. Meteorologické údaje jsou bu• již pro n•které lokality p•edvypln•ny, a nebo je uživatel zadává ru•n• p•i zpracování dat pro sv•j vinohrad. Portál je napsaný v jazyce PHP a je dob•e p•ehledný a •itelný. Jediné, co bych mu vytkl je, že soubory v p•ílohách ke stažení jsou v ne p•íliš standardním formátu programu Microsoft Word.
2.3.2. Státní rostlinoléka•ská správa 3Státní rostlinoléka•ská správa (SRS) je správní ú•ad rostlinoléka•ské pé•e s p•sobností na území •eské republiky a je ú•ední organizací ochrany rostlin podle Mezinárodní úmluvy o ochran• rostlin a ú•adem odpov•dným za výkon p•sobnosti na úseku rostlinoléka•ské pé•e podle zvláštního p•edpisu Evropských spole•enství. Rostlinoléka•ská správa vydává V•stník SRS, v n•mž zve•ej•uje informace o dokumentech z oblasti rostlinoléka•ské pé•e vydaných orgány Evropských spole•enství a jinými mezinárodními institucemi, informace o výskytu škodlivých organism•, p•ehledy o registraci p•ípravk• a dalších prost•edk•, p•ehledy provozovatel• kontrolního testování mechaniza•ních prost•edk• a jiné významné informace pro ve•ejnost a vyhlašuje opat•ení proti zavlékání a rozši•ování nebezpe•ných škodlivých organism•. Portál státní rostlinoléka•ské správy je svou strukturou zam••en obdobn• jako navrhovaný portál Svazu Integrované produkce. Obsahuje legislativu týkající se p•ípravk• používaných v zem•d•lství, aktuální meteorologické údaje z cca 16 meteorologických stanic, nálety šk•dc• do feromonových lapa•• a prognostické zprávy k jednotlivým šk•dc•m.
2. www.galati.sk 3. www.srs.cz
6
P•i tvorb• internetové prezentace Státní rostlinoléka•ské správy (SRS) se p•ihlíželo k doporu•ením Ministerstva informatiky •R (pravidla tvorby p•ístupného webu). Prezentaci je možno prohlížet ve všech nej•ast•ji používaných prohlíže•ích internetových stránek.
2.3.3. Portál Svazu vina•• •eské republiky 4Tento portál naleznete na adrese www.svcr.cz a slouží pro prezentaci Svazu vina•• •eské republiky. Z nabízených poradenských služeb zde nalezneme pouze odkaz na prodej •asopisu Vina•ský obzor, který svaz vydává. Veškeré informace jsou tedy pro uživatele dostupné po zakoupení tohoto •asopisu, který je nabízen žel jen v papírové verzi. K celkovému •ešení portálu www.svcr.cz bych m•l tyto dv• hlavní p•ipomínky.
Neaktuální informace Nabízené informace jsou neaktuální, nap•íklad je zde stále stará definice vina•ských oblastí, statistiky a p•ehledy jsou 3 roky staré. Nutnost používat Macromedia Flash Pro zobrazení stránek a celou navigaci musí mít uživatel nainstalovaný Macromedia Flash. Bez této komponenty není web funk•ní, protože zde není nabídnuta alternativa pro zobrazení naviga•ního panelu v b•žném prohlíže•i. V prohlíže•ích Microsoft Internet Explorer je t•eba mít povolené prvky ActiveX, což m•že být pro klienta bezpe•nostní riziko.
2.3.4. www.zahrada.cz 5Následující portál není p•ímo zam••en na produkci hrozn• vína, ale jedná se o dob•e zpracovaný poradenský portál pro ochranu rostlin v zahrádká•ství, který stojí za to zmínit. Projekt ZAHRADA.cz se zrodil v polovin• roku 1999, kdy se zapo•al vývoj první z jeho plánovaných sou•ástí - internetového diskusního fóra, které by plnilo funkci jednoduchého a efektivního nástroje pro sdílení zajímavých rad, zkušeností, post•eh• a názor•. V rámci diskusního fóra ur•eného pro zahradníky, zahrádká•e, drobné p•stitele a fandy, stejn• jako i pro experty, publicisty, vydavatele, výrobce a obchodníky je vytvo•en široký prostor nejen pro p•edávání poznatk• ze samotné p•stební •innosti a následného zpracování nebo skladování, ale kup•íkladu i pro hodnocení ú•elnosti a vlastností konkrétních produkt•, pom•cek a nejr•zn•jšího vybavení. Toto fórum je dob•e strukturované a tak se uživatel snadno dostane k informacím, které ho zajímají. Funguje zde samoz•ejm• i full-textové vyhledávání v obsahu fóra. Poradenská služba je poskytována uživatel•m zdarma a obsah portálu je upravován autonomn• samotnými uživateli. Poskytovatel•m portálu plynou p•íjmy z reklamy, kterou na svém portálu nabízí.
2.3.5. www.biocont.cz Na t•chto stránkách nalezneme prezentaci firmy zabývající se ochranou rostlin také v rámci integrované produkce hrozn• a vína. Uživatel zde m•že nalézt definici a detailní popis ekologicky šetrných prost•edk•, používaných nejen užívaných v integrované produkci hrozn• a vína. Sou•ástí stránek firmy je i statický objednávkový formulá• na tyto prost•edky.
4. www.svcr.cz 5. www.zahrada.cz
7
K celkovému •ešení stránek www.biocont.cz bych m•l tyto p•ipomínky6 Stránky jsou bez naviga•ního menu Nabízené informace jsou nestrukturované a odkaz na jakýkoliv obsah je nutné d•lat z úvodní stránky, což je pro uživatele zna•n• nep•íjemné, protože obsah na úvodní naviga•ní stránku je ve v•tšin• p•ípad• umíst•n až na spodním okraji stránky s obsahem. Server nepoužívá redak•ní systém Veškerý obsah webu je zobrazen jako statické stránky a jejich styl zobrazení tak není p•íliš jednotný. Stránky s obsahem jsou také p•íliš rozsáhlé a nutí uživatele k prohlížení celého obsahu, než se propracuje k požadované informaci.
6. www.biocont.cz
8
Kapitola 3. Detailní analýza a návrh architektury portálu SIPHV V této kapitole bych se rád zabýval provedenou analýzou požadavk• na portál a zvolenou architekturou portálu, která se odvíjela od požadavk• nejenom na funk•nost portálu, ale i na jeho postupné uvád•ní do provozu. Hned z úvodní analýzy bylo z•ejmé, že vytvá•ený portál bude úzce tématicky zam••ený, vertikálního typu, placený formou p•edplatného •i •lenství a jeho obsah bude z v•tší •ásti dokumentový. Dle vý•t• dalších hlavních požadavk•, které m•l implementovaný systém spl•ovat se odvíjela i architektura a samotný postup •ešení, které bylo rozd•leno pomyslných etap. Svaz IP, jako zadavatel, pot•eboval mít již pro sezónu 2005 hotovou funk•ní službu on line signaliza•ních zpráv pro •leny i platící zákazníky. Samotné •ešení tohoto jediného požadavku zabralo pom•rn• více •asu a úsilí, protože •ešení služby signaliza•ních zpráv m•lo silný dopad na ostatní požadavky a kladlo d•raz na správnou p•edb•žnou analýzu celého systému, který m•l být do budoucna rozší•en o on line meteorologickou mapu a on line sledování nálet• do lapa••. P•i implementaci •ásti portálu signaliza•ních zpráv bylo nutné mít detailn•ji popsány tyto požadavky: • Uživatelé systému a jejich funk•ní požadavky. • Požadavky na uživatelnost, v•etn• grafického návrh portálu. • Požadavky na rozši•itelnost, spolehlivost a architekturu.
3.1. Uživatelé systému Zde uvádím uživatele systému a jejich hlavní p•ípady užití (z pohledu systému) dle úvodních požadavk• ze strany Svazu IP. Blíže jsou popsány v p•íloze v systémovém UML diagramu p•ípad• užití.2.2 – „Model systému z pohledu high level p•ípadu užití“
3.1.1. Administrátor Administrátor má právo: • vytvá•et, spravovat a mazat uživatelské ú•ty, definovat jejich délku platnosti. • spravovat databázi •lenských podnik• a definovat jim p•i•azené uživatelské ú•ty. • zakládat a spravovat m••ící stanice meteorologické mapy do systému. • provád•t stejné úkony jako uživatel editor
3.1.2. Editor Uživatel editor má právo: • vytvá•et, spravovat a mazat obsah webu, stejn• jako složky dokument• stránek, odkaz• na jiné 9
stránky. • vkládat a spravovat údaje z nálet• do feromonových lapa••. • provád•t stejné úkony jako uživatel vina•.
3.1.3. •len svazu Uživatel s oprávn•ním •len svazu má právo: • •íst obsah ur•ený jen jeho kategorii, v•etn• oznámení a aktualit pro •leny svazu. • upravovat kontaktní informace k asociovanému •lenskému vina•skému podniku. • •íst a vkládat data z/do centrální meteorologické databáze. • provád•t stejné úkony jako externí uživatel.
3.1.4. Externí uživatelé Externí uživatel m•že: • •íst obsah ur•ený jen jeho kategorii, v•etn• signaliza•ních zpráv • tento uživatelský ú•et je pro ne•leny svazu vytvá•en za poplatek, který pokrývá náklady na zp•ístup•ované služby • m•nit své údaje, jako login, heslo, kontakt.
3.1.5. •tená• obsahu •tená• obsahu m•že: • •íst ve•ejný obsah, v•etn• kontakt• na •lenské podniky a p•ehledu aktuálních nálet• obale•u do feromonových lapa•• a ve•ejné •ásti meteorologické mapy.
3.2. Požadavky na uživatelnost v•etn• grafického návrh portálu Dnešní spole•nosti, pokud cht•jí usp•t v konkuren•ním boji, musejí mít celistvé •ešení designu, tzv. corporate design. Corporate design pomáhá spole•nostem v budování image nutného pro komunikaci s potenciálními zákazníky, partnery i ve•ejností p•es jednotný vizuální styl. Na trhu existují r•zné spole•nosti, zabývající se tvorbou corporate designu. Jednou z takovýchto spole•ností je
10
nap•. Jihomoravské inova•ní centrum,1 které nabízí pro za•ínající podniky produktový vizuální styl, který obsahuje: • • • • •
návrh loga spole•nosti návrh a tisk vizitek návrh dopisního papíru návrh webových stránek návrh stylu PowerPoint prezentace
Dle požadavk• Svazu Integrované produkce hrozn• a vína se návrh portálu •ídil celkov• novým corporate designem, který na požadavek vedení svazu vytvo•il pan Ing. Michal Stránský. Sou•ástí zavád•ní nového corporate designu svazu IP bylo tedy i vytvo•ení nového portálu svazu. Navržený design portálu bylo nutné upravit tak, aby pokud možno spl•oval všechna doporu•ení Ministerstva informatiky •R (pravidla tvorby p•ístupného webu). P•i konzultacích s designérem SIPHV se vytvo•ila designová koncepce portálu tak, že rozsáhlejší textový obsah bude vždy p•ístupný v souboru formátu PDF z toho d•vodu, aby byl nejen snadno tisknutelný, ale aby zachovával celkový vizuální styl obsahu. Tato •ást návrhu portálu byla tudíž v rozporu s pravidly pro tvorbu p•ístupného webu, nebo• zadavatel dal p•ednost grafickému stylu p•ed p•ístupností. Následné používání portálu v praxi neukázalo, že by porušení tohoto pravidla •inilo uživatel•m výrazn•jší problémy. V•tšinu informací, jako nap•. formulá•e, situa•ní zprávy a popisy šk•dc• uživatelé •asto tisknou a volba formátu PDF byla pro toto použití více než vhodná. Požadavkem zadavatele na uživatelnost bylo také zp•ístupn•ní neve•ejného obsahu pouze oprávn•nému uživateli, vždy jen po úsp•šném p•ihlášení a to tak, aby se daný styl zobrazování stránek po p•ihlášení výrazn• nem•nil. Dalším požadavkem SIPHV na uživatelnost portálu byla p•ístupnost k obsahu stránek bez dalších nutných technologií z hlediska klientského po•íta•e a to tak, aby se styl stránek zobrazoval ve všech typech prohlíže•• bez problému a pokud možno stejn•. Po analýze obsahu starého portálu a pot•eb svazu byla vytvo•ena následující struktura menu portálu, kterou pak designér portálu umístil do dvou naviga•ních panel•. V levém naviga•ním panelu se zobrazují tyto položky: Svaz integrované produkce hrozn• a vína - SIPHV Zde uživatel nalezne informace týkající se Svazu IP, jako je seznam •len• svazu, kontakty, sm•rnice, doporu•ení svazu a projekty, na nichž se svaz IP podílí nebo podílel. Vinná réva, choroby a šk•dci Obsah této sekce menu nabízí veškerý popis fyziologických poruch, šk•dc• a chorob révy vinné v•etn• informací na jejich ochranu. Veškeré informace jsou dodány v tisknutelné verzi PDF z Obrazového atlasu chorob a šk•dc• ovocných d•evin a révy vinné se souhlasem vydavatele.
1. Jihomoravské inova•ní centrum
11
Dokumenty ke stažení Zde jsou ke stáhnutí dokumenty týkající se SIPHV, státního zem•d•lského interven•ního fondu, legislativa týkající se agroenvironmentálního opat•ení a pro •leny svazu také p•ednášky již prob•hlých seminá•• Zdroje a odkazy z oblasti vina•ství Poslední •ástí levého panelu naviga•ního menu je malý rozcestník na p•íbuzné servery z oblasti vina•ství a na portály státní správy, související s IP. V pravém naviga•ním panelu poradenského portálu se zobrazují tyto t•i položky: Aktuality Zde uživatel nalezne aktuální informace, novinky, upozorn•ní a pozvánky. Po•así Obsah této sekce menu nabízí odkaz na informace týkající se po•así, jeho charakteristiky a zajímavosti o n•m. Služby Poslední a nejobsáhlejší položka pravého naviga•ního panelu obsahuje poskytované služby jako pravidelné Signaliza•ní zprávy, informace o náletech obale•• do feromonových lapa•• a on line meteorologickou mapu vinic.
3.3. Požadavky na architekturu systému Architektura je dle slovníku výpo•etní techniky [Woodcock]všeobecné ozna•ení ur•ující celkovou strukturu a základní konstrukci •ástí nebo kompletního po•íta•ového systému. V p•ípad• architektury internetového portálu se jedná o zp•sob rozd•lení výstupních stránek, struktury dat a datových tok• do logických celk• a stanovení vzájemných vztah• a interakcí mezi nimi, a to pokud možno na dostate•n• obecné úrovni. Je z•ejmé, že se k návrhu a volb• architektury musí p•istupovat na samém po•átku vývoje jakékoliv aplikace a to s velkou opatrností a rozmyslem. Jakékoliv pozd•jší zm•ny architektury jsou totiž velmi komplikované nebo tém•• nemožné. P•i analýze požadavk• a návrhu systému vyvstaly tyto požadavky na architekturu celého portálu: Možnost rozší•ení aplikace za chodu P•i vytvá•ení plánu konstrukce celého systému bylo od zadavatele požadováno tvo•ení nových funkcionalit již za ostrého b•hu portálu. To kladlo velký požadavek na architekturu, aby se systém mohl b•hem chodu systému dopl•ovat a p•ípadn• i p•episovat n•které funkcionality. Znovupoužitelnost funkcí N•které funkce portálu, které jsou •asto používány je dobré používat na více místech. Robustnost portálu Robustní aplikace se vyzna•ují spolehlivostí nebo nap•. schopností nep•etržitého provozu 24 hodin denn•, 7 dní v týdnu. Tento požadavek byl kritický, protože byl v rozporu s požadavkem na možnost rozši•ování aplikace za b•hu. Bylo nutné proto minimalizovat v návrhu architektury výpadky a nedostupnost systému p•i jakýchkoliv zm•nách na vyšší verze, stejn• jako i nutnost konzistence dat p•i p•echodech mezi verzemi systému. Samotný portál byl tém•• celý vystav•n za ostrého b•hu s uživatelskými daty. Komponentová - modulární architektura 12
Komponentová architektura rozd•luje celý systém do komponent. Komponenta obsahuje logicky zapouzd•enou funkcionalitu s jasn• definovaným rozhraním, která m•že být v p•ípad• pot•eby kdykoliv nahrazena a na druhou stranu m•že být opakovan• nasazena v r•zných jiných aplikacích. Komponenty se mohou v p•ípad• rozsáhlejších systém• logicky sdružovat do modul• a ty pak do subsystém•. Tímto zp•sobem je pak vytvo•ena hierarchická struktura systému, subsystém•, modul• a komponent. Komponentová architektura vytvá•ených aplikací umož•uje jednoduše, rychle a levn• upravovat chování stávajících komponent a p•idávat další komponenty v souladu s rostoucími požadavky uživatele aplikace, což bylo jedním z hlavních požadavk•. Nadstandardní hosting portálu Dalším z podmínek vyplývající z požadavku na vyvíjení aplikace za b•hu je nutnost mít nadstandardní hosting pro portál, který umožní neomezený p•ístup k aplikaci portálu, restart •ástí nebo celé aplikace a dola•ování aplika•ního serveru za chodu.
13
Kapitola 4. Zvolená architektura •ešení Nyní bych se rád zastavil nad zvolenou architekturou •ešení. Pro celkový návrh aplikace jsem zvolil architektonický návrhový vzor Model - View - Controller, protože spl•oval tém•• veškeré požadavky, které byly na architekturu z uživatelských požadavk• na portál kladeny, •i z nich vyplývaly. Návrhový vzor Model - View - Controller jsem aplikoval na serverovou platformu jazyka Java J2EE s použitím objektov• - rela•ního frameworku Hibernate. Zvolený jazyk Java je vysp•lý programovací jazyk, obsahující všechny vlastnosti, které jsou vyžadovány v moderním programování. Od modularity programu, •ídících konstrukcí, p•es silnou typovou kontrolu, multithreading, ošet•ení výjimek, správu pam•ti i silnou podporu pro databáze, XML a sí•ové operace. K jejím výhodám pat•í, krom• již zmín•né multiplatformity, robustnost, škálovatelnost a vysoká bezpe•nost, která jí profituje pro používání na kritické aplikace na mainfraimových po•íta•ích. Obsah jazyka Java nelze omezit jen na vý•et jejích p•íkaz•. Java je p•edevším siln• objektová, což umož•uje v ní modelovat, vytvá•et, používat a rozši•ovat rozsáhlé knihovny a systémy. Práv• objektov• je t•eba myslet ne jen p•i psaní programu, ale již p•i návrhu a analýze.
4.1. Model - View - Controller Architektonický vzor Model View Controller (dále MVC) [Barray] je velmi oblíbený zp•sob návrhu aplikace, který má své ko•eny ve Smalltalku. Zde se p•vodn• používal pro zakomponování tradi•ního postupu vstup–zpracování–výstup do GUI program•. Nemén• vhodný je ale i pro použití ve vícevrstvých webových aplikacích. MVC se rozší•il zejména v oblasti jazyka Java a souvisejících technologií, ale je možné jej díky jeho obecnosti používat i v jakémkoliv jiném programovacím jazyce.[Sun] MVC rozd•luje aplikaci na t•i logické •ásti: Model, View a Controller. Každá •ást je pak v aplikaci odpov•dná za definovanou •ást aplikace. Model je funk•ním a datovým základem celé aplikace. Poskytuje prost•edky jak pro p•ístup k datové základn• a stav•m aplikace, tak pro jejich ukládání a aktualizaci. Model se dá pokládat za softwarový obraz objekt• a proces• reálného sv•ta. Model by m•l být jako celek zapouzd•ený a pro View a Controller nabízet p•esn• definované rozhraní. Nej•ast•ji je implementován pomocí objekt• v rámci objektov• orientovaného programování (OOP). V p•ístupech odlišných od OOP jej lze realizovat nap•íklad i b•žnými funkcemi. Na své nižší vrstv• je samoz•ejm• tvo•en n•jakou formou úložišt• dat, nej•ast•ji v objektové implementaci persistentní objektovou t•ídou. Tato t•ída pak m•že být uložena bu• p•ímo v objektové databázi, nebo pomocí mapování v databázi rela•ní. View zobrazuje uživateli obsah Modelu, zajiš•uje grafický •i jiný výstup aplikace. View p•istupuje p•es Model k dat•m a stav•m aplikace a sám specifikuje, jak mají být prezentovány. P•i zm•n• stavu Modelu View aktualizuje zobrazení. U webových aplikací generuje View p•íslušný HTML kód, který je odeslán prohlíže•i jako odpov•• na požadavek. Jestliže slouží zobrazený výstup zárove• jako oblast pro zachytávání událostí od uživatele (nap•íklad kliknutí myší na daný odkaz ve vykresleném naviga•ním okn•), p•edává View tyto události Controlleru. Controller definuje chování aplikace. Zpracovává veškeré vstupy a události pocházející od uživatele. Na jejich základ• volá p•íslušné procesy Modelu, m•ní jeho stav apod. Podle událostí p•ijatých od uživatele i podle výsledk• akcí v Modelu pak vybírá Controller vhodné View pro další zobrazení.
14
Pro webové aplikace jsou hlavním vstupem Controlleru HTTP GET nebo POST požadavky odeslané uživatelovým prohlíže•em. Mezi hlavní výhody MVC pat•í:.[Barray][Sun] •
•
•
•
snadné zp•ístupn•ní pro r•zné druhy klient•. Pro zavedení podpory dalšího klienta je nutné nadefinovat pouze nové View, v p•ípad• zcela rozdílných vstupních událostí i speciální Controller. Nicmén• Model jako klí•ová •ást aplikace z•stává stále stejný. minimalizace duplicitního kódu. Souvisí •áste•n• s p•edchozím bodem. Nap•íklad bez odd•lení a zapouzd•ení Modelu by se pro každé nové View musela znovu programovat celá aplika•ní logika. Ale i v rámci jednoho typu klienta je •asto jedna akce volána z n•kolika r•zných míst aplikace. vysoká komplexnost návrhu a snadná budoucí rozši•itelnost aplikace, efektivní modularita, snadné rozd•lení systému do komponent. •istota designu aplikace, snadn•jší zp•sob p•emýšlení programátora nad aplikací, jejím návrhem a architekturou. [Barray]
V rámci MVC se dále rozlišuje mnoho strategií, jak výslednou aplikaci koncipovat. Liší se nap•íklad po•tem Controller• a rozd•lením úkol• mezi nimi, použitím •i nepoužitím šablon v rámci View, jednotným zapouzd•eným voláním datových zdroj• apod. MVC je velice rozší•ený a oblíbený p•ístup k návrhu aplikace. Jak již bylo •e•eno, používá se zejména v oblasti jazyka Java. [Tichy] Zde je Model obvykle realizován t•ídami definovanými v JavaBeans komponentách. View jsou generovány pomocí JavaServer Pages (JSP), Controller pak bývá implementován jako skupina servlet•. Místo mnoha r•zných servlet• m•že být také jeden hlavní servlet jako Front Controller. Nejrozší•en•jšími frameworky poskytujícími vlastní Controller jsou v dnešní dob• Apache Struts1 a SpringFramework.2
4.2. Implementace MVC V této podkapitole bych rád seznámil s implementací jednotlivých •ástí MVC vzoru v •ešení portálu SIPHV.
4.2.1. Model - Hibernate framework K implementaci modelu byly použity persistentní i nepersistentní t•ídy, které reprezentují jednak objekty reálného sv•ta, ale i funkcionalitu nabízenou systémem. Pro zajišt•ní persistence objektových t•íd byl použit objektov• - rela•ní framework Hibernate. Tento framework výrazn• snižuje požadavky na práci nad databází. V dnešní dob• dob• se p•i vývoji rozsáhlejších aplikací nej•ast•ji používá objektov• orientovaný p•ístup, zatímco data jsou ukládána v rela•ních databázích. V objektov• orientovaném a rela•ním p•ístupu však existují zna•né rozdíly. Podle r•zných studií je zhruba 70% •asu 3(na stránkách 1. http://struts.apache.org 2. http://www.springframework.org 3. www.hibernate.org
15
www.hibernate.org [http://www.hibernate.org] dokonce tvrdí, že 95%) stráveného p•i vývoji aplikací v•nováno psaní kódu, který se zabývá udržováním persistentních dat. Hlavní snahou je tedy odd•lit vlastní logiku aplikací od konkrétního zp•sobu uložení dat. Tedy od konkrétní databáze, a• už rela•ní •i objektové. Hibernate je nástrojem, který poskytuje objektov• rela•ní mapování (ORM) pro javovské prost•edí a nov• také pro platformu .NET. Pod ORM se skrývá technika mapování dat, jež jsou reprezentována javovskými t•ídami, na rela•ní struktury reprezentované databázovými tabulkami. Krom• toho také Hibernate umož•uje získávání databázových dat na základ• vlastního, pln• objektov• orientovaného jazyka, nazvaného Hibernate Query Language (HQL), který je syntakticky velmi podobný SQL.Hibernate Query Language (HQL) je ale na rozdíl od SQL pln• objektov• orientovaný. Stejn• jako SQL, tak i HQL nerozlišuje velikosti znak• p•i psaní dotaz• až na názvy javových t•íd a vlastností. Pomocí HQL m•žeme také tvo•it o poznání složit•jší dotazy než na•tení libovolného objektu. M•žeme použít v•tšinu konstrukcí z ANSI SQL: polymorfismus, parametrizované dotazy, javové konstanty a mnoho dalších podporovaných vlastností. Hibernate poskytuje programátor•m aplikací jednoduché API, které umož•uje mapování objekt• do 20 podporovaných rela•ních databází. V dokumentaci doporu•ují tv•rci použití hibernate jako persistentní vrstvu ve dvou nejb•žn•jších architekturách: ve dvouvrstvé webové architektu•e Model/View/Controller k persistenci javovských bean• používaných servlety/JSP a v enterprise (t•ívrstvé) architektu•e. Jelikož je Hibernate navržen pro práci v mnoha odlišných prost•edích, existuje pro n•j velké množství konfigura•ních parametr•. Pro nastavení frameworku Hibernate byl použít standardní konfigura•ní XML soubor nazvaný hibernate.cfg.xml, který nastavuje Hibernate pro práci s MySQL databází pomocí JDBC spojení.
<session-factory> <property name="connection.driver_class"> com.mysql.jdbc.Driver <property name="connection.url"> jdbc:mysql://jmeno_serveru:3306/jmeno_databaze <property name="dialect"> net.sf.hibernate.dialect.MySQLDialect <property name="connection.username">uzivatel <property name="connection.password">heslo <mapping resource="FolderImpl.hbm.xml"/> <mapping resource="DocumentImpl.hbm.xml"/> <mapping resource="VineDresser.hbm.xml"/> <mapping resource="UserImpl.hbm.xml"/> <mapping resource="Url.hbm.xml"/> <mapping resource="Image.hbm.xml"/> ..... Javové t•ídy perzistentn• mapované na tabulky rela•ní databáze jsou jednoduché JavaBeany, které musí obsahovat bezparametrický konstruktor a "getter/setter" metody pro každou jejich
16
vlastnost. Mapování javových t•íd na databázové tabulky se provádí pomocí XML souboru umíst•ného v adresá•i s mapovanými t•ídami. T•chto XML soubor• m•že být i více a jsou zaznamenány v konfigura•ním souboru hibernate.cfg.xml elementem <mapping resource = "jmenoTridy.hbm.xml" /> Uvádím p•íklad mapování t•ídy VineDresser - VineDresser.hbm.xml, která reprezentuje vina•ský podnik.
<property name="name" not-null="true" /> <property name="adress" type="text"/> <property name="phone"/> <property name="email"/> <property name="web"/> <property name="note" type="text"/> <property name="folder" /> <set name="users" lazy="true" table="VDsUsers" inverse="false"> <many-to-many class="appserver.system.UserImpl" column="user_id"/> <set name="meteostats" inverse="true" lazy="true" order-by="name asc"> V každé mapované t•íd• musí být deklarovaný primární klí•. Každý perzistentní atribut této t•ídy musí být zachycen elementem <property>, který jej mapuje na p•íslušný atribut databázové tabulky. Atribut type pak ur•uje typ této vlastnosti. Hibernate podporuje všechny základní javové datové typy, ale hodnota tohoto atributu m•že být i javový objekt. Pokud není typ zadán, Hibernate se ho pokusí ur•it sám. Sou•ástí mapování t•íd m•že být také zachycení jejich vzájemných vztah• (1:1, 1:N, M:N) a další vlastnosti jako d•di•nost a polymorfismus t•íd. Pro efektivn•jší práci s objekty v pam•ti m•žeme definovat, zda chceme na•íst celý objekt i s jeho vázanými objekty, nebo samotný objekt bez nich. Vázané objekty jsou pak na•teny do pam•ti až p•i jejich samotném použití. Tento druhý p•ístup zpožd•ného, líného (lazy) nahrávání objekt• vyžaduje v•tší po•et p•ístup• do databáze, ale menší pam••ovou náro•nost pro velké hierarchické struktury objekt•. V •ešení architektury bylo více použito zpožd•ného nahrávání objekt• pro efektivn•jší práci s pam•tí, nebo• provázanost objekt• v modelu je veliká. Hibernate provádí zm•nu objektu dat do databáze ihned po provedení. M•žeme ale také v konfiguraci nastavit, aby se zm•na dat na objektu projevila až p•i mazání objektu z pam•ti. Tato druhá možnost ale není vhodná pro rozsáhlejší systémy, které pracují sou•asn• nad stejnými, sdílenými daty. Hibernate totiž p•i zápisu zm•n•ného objektu do databáze zneplatní tytéž objekty a nahradí je v pam•ti nov•jšími. Opožd•ný zápis do databáze tak zvyšuje riziko možných kolizí. 17
Pro provád•ní složit•jších synchroniza•ních operací persistentních objekt• s databází umož•uje Hibernate používat transak•ní manažer - TransactionManager, který provedený sled operací provede v rámci jedné transakce. U databázových systém•, které umož•ují transak•ní zpracování Hibernate užívá jejich transak•ního zpracování, u databázových systém• neumož•ujících transakce, transakci provede TransactionManager. Na základ• definice mapování t•íd vygeneroval hibernate automaticky databázovou strukturu, která je znázorn•na v ERD diagramu v p•íloze.1.1 – „ERD databáze vygenerované frameworkem Hibernate, 1. •ást“
4.2.2. View View je implementován pomocí Java Server Pages(JSP). JSP je technologie od spole•nosti Sun Microsystems pro tvorbu dynamických webových stránek na platform• Javy (J2EE). JSP stránky jsou sou•ástí javovské web aplikace. Webovská aplikace Javy má tyto •ásti: • • • •
Servlety JSP stránky Podp•rné knihovny Deployment descriptor
Dokument JSP je kombinací p•íkaz• jazyka Java a formátovacích zna•ek HTML, které jsou p•i prvním zavolání p•eloženy do jazyka Java do formy servletu Tento servlet je pak p•eložen do proveditelného Java byte kódu JSP umož•uje pracovat s libovolnými, námi deklarovanými Java objekty •i mnoha implicitními objekty, definovanými pro Java Server Pages. Uvádím zde p•íklad n•kolika nej•ast•ji užívaných implicitních objekt•. • request (požadavek) – instance rozhraní HttpServletRequest. Zavoláním tohoto implicitního objektu m•žeme zjistit informace o p•íchozím požadavku. • response (odezva) – instance rozhraní HttpServletResponse. Informace o odpov•di jsou ukládány do tohoto implicitního objektu, lze nastavovat vlastnosti odpov•di. • out (výstup) – instance t•ídy jspWriter. Metody print(), println() – p•idání textu do webového dokumentu. • session (sezení) – instance t•ídy HttpSession. Nese informace o uživateli a jeho datech mezi jednotlivými požadavky. O technologii Java Server Pages by se dalo psát do detailu hodn• zajímavého, nebo• je to technologie robustní a perspektivní pro užití v mnoha webových aplikacích. Rád bych se ale také zmínil o architektonické implementaci Controlleru pomocí Javy.
4.2.3. Controller 18
Controller je v portálu SIPHV implementován pomocí Java servletu, který je základem web aplikace. Servlet je obdoba CGI napsaná v Jav•. P•esn•ji je to t•ída odvozená z javax.servlet.Servlet respektive javax.servet.http.HTTPServlet. Oproti t•mto skript•m má Java servlet tyto výhody: • Servlet je jednou zkompilován a na•ten do pam•ti, potom už jenom odpovídá na požadavky klient• (takže je rychlejší než PHP nebo ASP, natož pak CGI). • Servlet je Java program, máte tedy p•ístup ke všem možnostem tohoto jazyka (až na gui). • Servlet b•ží v prost•edí aplika•ního serveru, který mu zprost•edkovává užite•né služby (nap•. poolování p•ipojení do databáze, bezpe•nost, ...). • Servlet je nezávislý na protokolu. Na implementaci množství servlet• pro controller lze použít jeden z výše uvedených framework• Apache Struts nebo Spring. Tyto frameworky umož•ují snazší komunikaci mezi View a Controllerem a umož•ují užívat množství rozší•ení pro JSP i servlety, jako vlastní knihovnu zna•ek v JSP, Java beans, validaci vstupu, ... Pro implementaci controlleru žádný framework užit nebyl, nebo• v dob• startu realizace portálu bylo nutné zrealizovat portálovou •ást v krátkém •ase (horizont týdn•) do za•átku sezóny 2005. Použití mnou zatím nepoužívané technologie frameworku bylo zna•ným rizikem úsp•šného spušt•ní ostrého provozu aplikace. V rámci každé jednotlivé komponenty jsou tak controller i view implementované bez použití n•kterého MVC frameworku. Dodržení MVC vzoru v rámci každé komponenty ale dává do budoucnosti možnost libovolnou komponentu p•eimplementovat (controller i view) pomocí libovolného frameworku.
4.2.4. Struktura webovské aplikace Adresá•ová struktura Java web aplikace portálu, v nichž je implementována komponentová architektura spolu s MVC vzorem vypadá následovn• root +-statické stránky a obrázky +-jsp stránky +- jednotlivé komponenty (VIEW) ... +-WEB-INF +-web.xml (deployment descriptor) +-lib (adresář do kterého se dávají knihovny) + ... +-classes (adresář do kterého se dávají servlety a třídy modelu) +- servlet +- komponenty (CONTROLLER) ... +- appserver +- komponenty (MODEL) .... Každá komponenta funk•nosti portálu má sv•j controller implementován pomocí n•kolika servlet• v jednom balíku t•íd. Tyto servlety dohromady tak zapouzd•ují funk•nost controlleru celé komponenty. Tyto servlety jako controller pak komunikují s view komponentou implementovanou pomocí
19
kolekce JSP stránek, nacházejících se dohromady v jednom adresá•i jsp stránek JSP stránky spolu s jejich servlety používají modelové t•ídy logicky a fyzicky soust•ed•né také do odpovídajícího balíku t•íd, java package. Servlet a celá webovská aplikace b•ží v servlet containeru aplika•ního serveru. Mezi nejznám•jší servlet containery pat•í Apache Tomcat, Jetty, Jboss, ... Další •ásti java aplika•ního serveru je nap•. enterprise java beans container. Pro b•h servlet containeru i dalších •ástí aplika•ního serveru je t•eba mít nainstalovaný Java Development Kit (JDK).
4.2.5. Hosting aplikace B•hem návrhu architektury aplikace bylo nutné také vy•ešit otázku, na kterém serveru provozujícím Servlet/JSP Container, má být samotná aplikace provozována a p•ípadn• s použitím jakého databázového stroje. Jelikož kvalitních a cenov• dostupných hosting• pro hostování java web aplikací nebylo v dob• implementace aplikace dostatek, bylo nutné v•novat úsilí získání dobrého hostingu pro vznikající aplikaci s možností mít vlastní p•ístup k aplika•nímu serveru a samotnému Servlet/JSP Containeru. V•tšina hosting• pro javu provádí deploy (nahrání) aplikací do containeru max. jednou denn• p•i jeho pravidelném restartu. Toto •ešení standardního hostingu by bylo velkým rizikem pro vývoj aplikace za ostrého b•hu, nebo• p•i neúsp•šné zm•n• systému na vyšší by byl systém nefunk•ní celých 24 hodin, než by bylo možné se vrátit k starší funk•ní verzi. Toto riziko bylo vy•ešeno díky panu RNDr. Miroslavu K•ípa•ovi, který spravuje server artemon.cz. Tento menší server poskytuje hostingové služby pro úzký okruh zákazník• hlavn• v oblasti yachtingu. Na serveru artemon.cz tedy mohl být zprovozn•n containter Apache Tomcat verze 5.5.9 pro provoz javovské webové aplikace. Jako databázový server byl použit již na serveru používaný MySQL verze 3.23.58. Na tomto hostingu byl vytvo•en omezený ssh p•ístup, který dovoloval provád•t restart servlet containeru pomocí servlet containeru skriptu kdykoliv bylo pot•eba,. Jelikož naše aplikace byla jedinou java web aplikací, tak p•ípadný restart Apache Tomcatu neohrožoval okolní zákazníky.
4.3. Alternativní •ešení architektury portálu - použití CMS P•i návrhu a volb• architektury byla zvažována následující alternativní možnosti vývoje portálu a celkové realizace. Pro celkovou realizaci portálu na správu jeho obsahu a uživatel• se nabízela možnost použít n•který stávající voln• ši•itelný redak•ní systém, tzv. content managment system (CMS). Mezi takové redak•ní systémy pat•í nap•íklad open source projekt (pod GNU/GPL licencí) Joomla4, který je následovníkem úsp•šného mambo redak•ního systému, PHPWebSite5 z dílny Apalachian State University, nebo PHP Nuke 6a jeho •eská alternativa United Nuke.7 Tyto redak•ní systémy umož•ují pomocí administrativního rozhraní odd•len• spravovat obsah stránek od jejich stylu zobrazování. Výsledný vzhled stránky portálu se definuje pomocí šablon a dá se v pr•b•hu m•nit. V•tšina CMS systém• umož•uje editovat obsah pomocí on line WYSIWYG (What You See Is What You Get, neboli co vidíš to dostaneš) HTML editoru. Editor, který svojí funkcionalitou a vzhledem p•ipomíná textový procesor, v on line formulá•i formátuje všechen psaný text do HTML zna•ek. Díky tomu se systémem m•že pracovat uživatel bez znalosti HTML.Takto spravovaný obsah stránek se pak ukládá do rela•ní databáze, odkud jej CMS zobrazuje p•ímo do stránek portálu. 4. Joomla 5. PHPWebSite 6. PHPNuke 7. UnitedNuke
20
Mezi další, nej•ast•ji nabízené funkcionality nejen voln• ši•itelných redak•ních systém• pat•í: • Diskusní skupiny • Dotazy a odpov•di (FAQ) • Novinky • Odkazy do Internetu • Rozesílání novinek emailem • RSS kanál pro zobrazování novinek • Správa uživatel• a definice jejich práv pro p•ístup k obsahu • Správce soubor• pro upload a download • Správce menu a vzhledu portálu • WYSIWYG html editor Použití existujícího CMS pro portál SIPHV by m•lo tyto výhody • Již implementované administrativní rozhraní pro •ást obsahovou portálu • Cenov• dostupné •ešení, které lze snadno nakonfigurovat dle vlastních pot•eb • Modulární architektura - v•tšina CMS umož•uje p•idávat samostatné moduly a komponenty pro daný CMS • Dostupný web hosting pro tyto CMS (PHP, MySQL) Avšak d•vody, pro• nebylo použito existujícího redak•ního systému byly následující: CMS je jen •ástí celého •ešení portálu. Mezi další •ásti •ešené mimo správu obsahu portálu pat•í online databáze meteorologických dat, která je propojena s databází •len• svazu, a uživatel• a online p•ístup k aktuálním nálet•m škodlivého hmyzu do feromonových lapa••. GNU GPL licence voln• ši•itelných CMS Voln• p•ístupné CMS jsou nabízeny v GNU GPL licenci. V rámci této licence je ší•ený program poskytován zdarma. K dispozici k programu je i zdrojový kód. Pokud kód ovšem použijete ve svém projektu, musíte jej automaticky také ší•it pod licencí GNU GPL a dávat k dispozici sv•j zdrojový kód. Takto vydávaný program m•žete používat bez omezení jak v komer•ním, tak i nekomer•ním prost•edí. Jelikož pro implementaci dalších funkcí portálu by bylo t•eba užít zdrojového kódu ší•eného pod GNU GPL licencí, také další vytvá•ené moduly a komponenty portálu by musely být ší•eny v rámci GNU GPL spolu se zdrojovými kódy. Zp•ístupn•ní zdrojového kódu t•chto funkcionalit ovšem bylo pro Svaz IP nep•ípustné. Svoji roli v tomto rozhodnutí hrálo i riziko využití •ásti nebo celého •ešení z •ad chemickopr•myslové lobby, která se snaží také nabízet prognostické služby, nebo z •ad podnik• mimo svaz IP. Nep•ístupnost ke zdrojovému kódu u placených CMS P•ípadné zakoupení n•kterého z placených redak•ních systém• se také nejevilo jako vhodné •ešení. Svaz IP by nem•l p•ístup ke zdrojovým kód•m redak•ního systému a implementace nových funkcionalit by tak byla velmi obtížná a
21
platformov• závislá. Problémem by také byl i hosting takovýchto placených redak•ních systém•, nebo• ten je nabízen a úzce spjat spolu s jeho užíváním. Používání PHP v CMS Veškeré známe CMS systémy jsou psány ve skriptovacím jazyce PHP. Tento jazyk nelze považovat za ryze objektový a p•ípadné užití MVC vzoru pro •ešení dalších funkcionalit není portálu p•íliš podporováno jako v Java platform•. Na základ• analýzy a oponentury architektury portálu bylo zvoleno vytvo•ení vlastního redak•ního systému v Jav• jako sou•ástí •ešení celého portálu a nevyužití stávajících •ešení redak•ních systém•.
22
Kapitola 5. Správa obsahu portálu V této kapitole jsou popisovány vytvo•ené komponenty portálu, které slouží pro správu obsahu, uživatel• a kontakt• na •leny svazu a to z hlediska funk•nosti, návrhu a implementace.
5.1. Správa uživatel• Mezi požadavky na správu obsahu portálu pat•í vždy administrativní •ást pro správu uživatel•. Správa uživatel• zahrnuje pro administrátora možnosti spravovat uživatelské ú•ty pro p•ístup k obsahu portálu. Uživatelé systému jsou kategorizováni do •ty• úrovní dle oprávn•ní, jak lze p•e•íst v analýze požadavk• na portál 3.1 – „Uživatelé systému“ Uživatelské ú•ty mohou mít svoji platnost definovanou jen na ur•itý •asový úsek. Jedná se zvlášt• o uživatele z •ad platících zákazník• za služby pro jednotlivou sezónu. Mezi platící uživatele pat•í v•tšinou vina•ské obce, které se snaží v rámci své místní samosprávy informovat p•stitele vína z •ad ob•an• obcí. Administrátor v rámci správy uživatel• m•že Vytvo•it uživatelský ú•et Po vypln•ní povinných údaj• administrátorem (login, jméno, úrove• oprávn•ní, e-mail), systém vygeneruje uživateli heslo a informace o vytvo•ení ú•tu v•etn• hesla je zaslána uživateli na danou e-mailovou adresu. Uživatel pak má po p•ihlášení možnost toto heslo si kdykoliv zm•nit. Upravovat uživatelské ú•ty Administrátor má možnost pro libovolné uživatelské ú•ty upravovat jeho nastavení. M•že také prodlužovat platnost daného ú•tu. Odebrat uživatele Administrátor odstraní konkrétní uživatelský ú•et ze systému. V p•ípad•, že je daný uživatelský ú•et asociovaný s konkrétním •lenským podnikem svazu, je spolu s uživatelem odstran•na i tato asocia•ní vazba. Zobrazit uživatele pro export a tisk Administrátor si m•že zobrazit dané uživatele ve formátu pro tisk. Takto zobrazený textový formát seznamu uživatel• lze snadno exportovat nap•íklad do tabulkového procesoru Microsoft Excel, •i OpenOffice Calculator. Uživatel s vytvo•eným uživatelským ú•tem pak m•že po úsp•šném p•ihlášení na úvodní stránce svazu p•istupovat k obsahu a službám, ke kterým je oprávn•n. V p•ípad• zadání nesprávného hesla •i p•ihlašovacího jména je po krátké prodlev• uživatel upozorn•n na sv•j omyl. Tato krátká prodleva tak zabra•uje možným pokus•m o útok hrubou silou na prolomení uživatelského jména a hesla. Za v•tší a pravd•podobn•jší bezpe•nostní riziko, než pokusy o útok hrubou silou Svaz Integrované produkce pokládá možnost sd•lování p•ihlašovacích údaj• t•etím osobám, zvlášt• od platících uživatel•.
5.2. Správa •len• svazu Jelikož svaz integrované produkce je tvo•en •lenskými vina•skými podniky, které jsou v reálném sv•t• jak podnikajícími fyzickými osobami nebo velkými vina•skými závody o mnoha zam•stnancích. Z tohoto d•vodu bylo t•eba vytvo•it samostatnou databázi •len• svazu tak, aby jednotlivý vina•ský podnik mohl mít k sob• asociovaný libovolný po•et uživatel• portálu. D•ležité bylo 23
zachování informace o vazb• uživatel - •len svazu. Tato vazba byla navržena 0,m:0,n. Systém tak umož•uje, aby v•tší •lenský podnik m•l možnost mít asociováno více oprávn•ných uživatel•, nap•íklad z •ad zam•stnanc•. V budoucnosti se dá také o•ekávat, že díky možnosti •erpání dotací na r•zné druhy agroenvironmentálních opat•ení m•že jedna fyzická osoba být z•izovatelem více podnik• produkujících víno v rámci integrované produkce. •lenský podnik má také asociovánu práv• jednu složku, pro internetový obsah, zobrazitelnou na portálu. Do této složky se již ukládá struktura informací k meteostanicím daného podniku a v budoucnosti bude mít vina•ský podnik možnost ukládat sem a publikovat i informace a soubory týkající se jeho •innosti v rámci integrované produkce. Funkcionalita správy webového obsahu pro •leny svazu v asociované složce k danému •lenskému podniku bude implementována po detailn•jším prostudování požadavk• v pr•b•hu sezóny 2006, nebo• jednotlivé hodnotící zprávy, formulá•e a povinný reporting podnik• se odevzdává vedení svazu až v pr•b•hu podzimu a zimy každého roku. V sou•asnosti ješt• není jisté, zda se vedení Svazu integrované produkce poda•í prosadit mezi svými •leny povinnost uvád•t tyto údaje elektronickou formou p•es vytvo•ený portál. Podstatná •ást uživatel• z •ad •len• Svazu integrované produkce není p•íliš naklon•na užívání jim dosud neznámých a nových informa•ních technologií. Pro tyto laické po•íta•ové uživatele, kte•í jsou ale odborníky v produkci vína, je t•žké se u•it novinkám na poli informa•ních technologií. Z po•íta•ové gramotnosti v•tšinou tito uživatelé maximáln• zvládnou •íst a odesílat elektronickou poštu a •íst obsah portálu po úsp•šném p•ihlášení. Dalším problémem je nedostate•ná dostupnost p•ipojení k internetu v malých obcích Jižní Moravy a malá vybavenost po•íta•i u producent• vína. Tuto problematiku •áste•n• •ešil projekt svazu IP a Evropské unie prost•ednictvím fondu PHARE v roce 2000. V rámci tohoto projektu byla vybavena •ást •lenských podnik• výpo•etní technikou spolu s meteorologickými stanicemi, které slouží pro monitoring po•así. Implementace jednotlivých funkcí správy obsahu portálu nejen z tohoto d•vodu probíhá iterativním vývojem, kdy celá struktura systému, objektového a rela•ního modelu byla vytvo•ena již na za•átku tvorby portálu a jednotlivé díl•í rozši•ující funkce a p•ípady užití portálu jsou vytvá•eny v jednotlivých krocích a iteracích dle priority užívání. P•ípadná implementace této funkcionality není díky architektu•e portálu nikterak složitá, nebo• bude sta•it využít model i controller od stávajícího redak•ního systému a naimplementovat pouze view složku a rozší•it controller metody na zobrazován administrativní •ásti dle aktuálního p•ihlášeného uživatele s oprávn•ním na úrovni vina•ského podniku. Administrátor v rámci správy •len• svazu m•že Vložit •lenský podnik Po vypln•ní povinných údaj• administrátorem pro •lenský podnik (jméno, kontaktní údaje, název složky pro ukládání dat ), systém vytvo•í •lenský podnik spolu s asociovanou složkou pro webový obsah. Po vytvo•ení daného •lena svazu je nabídnut p•ímo p•edvypln•ný formulá• pro založení asociovaného uživatele k danému podniku. Upravovat údaje k •lenskému podniku Administrátor má možnost upravovat kontaktní údaje k danému podniku svazu integrované produkce. V budoucnosti bude mít tuto možnost.i asociovaný uživatel. Vložit asociovaného uživatele Tato funkcionalita vloží k danému •lenskému podniku asociovaného uživatele, který má pak právo spravovat informace k podniku a údaje k jeho meteostanicím. Zobrazit •leny svazu pro export a tisk
24
Administrátor si m•že nechat zobrazit •lenské podniky ve formátu pro tisk. Takto zobrazený textový formát seznamu •len• svazu lze také snadno exportovat jako u seznamu uživatel•. Funkcionalita pro odstran•ní •lena svazu dosud nebyla implementována. Ve specifikaci tohoto požadavku od svazu integrované produkce byla požadována jako málo prioritní. Za celý rok užívání systému bylo nutné manuáln• odstranit totiž pouze jediný •lenský podnik, který byl ze svazu integrované produkce vylou•en pro nepln•ní podmínek •lenství.
5.3. Správa obsahu portálu V této •ásti je popisována konkrétní funk•nost a implementace správy obsahu stránek portálu, která bývá vždy jádrem každého redak•ního systému. Webový obsah je tvo•en dv•ma základními objekty: složkami a dokumenty.
5.3.1. Složka webového obsahu Složka webového obsahu je objekt, který reprezentuje ur•itou logickou kategorii - sekci webového obsahu. Tato složka je pak p•ímo vázána na konkrétní položku naviga•ního menu a to jak nižší tak i vyšší úrovn•. Objekt složka je definován t•mito atributy: • Název složky, který je zobrazován v naviga•ním menu. • Html obsah složky, který je zobrazován v prost•edním hlavním panelu stránky. • Adresá• - cesta k adresá•i na souborovém systému v serveru - slouží pro ukládání soubor• v dané složce. • Kolekce dokument•, které jsou v ní obsaženy, set•íd•ny dle názvu. • Kolekce podsložek, které jsou v ní obsaženy, set•íd•ny dle názvu. • Minimální oprávn•ní pro p•ístup k obsahu v této složce • Rodi•ovská, nad•azená složka • Obrázek (odkaz na soubor obrázku) ikony dané složky v detailn•jším stylu zobrazení u aktualitdosud nevyužito Vazba mezi objekty dokumenty a složkami je popsána v podkapitole správa •len• svazu této kapitoly. Kolekce dokument• a podsložek je z databáze na•ítána pomocí opožd•ného (líného) na•ítání objekt•. Díky tomu se nena•ítá spolu se složkou z databáze celá její stromová struktura podsložek a dokument• do pam•ti, ale jen její základní atributy. Toto •ešení výrazn• zefektiv•uje práci s pam•tí, protože na•tení dokument• a podsložek dané složky se d•je až teprve p•i jejich použití. V ko•enové složce Menu je obsaženo p•t složek, které se vytvá•í automaticky do databáze p•i instalaci portálu pomocí instala•ních skript•: •
•
Levý panel - tato složka reprezentuje levý panel naviga•ního menu portálu, její podsložky jsou jednotlivými bloky levého panelu a jejich obsah pak položkou t•chto blok•. Main Page - složka zobrazující se na úvodní stránce jako výchozí stránka.
25
•
•
•
Pravý panel - tato složka reprezentuje levý panel naviga•ního menu portálu a obsahuje p•edem t•i definované podsložky, bloky odkaz• - aktuality, po•así a služby Signalizace vinic proti obale••m - složka obsahující signaliza•ní zprávy pro nálety obale•• do feromonových lapa••. Složka je použita v rámci komponenty sledování aktuálních nálet• obale••. SIPHV data - složka obsahující složky asociované k vina•ským podnik•m. V sou•asnosti není vázána na žádnou položku menu, bude •ešena sou•asn• s již zmi•ovanou implementací administrace složek uživateli z •ad •len• svazu.
5.3.2. Dokument webového obsahu Základním objektem obsahu na webu je dokument, který reprezentuje webový obsah zobrazený v hlavním prost•edním panelu. Dokument má definovány tyto základní atributy: • Název dokumentu který je zobrazován v naviga•ním menu • Titulek dokumentu - delší popisný text, up•es•ující název dokumentu a popisující blíže obsah dokumentu • Html obsah dokumentu, který je zobrazován v prost•edním hlavním panelu stránky • Soubor p•ipojený k dokumentu pomocí upload stránky (cesta k souboru uloženém v filesystemu serveru) Tyto soubory jsou v•tšinou PDF dokumenty s legislativou, informacemi a signaliza•ními zprávami. • Datum poslední zm•ny, editace dokumentu. Na úvodní stránce portálu jsou zobrazeny odkazy na poslední 3 modifikované dokumenty. • Relevantní odkazy vztahující se k danému dokumentu. • Kolekce klí•ových slov, které se k danému dokumentu vztahují. Doposud nebyla implementována podpora na vyhledávání dle klí•ových slov, protože tento požadavek od zadavatele má nízkou prioritu. • Minimální oprávn•ní pro p•ístup k obsahu tohoto dokumentu • Rodi•ovská, nad•azená složka • Obrázek (odkaz na soubor obrázku) ikony daného dokumentu v detailn•jším stylu zobrazení u aktualit - dosud nevyužito Zobrazování složek a dokument• v hlavním panelu •ídí centrální controller pro navigaci mezi stránkami, který zobrazí obsah požadované složky •i dokumentu. Složka v hlavním panelu zobrazuje jak sv•j HTML obsah, tak také seznam svých podsložek a dokument•. Dokumenty ve složce jsou podle svého druhu obsahu zobrazovány r•znými styly a ikonkami. V p•ípad•, že daný dokument nemá vlastní HTML obsah, ale má p•ipojený soubor, zobrazuje se 26
položka webového dokumentu s ikonkou znázor•ující soubor a odkaz dokumentu je vázaný p•ímo na p•iložený soubor. V p•ípad•, že op•t daný dokument nemá vlastní HTML obsah a má p•ipojený práv• jeden relevantní odkaz, zobrazuje se obdobn• položka dokumentu s ikonkou znázor•ující odkaz, který je pak p•ímo vázaný na daný relevantní odkaz. Zobrazené odkazy na podsložky složky jsou také odlišeny ikonkou složky.
5.3.3. Administrativní rozhraní správy dokument• Správa obsahu portálu nabízí administrátor•m a editor•m tyto funk•nosti: • • • •
• • • • •
Procházení stromové struktury všech složek a dokument• v administrativním rozhraní Vytvo•it složku s minimálním oprávn•ním rodi•ovské složky. Upravit vlastnosti složky Smazat složku v•etn• jejího obsahu (veškerý obsah složky je smazán v•etn• podsložek rekurzivn•) Vytvo•it dokument v dané složce s minimálním oprávn•ním •tení v této složce Upravit obsah dokumentu P•ipojit soubor k dokumentu jako p•ílohu Vložit a upravovat relevantní odkazy k dokumentu Odstranit dokument
Odkaz na funk•nost pro úpravu konkrétní složky •i dokumentu se editor•m zobrazuje p•ímo v hlavním panelu p•i zobrazení stránky s danou složkou •i dokumentem, což usnad•uje editor•m správu. Vrstva zobrazení obsahu portálu je tak tímto zp•sobem více provázána s administrativní vrstvou. Pro úpravu textového obsahu složky a dokumentu byl použit voln• ši•itelný HTML editor FCKeditor.1 Ten je ší•en pod licencí GNU LGPL, která umož•uje použití dynamických knihoven bez nutnosti zve•ej•ování zdrojového kódu, •ímž je tento produkt použiteln•jší pro použití i v komer•ních projektech. Pro funk•nost HTML editoru nebylo nutné upravovat zdrojové kódy a tudíž 1. FCKeditor
27
bylo možné tento produkt použít. HTML editor FCKeditor je použitelný ve všech používaných prohlíže•ích pro webové aplikace psané v PHP, Perlu, ASP.NET, Jav• a mnoha dalších díky široké podpo•e integra•ních komponent pro tyto jazyky. FCKeditor je napsaný ve skriptovacím jazyce Java Script, tudíž se spouští na stran• klienta p•ímo v internetovém prohlíže•i a jeho b•h zat•žuje mén• aplika•ní server. Vzhled, použití funkcí editoru a p•eddefinované šablony stránky lze snadno upravovat a konfigurovat. FCKeditor umož•uje díky nahrávací komponent• uploadovat na server obrázky •i jiné HTML objekty, které pak lze použít p•ímo v obsahu stránky. Mezi nesporné výhody tohoto editoru pat•í i možnost editace HTML formulá••. Tuto funkcionalitu lze v budoucnosti využít na vytvá•ení anket a dotazník• p•i užití p•edem definované šablony pro takový formulá•.
5.4. Další rozší•ení správy obsahu Jelikož rozsah požadavk•, které byly již specifikovány, není kone•ný a stále se objevují nové požadavky na funk•nost, uvádím zde n•kolik požadavk•, které nejsou pro svaz IP v sou•asné dob• prioritní, a tak bu• nejsou ješt• úpln• implementovány,aby mohly být nasazeny do ostrého provozu, nebo jsou již využívány. Mapa stránek nebo-li strukturovaný seznam odkaz• na všechny WWW stránky webu je výborným pomocníkem pro orientaci v rámci složitého, rozsáhlého webu. Uživatel, který pot•ebuje konkrétní informaci a pro kterého by bylo jinak velmi obtížné procházet složitou strukturu webu, jednoduše navštíví mapu webu, kde si relevantní WWW stránku najde a rovnou na ni p•ejde. Tato funkcionalita je již implementována a slouží svému ú•elu.2 Vyhledávání v obsahu portálu Tato funkcionalita nemá z pohledu vedení svazu IP velkou prioritu, ale každý dob•e vytvo•ený portál ji nabízí a proto je jí od za•átku v•nována zvýšená pozornost i v návrhu objektového modelu. Jelikož podstatná •ást obsahu je zabezpe•ena p•es uživatelské jméno a heslo, nelze použít k vyhledávání obsahu stránek funkcionalit cizích vyhledáva•• (google, Atomz, Jyxo). Další možností je vyhledávání pomocí existujícího Java search engine, který b•ží na stran• serveru spolu s aplikací. 3Java Search engine je poskytován zdarma a prochází daný dynamický obsah stránek i PDF soubor• a vytvá•í indexovou databázi slov. Umož•uje také obsah stránek kategorizovat, což lze využít pro definování r•zných kategorií a úrovní dle oprávn•ní uživatel• portálu. V rámci webové aplikace lze využít i jeho API. Jako t•etí možnost se jeví implementace vyhledávání vlastním •ešením v•etn• indexování klí•ových slov z PDF dokument•. RSS (Really Simple Syndication) export novinek V p•ípad• zájmu o obsah z portálu SIPHV lze snadno vytvo•it komponentu pro export novinek p•es RSS exportní kanál. Zasílání hromadných email• uživatel•m •i jejich skupin•. Pro efektivn•jší možnost poskytovat informace a spravovat •leny svazu i jiné uživatele bude b•hem sezóny 2006 vytvo•ena komponenta pro zasílání emailových zpráv z administrátorského rozhraní Správy uživatel•. 2. Mapa stránek SIPHV 3. Java Search Engine
28
Vícejazy•ný portál V sou•asnosti, ani v dohledné budoucnosti, neuvažuje vedení Svazu Integrované produkce o provozu portálu ve více jazycích. S p•ípadným p•echodem •ástí View a Controlleru aplikace na MVC framework Struts je možné, že n•které view komponenty budou nabízeny v jazykových mutacích (meteorologická mapa a signalizace nálet• obale••). Vytvá•ení anket Pomocí šablony HTML editoru by m•lo být možné v kombinaci s aplikací portálu vytvá•et dotazníky a formulá•e, jejichž vypln•ný obsah by byl automaticky serverem odesílán na danou adresu. Jelikož aplikace portálu podporuje možnost p•ijímat i odesílat elektronickou poštu, m•l by tento požadavek být snadno realizovatelný. Zasílání informace o zm•n• v dané složce V p•ípad•, že o obsah dané složky dokument• je pro uživatele relevantní, mohl by získávat uživatel informace emailem o p•ípadných zm•nách obsahu v této složce. P•i vložení nového dokumentu by obsah tohoto dokumentu mohl být i uživateli p•ímo zaslán na jeho emailovou adresu, nebo pouze jeho odkaz. Této funkcionality by šlo využít p•i d•ležitých upozorn•ních, novinkách a signalizacích.
29
Kapitola 6. Sledování nálet• obale•• Svaz Integrované produkce spolupracuje v rámci své poradenské •innosti s mnoha soukromými i ve•ejnými spole•nostmi. Jednou soukromou spole•ností je firma Biocont Laboratory ltd., jež pro své pot•eby sleduje aktuální nálety obale•• do feromonových lapa••. Feromony se z lapa•e ší•í vzduchem a p•sobí na vzdálenost n•kolika desítek až stovek metr•. Same•ci jsou tak lákáni v•ní feromonu do feromonového lapa•e, kde se p•ilepí. Informace o po•tu náletu t•chto samc• je d•ležitá pro p•stitele vína nejen z •ad •len• Svazu Integrované produkce. V rámci spolupráce s firmou Biocont tak byla vytvo•ena komponenta portálu SIPHV pro sledování t•chto nálet• obale••.
6.1. Požadavky na správu sledování nálet• obale•• Požadavky na danou komponentu byly následující: Administrativní rozhraní pro zadávání hodnot Požadavkem bylo rozhraní pro správu jednotlivých feromonový lapa•• do systému, druhu hmyzu, který daný lapa• monitoruje a pro samotné vkládání po•tu hmyzu p•i náletu v daném období. Monitoring náletu do lapa•• se provádí v pravidelných intervalech vždy 3x v týdnu, v pond•lí, st•edu a pátek. Online generování grafu pro jednotlivou lokalitu Monitorované údaje daného feromonového lapa•e se automaticky vykreslí v grafu. M••ítko hodnot grafu bude pro všechny lapa•e stejné(kv•li porovnatelnosti graf•). Zobrazení signaliza•ní zprávy pro nálety obale•• Sou•ástí komponenty na zobrazování graf• nálet• obale•• je i možnost zobrazovat signalizace a varování na stejných stránkách, spolu s doporu•eními pro p•ípadnou prevenci p•ed rozmnožením šk•dce. Tato signalizace by m•la být ve•ejn• p•ístupná, nebo• tuto službu provozuje firma Biocont. Grafický styl zobrazení komponenty Komponenta má odlišný styl zobrazení od stylu portálu SIPHV tak, aby bylo z•ejmé, že provozovatelem služby je firma Biocont Laboratory ltd. Formulá• pro získávání signalizací emailem Sou•ástí stránek s nálety obale•• by m•l být i formulá• pro p•ihlášení se k odb•ru signaliza•ních zpráv na emailovou adresu. •ešení zasílání signaliza•ních zpráv není sou•ástí požadavku. Komponenta sou•ástí portálu SIPHV Pro snadn•jší implementaci komponenty bylo vhodné využít již fungujících •ástí portálu SIPHV a to tak, aby správa sledování náletu obale•• byla jeho sou•ástí. Díky úzké provázanosti firmy Biocont a svazu IP, kde lidé z firmy Biocont mají uživatelský ú•et u svazu IP a to na úrovni editora portálu, mohla být tato komponenta takto vytvo•ena.
30
6.2. Realizace on line sledování nálet• obale•• Realizace komponenty probíhala v úvodu vina•ské sezóny 2005 ve spolupráci s Ing. Markétou Broklovou z firmy Biocont Laboratory. Na základ• prvotního požadavku bylo žádoucí, aby majitelé, správci feromonových lapa•• zadávali údaje p•es internet sami a odpadla tak zbyte•ná administrativa. Po detailn•jší analýze, kde z 6 zadavatel• údaj• m•l pouze jeden z nich p•ístup na internet a ostatní zadavatelé nam••ené údaje sd•lovali Ing. Broklové telefonicky, byla tato možnost on line správy ozna•ena jako mén• prioritní. V budoucnosti lze komponentu o tuto funkcionalitu kdykoliv snadno rozší•it. V první fázi byla navržena následující struktura t•íd: • Šk•dce, druh hmyzu (Ant) - sledovaný druh šk•dce, který nalétává do feromonového lapa•e. • Feromonový lapa• (Catcher) - za•ízení do n•hož nalétávají šk•dci a jsou u n•j sledována m••ení náletu • M••ení nálet•(Catch), po•et zachycených jedinc• ur•itého druhu hmyzu v daném lapa•i v ur•itý den. Tuto strukturu t•íd v UML , stejn• jako ERD diagram 1.1 – „ERD databáze vygenerované frameworkem Hibernate, 1. •ást“ , m•žete nalézt v p•íloze 2.1 – „Ukázka diagramu t•íd komponenty pro sledování nálet• obale••“. Implementované administrativní rozhraní umož•uje správci komponenty • • • •
Vkládat jednotlivé m••ení nálet• konkrétního šk•dce pro daný feromonový lapa• Upravovat hodnotu tohoto m••ení Odstranit m••ení Vkládat a spravovat signaliza•ní zprávy k nálet•m (uložené ve složce Signalizace k nálet•m obale••, která je jednou ze základních složek systému 5.2 – „Ukázka p•ti základních složek portálu z administrace obsahu“)
Vkládání druh• škodlivého hmyzu a nových feromonových lapa•• do systému m•že pouze uživatel s oprávn•ním administrátora. Editace a odstran•ní druhu hmyzu a feromonového lapa•e nemá implementované webové rozhraní, nebo• dané p•ípady užití jsou používány velmi z•ídka. Odstran•ní a editace t•chto údaj• jsou tak provád•ny p•ímo na úrovni databáze p•es SQL p•íkazy. Údaje o náletech obale•• jsou na ve•ejn• p•ístupných stránkách generovány do formy grafu ve formátu PNG. Vytvá•ení a online generování graf• z kolekce numerických dat umož•uje v dnešní dob• pro platformu java •ada produkt• na bázi frameworku. Takovými produkty jsou nap•íklad placený SwiftChart 1pop•ípad• GNU licencovaný JFreeChart2. Pro vytvo•ení jednoduchého generování grafu byl implementován servlet generující tento graf bez použití produkt• t•etích stran. Použití uvedených produkt• v této komponent• bylo v dob• realizace zbyte•né a p•íliš komplikované. Zvlášt• složitá se jevila integrace grafového frameworku s komponentou. Samotná Implementace grafového servletu nezabrala p•íliš •asu, nebo• jsem p•i ní •erpal z voln• 1. SwiftChart 2. JFreeChart
31
p•ístupných p•íru•ek a tutoriál• s ukázkami zdrojového kódu generovaných graf•. Java obsahuje širokou podporu pro práci s bitmapami v rámci standardní knihovny AWT - java.awt. Knihovna nabízí možnosti vkládat text do obrázk•, pracovat se základními geometrickými obrazci, vykreslovat výstup do r•zných bitmapových formát• a další.34 Pro budoucí rozši•ování nabízených služeb a tím i rozši•ování informací objevujících se v grafu, bude výhodn•jší použití produktu JFreeChart, který umož•uje svoji integraci do Java servletu. P•ípadné nahrazení grafové komponenty tedy bude p•i rozší•ení snadné.
6.3. Zkušenosti z provozu a možná rozší•ení Komponenta pro sledování nálet• obale•• již úsp•šn• funguje druhou sezónu. P•ípadné požadavky na rozší•ení této komponenty zatím vzneseny nebyly. Nejzajímav•jší a také relativn• jednoduchou možností rozší•ení této komponenty je zp•ístupn•ní zadávání hodnot více uživatel•m. Rozší•ením více feromonových lapa•• mezi •leny svazu a jejich pravidelným monitoringem by mohla vzniknout unikátní a cenná databáze šk•dc• nejen révy vinné celé jižní •ásti Moravy. Takto vybudovaná sí• feromonových lapa•• ve spojení s vybudovanou meteorologickou sítí je d•ležitým prvkem rozvoje ekologicky šetrného ošet•ování plodin. Své využití tyto cenné údaje mají pro studium druh• hmyzu, klimatu i biodiverzity. Monitorovací sí• feromonových lapa•• by m•la mít vysokou prioritu hned po vybudování a uvedení do plného provozu meteorologické mapy vinic.
3. JavaWorld 4. interval.cz
32
Kapitola 7. Meteorologická mapa vinic V této kapitole je popsána meteorologická mapa vinic, jedna z hlavních služeb portálu, co se nejen významu a p•ínosu, ale i složitosti realizace týká.
7.1. Sí• meteorologických stanic Sí• meteorologických stanic byla vybudována v roce 2000 Svazem Integrované produkce v rámci projektu PHARE s názvem Jižní Morava - Rozvoj vinohradnictví. Investorem •eského podílu finan•ního zajišt•ní •ásti projektu "Integrovaná produkce" byl Svaz integrované produkce hrozn• a vína ( SIPHV), dodavatelem této •ásti projektu byla firma GALATI Bratislava. Cíle projektu byly: • zavést technologii integrované produkce v okresech B•eclav a Znojmo • vybudovat automatickou sí• meteostanic pro pot•eby ochrany vinic • z•ídit Národní vina•ské centrum ve Valticích pro ú•ely prezentace domácích vín a zvyšování kultury spot•eby vína • z•ídit vina•ské stezky ve Valticích a v Mikulov• V rámci •ásti projektu související s integrovanou produkcí byla zavedena sí• meteostanic MeteoVitis od firmy AMET, Velké Bílovice, v po•tu 40ks v okresech B•eclav a Znojmo ke sledování meteorologických prvk• ovliv•ujících výskyt houbových chorob révy vinné a tyto meteostanice byly dovybaveny po•íta•i a programy na ochranu révy vinné. Tato sí• byla v dalších letech rozší•ena o meteostanice z dalších okres• Jižní Moravy.1 Meteostanice MeteoVitis pat•í mezi malé, uživatelsky zam••ené meteorologické stanice, registrující pot•ebné meteorologické veli•iny pro signalizaci v•tšiny houbových chorob, pro n•ž jsou dostupné metodiky a zpracované po•íta•ové programy. Výstupní datový formát umož•uje zpracování v•tšinou program• vytvo•ených Státní rostlinoléka•skou správou se sídlem v Brn•, GALATI Bratislava, pop•ípad• i jiné provenience. Nam••ené hodnoty jsou ukládány v textovém ASCII souboru s p•íponou .DAT s formátem podobným formátu CSV, kde každé m••ení všech hodnot je zadáváno na jeden textový •ádek. Takto navržený formát dat je snadno •itelný programy všech platforem a parsery textu. V každém souboru je na za•átku za •ádkem "JMENO" identifikátor meteostanice, který ji identifikuje v rámci sít• meteostanic. Uvádím p•íklad •ásti souboru stanice MeteoVitis Velehrad, ze Slovácké oblasti. "JMENO","velehrad" "TYP","00048" "VYROBNI CISLO","00002" "OBSAH ZAZNAMU" "DATUM","CAS","RELATIVNI CAS","STAV","T1[C] ","VV[%] ","OL[]","T2[C]","SRA[mm]" "10.05.2006","09:24:26", 100,"JOB", 14.85, 46.7, 1.0, 14.47, "10.05.2006","09:39:26", 100,"JOB", 15.23, 45.9, 1.0, 15.23, "10.05.2006","09:54:26", 100,"JOB", 15.62, 42.5, 1.0, 15.62,
0.0 0.0 0.0
1. Amet
33
"10.05.2006","10:09:26", 100,"JOB", 16.38, 42.0, "10.05.2006","10:24:26", 100,"JOB", 17.14, 38.3, "10.05.2006","10:39:26", 100,"JOB", 17.52, 38.3, "10.05.2006","10:54:26", 100,"JOB", 18.28, 37.0, "10.05.2006","11:09:26", 100,"JOB", 18.66, 35.9, "10.05.2006","11:24:26", 100,"JOB", 19.04, 35.1, "10.05.2006","11:39:26", 100,"JOB", 19.42, 34.3, "10.05.2006","11:54:26", 100,"JOB", 19.81, 34.3, "10.05.2006","12:09:26", 100,"JOB", 19.81, 32.8, "10.05.2006","12:24:26", 100,"JOB", 20.19, 32.3, "10.05.2006","12:39:26", 100,"JOB", 19.81, 30.2, "10.05.2006","12:54:26", 100,"JOB", 20.19, 31.9, "10.05.2006","13:09:26", 100,"JOB", 20.19, 34.2, "10.05.2006","13:24:26", 100,"JOB", 20.57, 35.5, "10.05.2006","13:39:26", 100,"JOB", 20.95, 33.8, "10.05.2006","13:54:26", 100,"JOB", 20.95, 30.5, "10.05.2006","14:09:26", 100,"JOB", 20.57, 31.8, "10.05.2006","14:24:26", 100,"JOB", 20.57, 31.8, "10.05.2006","14:39:26", 100,"JOB", 20.19, 33.2, "10.05.2006","14:54:26", 100,"JOB", 20.19, 34.1, ....... Stanice MeteoVitis m••í a registruje tyto meteorologické prvky:
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
16.0, 17.14, 17.14, 17.9, 18.28, 18.66, 19.04, 19.42, 19.42, 19.42, 19.42, 19.81, 19.81, 20.19, 20.57, 20.19, 20.19, 19.81, 19.81, 20.19,
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
• teplota vzduchu • vlhkost vzduchu • ovlh•ení list• • teplota p•dy • úhrn srážek Údaje ze sníma•• meteostanice jsou v pravidelných •asových intervalech (nej•ast•ji 15 min) ukládány do vnit•ní pam•ti registrátoru, který je lehce odnímatelný a po p•enesení k po•íta•i lze nam••ené údaje pomocí rozhraní RS232 uložit na pevný disk a dále zpracovávat výše uvedenými programy. V mimo vegeta•ním období lze získat p•ehled (nap•. pomocí programu MeteoDAT) o pr•b•hu teploty vzduchu, což je d•ležité nap•. p•i hodnocení intenzity mraz• v zim•. Vnit•ní pam•• registrátoru je natolik dosta•ující, že p•i uvedeném intervalu m••ení 15 min. vydrží zaznamenávat údaje po dobu 20 dn•, aniž by jej bylo nutno spojit s PC. Stanice MeteoVitis je vybavena dv•ma nezávislými registrátory, což zvyšuje její spolehlivost v provozu [amet].
7.2. Problematika sdílení meteorologických dat V této sekci bych se rád zabýval problematikou centralizace a sdílení meteorologických hodnot nam••ených stanicemi MeteoVitis.
7.2.1. Stávající •ešení vytvo•ené v roce 2000 Po p•enesení údaj• z datového boxu meteostanice MeteoVitis do po•íta•e probíhá další zpracování jak po stránce meteorologické, tak dochází i k vyhodnocení prognózy a signalizace houbových chorob. K meteorologickému zpracování je používán program MeteoDAT (auto•i Perutka, Juroch, Hrubý), který umož•uje z nam••ených dat provád•t nejr•zn•jší výb•ry (nap•. denní, týdenní,
34
dekádní, m•sí•ní), po•ítat sumy aktivních a efektivních teplot, pop•ípad• vyhodnocovat další podmínky [amet2]. Ukázku provedeného výb•ru pro denní a týdenní hodnoty je možno spat•it v p•íloze.3.1 – „Ukázka zpracování meteorologických dat programem meteoDat, p•evzato [amet2].“ V rámci obou projekt• (ale nejen u nich) bylo nutno vy•ešit p•edávání nam••ených údaj• dalším uživatel•m, pop•ípad• do dalších poradenských center. Jak se ukázalo, v rámci projekt• se poda•ilo získat finan•ní prost•edky na po•ízení meteorologických stanic, nikoliv však již na další náklady spojené s distribucí údaj• po dobu následujících let. V rámci •ešení p•edávání údaj• byla již v po•átku projektu zavržena varianta zasílání dat prost•ednictvím internetu na ur•itý server, z d•vodu nutné údržby takového serveru, p•ípadn• pronájmu a financí, které pro tento ú•el nebyly ur•eny. Data tak byla distribuována programem MeteoDAT na zadané e-mailové adresy jako p•ílohy ke zprávám. Na stran• p•íjemce dat byl pak nainstalován program Mcentrum, který provedl kontrolu e-mailové schránky a pokud nalezl zprávy s p•íslušnými datovými p•ílohami, doplnil již existující soubory na disku. Schéma p•vodního •ešení zasílání meteodat dalším uživatel•m pomocí elektronické pošty naleznete také v p•íloze 3.2 – „Ukázka schématu p•vodního zpracování dat, autor G. Van•k, p•evzato [amet2].“. Toto •ešení synchronizace dat m•lo své závažné nedostatky: Problémy smtp serveru p•i odesílání dat Program MeteoDat zasílající e-mailovou zprávu s meteodaty byl vytvo•en v roce 2000 a nepo•ítal s podporou odesílání zpráv p•es autentizovaný smtp server. S rozší•ením vysokorychlostního internetu ve form• ADSL, bezdrátových technologií (Wi-Fi) a dalších, se vyskytli poskytovatelé internetu používající k odesílání elektronické pošty autentizovaný smtp server. Od t•chto uživatel• nebylo možné tak získávat údaje, by• paradoxn• byly na technologicky vysp•lejší úrovní, než uživatelé p•ipojení k internetu p•es modem. Nedostate•ný p•ístup k nam••eným údaj•m Pravideln• byly zasílány údaje pouze na dv• adresy, které musely být nastaveny v programu MeteoDAT. P•ípadné p•idání dalšího p•íjemce meteodat znamenalo objet všech p•ibližn• 50 vina•ských podnik• vlastnících meteostanice a p•idat dalšího p•íjemce. Nedostate•ná kontrola meteostanic V rámci systému zasílání dat bylo aktivních pouze p•ibližn• 25 stanic z více jak 55, které pravideln• zasílaly údaje na pouze uvedené adresy. Vedení Svazu IP nem•lo dostate•ný p•ístup k informacím o stavu meteostanic, chyb•la katalogizace meteorologických stanic a nebylo je možné efektivn• spravovat. Povinnost použití programu MeteoDat pro p•ístup k meteorologickým údaj•m P•ípadní zájemci z •ad •len• SIPHV, kte•í by získávali meteodata ve form• e-mailových aktualizací, by museli mít nainstalovaný program MeteoDat na svém po•íta•i. Tento program je sice pro •leny SIPHV ur•en zdarma, ale v sou•asné dob• se objevila jeho •áste•ná nekompatibilita s nov•jšími systémy Windows. •ada •len• svazu také nepot•ebuje mít detailn•jší analýzy o meteodatech, k v•tšin• signalizací sta•í týdenní úhrny srážek, pr•m•rné týdenní teploty a ovlh•ení list•.
7.2.2. •ešení úpravou stávajícího •ešení zasílání dat V úvodní fázi realizace meteorologické mapy byla siln• zvažována a •áste•n• zrealizována možnost úpravy stávajícího •ešení zasílání meteorologických dat za pomocí elektronické pošty. 35
Bylo vytvo•eno rozhraní portálu SIPHV, které p•ijímalo meteorologická data z vytvo•ené emailové schránky
[email protected]. Soubor meteostanice z elektronické zprávy tato komponenta vkládala do systému portálu jako webový dokument s p•ílohou do ur•ené složky pat•ící konkrétní meteostanici. Tato data pak byla p•ístupná ve form• aktualizací pro program MeteoDAT. V pr•b•hu sezóny toto •ešení bylo testováno ve spolupráci s n•kolika •leny svazu a ta již ve svém pr•b•hu ukázala na nutnost toto •ešení provždy opustit a vytvo•it nové, lépe odpovídající požadavk•m a technicky realizovateln•jší. D•vody k tomuto kroku byly následující: Stále z•stávala nutnost používat program MeteoDAT jak pro zasílání aktualizací, tak i pro p•ístup k nam••eným údaj•m, nebyla by vy•ešena nedostate•ná kontrola nad stavem meteostanic a aktualizace programového vybavení a nastavení.
7.2.3. Návrh •ešení sdílení meteorologických dat Z požadavk• na zpracování dat a d•kladn•jší analýze stávajícího •ešení distribuce bylo navrženo následující schéma pro realizaci daného problému centralizace meteorologických dat. Bylo zvoleno •ešení klient - server aplikace, kde pro synchronizaci dat z lokálního po•íta•e by sloužila klientská aplikace, jež by data zasílala na centrální server. Obrázek 7.1. Schéma zpracování meteorologických dat p•es centrální server SIPHV
Z detailn•jší analýzy •ešení interaktivní meteorologické mapy vyplynuly následující požadavky. Požadavky na •ešení klientské aplikace pro synchronizaci dat byly následující: • Snadná uživatelská instalace • Automatický update aplikace p•es internet p•i nové verzi • Nezávislost na opera•ním systému a konfiguraci po•íta•e • Schopnost komunikace se serverem p•i libovolném typu p•ipojení k internetu (p•es HTTP) • Uživatelsky jednoduchá aplikace
36
• Autentizace uživatele p•i komunikaci se serverem • Aplikace synchronizuje nam••ená meteorologická data pro program MeteoDAT se serverem Požadavky na •ást serveru centrální meteorologické mapy byly následující: • Meteorologická data jsou uložena v rela•ní databázi pro snadné zpracování a analýzy • Výstupy nam••ených hodnot jsou zobrazovány více zp•soby (grafy, tabulka, soubor pro program MeteoDAT ke stažení) • Uživatelská navigace pro p•ístup k informacím dané meteorologické stanice je p•es interaktivní mapku vina•ských oblastí. • Meteorologické stanice v systému serveru se dají snadno spravovat administrativním rozhraním • Meteostanice jsou •azeny do vina•ských oblastí dle zákona • Server synchronizuje nam••ená meteorologická data pro program MeteoDAT s klientskou aplikací • Robustnost a výkon aplikace serveru V p•íloze 2.3 – „Model p•ípad• užití správy meteorologických dat a meteostanic“ je uveden UML model p•ípad• užití pro správu a p•ístup k údaj•m meteorologické mapy vinic.
7.3. Realizace meteorologické mapy vinic Realizace se skládala z implementace serveru a klientské aplikace. Nejprve bych se rád zmínil o implementaci serverové •ásti meteorologické mapy.
7.3.1. Komponenta serveru meteorologické mapy Implementace architektonické •ásti modelu z MVC serveru je identifikována t•mito persistentními t•ídami • • • • • •
meteorologická stanice a k ní vázaný vina•ský podnik m••ení teploty vzduchu dané stanice v ur•itý •as m••ení teploty p•dy dané stanice v ur•itý •as m••ení relativní vlhkosti vzduchu dané stanice v ur•itý •as m••ení ovlh•ení listu dané stanice v ur•itý •as m••ení stavu srážkom•ru dané stanice v ur•itý •as
37
Základní m••ení hodnot je provád•no v 15 minutových intervalech a tak m•sí•ní m••ení 1 meteostanice obsahuje p•ibližn• 3000 záznam•. Tyto údaje jsou pro základní použití p•íliš podrobné. Pro zpracování dat v dalších meteorologických programech jsou použity denní hodnoty, které jsou odvozené a ukládají se v objektech, jež jsou sou•ástí datového skladu odvozených hodnot, jejichž na•ítání z primárního zdroje dat by neúm•rn• zat•žovalo databázový server. Tyto odvozené hodnoty datového skladu jsou: • • • • •
denní pr•m•r z m••ení teploty vzduchu dané stanice denní pr•m•r z m••ení relativní vlhkosti vzduchu dané stanice denní pr•m•r z m••ení teploty p•dy dané stanice denní m••ení ovlh•ení listu dané stanice denní úhrn srážek dané stanice
Pr•m•rné teploty jsou po•ítány dle metodiky po•ítání pr•m•rné denní teploty uvedené na Státní rostlinoléka•ské správ• v charakteristice teplotních model•[srs]. průměrná denní teplota =
(denní minimum + denní maximum) ---------------------------2
V budoucnosti by bylo dobré tyto odvozené objekty datového skladu rozší•it o maximální a minimální denní hodnoty a sumy hodinových teplot za den, které se dají též využít v analýzách. Objekt meteorologické stanice v je definován t•mito atributy: • Identifikátor meteostanice, stejný jako v souboru .DAT programu meteostanice • Název • Popis polohy meteostanice (druh umíst•ní vinohradu,...) • Vina•ská oblast ve které se meteostanice nachází (oblasti jsou definovány dle aktuální kategorizace oblastí) • Asociovaná složka pro webový obsah - slouží pro vkládání soubor• k meteostanici a pro zálohu • Vina•ský podnik(•len svazu) odpov•dný za provoz meteostanice a na jehož vinici je meteostanice umíst•na • Pozice v map• dané oblasti pro navigaci • Poznámka - Textová poznámka k meteostanici, týkající se jejího stavu •i jiných vlastností. V p•íloze 2.4 – „Doménový model objektu meteostanice a m••ených údaj•, 1. •ást“ je uveden doménový model t•chto objekt•.
38
Implementace view na stran• serveru je reprezentována t•mito •ástmi: • Webovým rozhraním pro správu meteostanic4.4 – „Ukázka rozhraní administrace meteostanic“ • Navigací meteorologické mapy 4.1 – „Ukázka navigace v meteorologické map•“ • Výstupy denních teplot vzduchu ve form• grafu (•ešení obdobné jako u nálet• obale••) 4.2 – „Ukázka výstupu m••ení v podob• grafu“ • Výstupy odvozených hodnot ve form• tabulky 4.3 – „Ukázka výstupu m••ení v podob• tabulky“ • Výstupem ve formátu souboru .DAT pro program MeteoDAT Implementace controlleru •eší navigaci a opera•ní logiku mezi modelem a view v administrativní •ásti a v •ásti pro zobrazování hodnot. Uvádím zde dva d•ležité controllery v systému meteorologické mapy a jejich funk•nost. První controller slouží pro vkládání meteorologických dat ve formátu .DAT do systému a to pro všechna klientská rozhraní (Web, klientská aplikace) . Controller p•ijímá multipart -request z Http se souborem programu MeteoDAT jenž je zpracován pomocí t•ídy pro parsování dat a uložen do databáze SIPHV. Druhý controller má opa•nou funk•nost a slouží pro generování souboru .DAT z meteorologických dat uložených v systému za ur•ité období. To umož•uje uživatel•m si stáhnout soubor ve formátu programu MeteoDat a pracovat s ním na svém lokálním po•íta•i v MeteoDATu stejn•, jakoby uživatel fyzicky vlastnil tuto meteostanici.
7.3.2. Klientská aplikace pro synchronizaci dat Aplikace pro synchronizaci dat je jednoduchý javovský program s jednoduchým uživatelským rozhraním. Klientská aplikace po stisknutí tla•ítka "zobraz meteostanice" na•te meteostanice uložené v datovém úložišti meteorologických dat. Toto úložišt• je v adresá•i programu MeteoDAT C:\Meteo. Aplikace po na•tení stanic z pevného disku prov••í aktuálnost - stav jejich dat ve srovnání daty uloženými na serveru SIPHV. Nastat mohou tyto stavy meteorologických dat: Meteostanice v po•íta•i má aktuáln•jší m••ení Data v souboru meteostanice jsou nov•jší než na serveru a tato data budou odeslána z lokálního po•íta•e na server (v aplikaci je u stanice zobrazeno status: -->>) Meteostanice v po•íta•i má starší m••ení Na serveru se vyskytuje aktualizace pro meteostanici, jejíž data mám uložena v po•íta•i (byla stažena z portálu SIPHV). (v aplikaci je u stanice zobrazeno status: << --) Data jsou synchronizovaná Data meteostanice jsou na serveru i v lokálním po•íta•i identická.(v aplikaci je u stanice zobrazeno status: OK) Meteorologická stanice není v systému serveru Meteorologická stanice s identifikátorem (uvedený v souboru stanice) neexistuje v seznamu meteostanic serveru. V tomto p•ípad• je t•eba se obrátit na správce meteostanic.(v aplikaci není u stanice zobrazena žádná informace o statutu dat) Po stisknutí tla•ítka "synchronizuj data" se nejprve klientská aplikace autentizuje na server pomocí
39
uživatelského jména a hesla uživatele s minimálním oprávn•ním •lena Svazu IP a teprve poté jsou data synchronizována. Uživateli je pak zobrazen aktuální stav meteostanic a jejich dat. Aplikace komunikuje se serverem p•es protokol HTTP. Byly zvažovány i jiné protokoly komunikace klient-server. Možné se jevily protokoly RMI, CORBA, SOAP. Jejich využití bylo zavrženo z nutnosti upravovat i serverovou •ást pro komunikaci a nemožnost využít již stávajícího HTTP rozhraní webového serveru. P•enos dat nevyžadoval p•enos žádných složitých objekt•, pouze ASCII textu a pro toto se také díky své jednoduchosti hodil i protokol HTTP. Možnost použití SOAP protokolu, který je postaven na HTTP, bylo zavržena pro náro•nost SOAPu na systémové prost•edky klientského stroje i serveru. Pro komunikaci p•es HTTP je použita komponenta HTTPClient od Apache foundation2. Díky této komponent• lze v klientské aplikaci používat výhody práce javy s HTTP. Komponent• také ne•iní problém komunikace p•es proxy server, odesílání GET i POST HTTP request•, v•etn• multipart request• s p•ílohami.
7.3.3. Distribuce klientské aplikace a její technologické •ešení K vytvo•ení klientské aplikace byla použita technologie Java Web Start3, která umož•uje snadnou distribuci a instalaci klientské GUI aplikace bez nutnosti složité distribuce na klientské aplikace. Java Web Start technologie má oproti klasicky distribuovaným desktopovým aplikacím v Jav• mnoho výhod. Web Start aplikace používají internetový prohlíže• (Web Start - spustitelné z webu) jako prost•edek k instalaci aplikace. V praxi to probíhá tak, že koncový uživatel klikne na spoušt•cí skript Java Web Start (soubor JNLP) na internetových stránkách a aplikace se sama nainstaluje a spustí. Potom tuto aplikaci m•žete spoušt•t také z prost•edí Java Web Start, které vytvá•í jakousi druhou pracovní plochu s aplikacemi, nebo p•ímo z pracovní plochy, kam se vám p•i instalaci vytvo•í ikonka vaší aplikace. Web Start aplikace si m•že vyžádat r•zné verze Javy, které pot•ebuje. Tato verze se také automaticky nainstaluje. Odpadá tedy problém s kompatibilitou jednotlivých verzí javy. Bezpe•nostní práva aplikací, které spustíte ze sít•, jsou omezená. V p•ípad•, že chcete mít pro svoji aplikaci veškerá práva p•ístupu, musí mít digitáln• podepsané jar soubory. Aplikace je tak podepsána certifikátem a uživatel si m•že být jist, že aplikace nainstalovaná v jeho po•íta•i je opravdu od daného poskytovatele.[jws] Aplikace Java Web Start je klasická java aplikace. Nemusí mít tedy žádného p•edka typu Applet a její provoz není závislý na webovém prohlíže•i. Pouze pro •innosti, které vyžadují další práva, musíte používat speciální API, pokud ovšem nemáte aplikaci digitáln• podepsánu. Nainstalovaná aplikace je cachována v prost•edí Java Web Start a proto se spouští velice rychle. Ješt• p•edtím, než se ale aplikace spustí, Java Web Start zkontroluje, jestli není k dispozici nov•jší verze, kterou by potom automaticky nainstalovalo. Java Web Start je referen•ní implementací, která je zdarma poskytována spolu s JRE/JDK. Instalace Java Web Start se distribuuje spolu s JRE (runtime environment), které si m•žete zdarma stáhnout z java.sun.com. Na windows se nainstaluje toto prost•edí nainstaluje automaticky. Výhoda aplikace klientské v prost•edí java je tak její platformová nezávislost. Vytvo•ená klientská aplikace je uložena na webovém serveru a je definována v souboru JNLP, který funguje jako spoušt•cí skript. Finální odkaz na aplikaci není odkaz na soubor jar, ale na soubor JNLP, který zajistí spušt•ní Java Web Start. Uvádím okomentovaný p•íklad souboru JNLP pro klientskou aplikaci Svazu IP. 2. Amet 3. Java WebStart
40
<jnlp codebase="http://siphv.artemon.cz:8080/vino-ip/client/" href="MeteoClient.jnlp" version="0.9.85">
SIPHV MeteoClient SIPHV - Svaz integrovane produkce hroznu a vina <description>Klient pro synchronizaci meteodat se serverem <shortcut online="false"> <desktop/> <menu submenu="SIPHV"/> <j2se href="http://java.sun.com/products/autodl/j2se" version="1.5+"/> <jar href="dist/lib/commons-httpclient-3.0.jar" /> <jar href="dist/lib/commons-codec-1.3.jar" /> <jar href="dist/lib/commons-logging.jar" /> <property name="SIPHV_SERVER" value="http://siphv.artemon.cz:8080/vino-ip/"/> <jar href="dist/MeteoClient.jar" main="true"/> <jar href="dist/lib/swing-layout-1.0.jar" /> <jar href="dist/lib/jnlp.jar" /> <jar href="dist/lib/jnlp-servlet.jar" /> <argument>SIPHV_SERVER=http://siphv.artemon.cz:8080/vino-ip/ 41
<security>
7.4. Uvedení do praxe a možná rozší•ení Meteorologická mapa vinic byla oficiáln• uvedena do provozu a prezentována na veletrhu Vinex v Brn• v b•eznu tohoto roku. Do systému meteorologických stanic byly vloženy stanice s nam••enými údaji z minulých let a ty jsou také dnes p•ístupné. Zprovozn•ní aktualizace t•chto meteorologických stanic nov• nam••enými údaji se potýká s následujícími p•ekážkami, které jsou charakteristické pro zavád•ní nové technologie do systému s velkým po•tem uživatel•: Neochota uživatel• meteostanic používat nové technologie P•i zavád•ní nového informa•ního systému se vyskytne ur•ité množství uživatel•, kte•í se neradi u•í používat nové technologie a postupy. A• byl vytvo•ený systém meteorologické mapy dostate•n• prezentován na seminá•ích Svazu IP, je rozši•ování systému meteorologické mapy mezi uživatele stále v zárodku. •ada uživatel• z •ad producent• vína k této nové technologii p•istupuje s ned•v•rou. Problém proškolení administrativního pracovníka na správu meteostanic Systém správy meteostanic pot•ebuje k svému chodu mít dostate•n• schopného pracovníka pracujícího s celým systémem meteorologické mapy. Pro ú•ely administrace byl Svazem IP ur•en pan RNDr. Tomáš Litschmann, který má na starost servis meteorologických stanic ve vlastnictví svazu. Po úvodním p•edstavení systému bylo t•eba pana Litschmanna dostate•n• proškolit na chování systému meteorologické mapy spolu s klientskou aplikací. Vkládání stanic do systému Jelikož z více jak 60 stanic je v systému meteorologické mapy vloženo necelých 40 meteostanic, je stále dostatek stanic, které nejsou v systému zaneseny. Problém s nastavením klientské aplikace Pro n•které uživatele klientské aplikace je problém správn• nakonfigurovat p•ipojení klientské aplikace p•es HTTP proxy server, pokud jej používají. Cílem Svazu Integrované produkce je mít b•hem sezóny 2006 zaneseny v systému meteorologické mapy veškeré své stanice a od všech svých funk•ních stanic mít k dispozici jejich aktuální data. Po spln•ní tohoto cíle lze pak uvažovat o dalších rozší•eních pro systém meteorologické mapy a to: • •
rozší•ení odvozených hodnot pro analýzu ze základních nam••ených údaj•. rozší•ení výstup• odvozených meteorologických údaj• ve formátu grafu publikovaných na 42
internetu. •
•
povýšení databáze MySQL na nov•jší verzi nebo zm•na na jiný robustn•jší databázový systém. Systém meteorologické mapy je rozsáhlý a už v této dob• obsahuje p•es 10 000 000 meteorologických záznam• a zat•žuje tak databázový server. používání nových online meteorologických stanic MeteoUNI4, které jsou p•ipojeny do internetu p•es GPRS modem a samy komunikují se serverem p•es protokol HTTP. Toto •ešení by v budoucnosti nevyžadovalo tak •asté návšt•vy meteostanic ze strany vina•e. Navíc by data byla poskytována serveru aktuáln•ji v denních intervalech. Jedinou p•ekážkou pro používání nových meteostanic MeteoUNI, nebo pro rozší•ení stávajících o komunika•ní modul, je nedostatek pot•ebných financí.
4. MeteoUNI
43
Kapitola 8. Záv•r Tato práce popisuje realizaci a uvedení v praxi poradenského portálu pro integrovanou produkci hrozn• a vína, který je svými poskytovanými službami unikátní nejen v rámci integrované produkce vína, ale v rámci celé ekologicky šetrné produkce. Díky trend•m, které ve vysp•lé Evrop• vládnou, bude d•ležitost ekologie a trvale udržitelného rozvoje ve všech •lenských zemích dále r•st. Práce tak svojí praktickou realizací ukazuje potenciál a d•ležitost používání moderních informa•ních technologií ve spolupráci s tradi•ními, ekologicky šetrnými, zem•d•lskými odv•tvími. Práce na konkrétní realizaci portálu popisuje analýzu, architekturu, realizaci nasazení a zkušenosti z provozu celého systému, pokud možno v souladu s postupy ov••enými v praxi. •tená• práce má tak možnost setkat se s principy unikátní realizace na míru vytvo•eného informa•ního systému v ekologicky šetrné produkci. Dodržení t•chto princip•, jako správn• navržené architektury a pochopení požadavk• zákazníka, je d•ležité pro následující rozvoj informa•ního systému. Stejn• tak i portál Svazu Integrované produkce byl navržen pro budoucí možnost rozši•ování svých služeb. Tyto rozsáhlé a plánované možnosti rozši•ování služeb portálu jsou v práci u každé komponenty zmín•ny. Vytvo•ený portál naleznete na internetu na stránkách www.vino-ip.cz [http://www.vino-ip.cz].
44
P•íloha 1. ERD portálu
45
P•íloha 2. UML modely portálu
Obrázek 2.3. Model p•ípad• užití správy meteorologických dat a meteostanic
46
Obrázek 2.4. Doménový model objektu meteostanice a m••ených údaj•, 1. •ást
47
Obrázek 2.5. Doménový model objektu meteostanice a m••ených údaj•, 2. •ást
48
49
P•íloha 3. Ukázky zpracování meteorologických dat Obrázek 3.1. Ukázka zpracování meteorologických dat programem meteoDat, p•evzato [amet2].
Obrázek 3.2. Ukázka schématu p•vodního zpracování dat, autor G. Van•k, p•evzato [amet2].
50
51
P•íloha 4. Meteorologická mapa SIPHV Obrázek 4.1. Ukázka navigace v meteorologické map•
Obrázek 4.2. Ukázka výstupu m••ení v podob• grafu
52
Obrázek 4.3. Ukázka výstupu m••ení v podob• tabulky
53
Obrázek 4.4. Ukázka rozhraní administrace meteostanic
54
P•íloha 5. Obsah CD Sou•ástí této práce je také CD. Obsah: • Zdrojový kód této práce ve formátu XML (podle DTD DocBook), samotná práce v n•kolika r•zných formátech. • Zdrojové kódy aplikace portálu. Tyto zdrojové kódy jsou ve vlastnictví Svazu Integrované produkce a jejich použití je ur•eno licen•ními podmínkami uvedenými na disku CD. • UML modely t•íd vygenerované ze zdrojových text• pomocí CASE nástroje Enterprise Architect.
55
Literatura [Schiefer] Gerhard Schiefer a Anne Catharina Kreuder, Vertical and horizontal information portals: cooperation models for sector and chain information services, 2001 World Food and Agribusiness Forum Presentations,, 2001, http://www.ifama.org/conferences/2001Conference/Papers/Area%20III/Schiefer_Gerhard.P DF, [Machacek] Lukáš Machá•ek, Webový portál v•novaný syntaktické analýze p•irozeného jazyka, Bakalá•ská práce, Fakulta informatiky Masarykovy univerzity v Brn•, 2002, http://www.fi.muni.cz/~xpavlov/xml/examples/bc2/bc2.pdf, [Barray] C. Barray, The Model–View–Controller Design Pattern, Indiana University, 1999, http://www.cs.indiana.edu/~cbaray/projects/mvc.html, [Best Practise] Kolektiv autor•, Best practice – Pravidla pro tvorbu p•ístupného webu, Ministerstvo informatiky •eské republiky, 2004, http://www.micr.cz/files/1510/mi-FINALBP_web_pristupnost-20040722.pdf, [Woodcock] J. Woodcock, Slovník výpo•etní techniky, Praha, Microsoft Press, 1993, 80-85297-48-5., [Tichy] J. Tichý, Programová podpora tvorby webových aplikací, diplomová práce, Praha, Vysoká škola ekonomická, 2004, http://www.jantichy.cz/diplomka/ [http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/webtier/web-tier5.html], [Sun] Sun Microsystems, Model–View–Controller, Sun Microsystems, 2002, http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/webtier/web-tier5.html, [Biocont] M. Hluchý, P. Ackermann, M. Zacharda, M. Bagar, E. Jetmarová a G. Van•k, Obrazový atlas chorob a šk•dc• ovocných d•evin a révy vinné, Biocont Laboratory ltd., 1997, 80-901874-2-1, [amet] T. Litschmann, Meteostanice MeteoVitis, Amet spol. s.r. o., 2001, www.amet.cz/meteovitis.htm, [amet2] T. Litschmann, VYUŽITÍ MIKROKLIMATICKÝCH STANIC V SYSTÉMU INTEGROVANÉ PRODUKCE HROZN• NA JIŽNÍ MORAV•, Amet spol. s.r. o., 2005, http://fzki.uniag.sk/web/bpd2004/content/03Sekcia_vinohradnictva_a_vinarstva/Litschman n2.pdf, [srs] Referát metod ochrany rostlin Státní rostlinoléka•ské správy v Brn•, Automatické meteorologické stanice SRS - Teplotní modely, Státní rostlinoléka•ská správa v Brn•, 2003, http://www.srs.cz/omor/app?service=page/TeplotniModely, [jws] V. Patrný, Java Web Start, Linuxzone.cz, 2003, http://www.linuxzone.cz/index.phtml?ids=2&idc=637,
56
Rejst•ík
definována. komponentová architektura, Chyba! Záložka není definována.
A
M
CMS, Chyba! Záložka není definována. Content Managment System, Chyba! Záložka není definována. corporate design, Chyba! Záložka není definována.
Mapa stránek, Chyba! Záložka není definována. MeteoDAT, Chyba! Záložka není definována. Meteorologická mapa, Chyba! Záložka není definována., Chyba! Záložka není definována. meteorologická stanice, Chyba! Záložka není definována. MeteoVitis, Chyba! Záložka není definována. Model - View - Controller, Chyba! Záložka není definována. MVC, Chyba! Záložka není definována.
D
O
agroenvironmentální opat•ení, Chyba! Záložka není definována. architektura, Chyba! Záložka není definována. AWT, Chyba! Záložka není definována.
C
datový sklad, Chyba! Záložka není definována. Dokument webového obsahu, Chyba! Záložka není definována. dokumentový portál, Chyba! Záložka není definována. FCKeditor, Chyba! Záložka není definována.
G
GNU/GPL, Chyba! Záložka není definována.
H
Hibernate Framework, Chyba! Záložka není definována., Chyba! Záložka není definována. horizontální portály, Chyba! Záložka není definována. HQL Hibernate Query Language, Chyba! Záložka není definována. HTML Editor, Chyba! Záložka není definována. integrovaná produkce, Chyba! Záložka definována. internet, Chyba! Záložka není definována.
není
J
Java, Chyba! Záložka není definována. Java Web Start, Chyba! Záložka není definována. JDK, Chyba! Záložka není definována. JNLP, Chyba! Záložka není definována., Chyba! Záložka není definována. JRE, Chyba! Záložka není definována.
K
P
PHARE, Chyba! Záložka není definována.
R
F
I
ORM - objektov• rela•ní mapování, Chyba! Záložka není definována.
klient - server aplikace, Chyba! Záložka není
redak•ní systém, Chyba! Záložka není definována. Rozcestník, Chyba! Záložka není definována. rozcestníkový portál, Chyba! Záložka není definována. RSS - Really Simple Syndication, Chyba! Záložka není definována.
S
Složka webového obsahu, Chyba! Záložka není definována. Spring framework, Chyba! Záložka není definována. Struts, Chyba! Záložka není definována., Chyba! Záložka není definována.
U
UML, Chyba! Záložka není definována., Chyba! Záložka není definována., Chyba! Záložka není definována., Chyba! Záložka není definována. Uživatelé systému, Chyba! Záložka není definována.
V
vertikální portály, Chyba! Záložka není definována. Vyhledávání obsahu portálu, Chyba! Záložka není definována.
W
webový portál, Chyba! Záložka není definována.,
57
Chyba! Záložka není definována. www.vino-ip.czí, Chyba! Záložka není definována., Chyba! Záložka není definována. WYSIWYG, Chyba! Záložka není definována.
58