elektronická verzia publikácie - FIIT STU - Slovenská technická ...
elektronická verzia publikácie - FIIT STU - Slovenská technická ...
elektronická verzia publikácie - FIIT STU - Slovenská technická ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
82 Štúdie vybraných tém programových a informaných systémov<br />
3. možnos využi pri tvorbe systému už existujúcu implementáciu jednotlivých krokov<br />
spracovania, prípadne naopak, opakovane použi implementáciu jednotlivých krokov<br />
spracovania v nových kontextoch.<br />
Predpokladom pre použitie tohto architektonického vzoru je, že požadované spracovanie<br />
údajov môžeme rozdeli na postupnos krokov spracovania, a to tak, že nesusedné kroky<br />
spracovania nezdieajú informácie – t.j. komunikácia v systéme je obmedzená na odovzdávanie<br />
informácií smerom od daného kroku spracovania k jeho nasledovníkovi (v niektorých<br />
prípadoch nasledovníkom) v postupnosti krokov spracovania.<br />
Systém založený na architektúre Dátovody a filtre pozostáva z nasledujúcich druhov<br />
súiastok (Buschmann, 1996). Prvé dva predstavujú vstup a výstup vytváraného systému,<br />
posledné dva tvoria jeho vnútornú štruktúru.<br />
1. Zdroj údajov (angl. data source) – predstavuje zdroj, ktorý obsahuje alebo generuje<br />
údaje urené na spracovanie systémom, napr. súbor, klávesnica, senzor, sieové spojenie.<br />
2. Dátový spotrebi (angl. data sink) – predstavuje cie, kam sú údaje po spracovaní systémom<br />
odoslané, napr. súbor, obrazovka, databázová tabuka, sieové spojenie.<br />
3. Filter (angl. filter) – predstavuje jeden krok spracovania. Filter má zvyajne jeden<br />
vstup, z ktorého prijíma prichádzajúce údaje. Tieto údaje spracuje a pošle zvyajne<br />
na jeden výstup. Existujú varianty tohto vzoru, kedy filter môže ma viac vstupov,<br />
resp. viac výstupov. Filter zvyajne nemá vnútorný stav, teda spracovanie prichádzajúcich<br />
údajov je typicky závislé len od týchto údajov.<br />
Príkladmi úloh vykonávaných filtrami sú transformácia údajov, doplnenie údajov informáciami<br />
odvodenými z týchto údajov prípadne z externého zdroja, odstránenie<br />
asti údajov, usporiadanie údajov (táto operácia vyžaduje vnútorný stav filtra)<br />
a podobne.<br />
Množina filtrov môže by realizovaná programovým kódom v rámci jedného procesu<br />
(kedy jednotlivé filtre sú realizované procedúrami, funkciami alebo metódami tried<br />
v programovacom jazyku), ale aj programovým kódom distribuovaným vo viacerých<br />
procesoch, i už na jednom alebo rôznych poítaoch v poítaovej sieti. Jednotlivé<br />
filtre sú vtedy implementované v samostatných procesoch.<br />
4. Dátovod (angl. pipe) – spája jednotlivé filtre, resp. zdroj údajov s prvým filtrom<br />
v postupnosti spracovania a posledný filter v postupnosti spracovania s dátovým<br />
spotrebiom. Dátovody môžu by realizované prostriedkami v rámci jedného procesu<br />
(napríklad volaním procedúry, funkcie, resp. metódy), prostriedkami medziprocesovej<br />
komunikácie v rámci jedného poítaa (napríklad dátovody na úrovni operaného<br />
systému) alebo prostriedkami medziprocesovej komunikácie v rámci poítaovej siete<br />
(napríklad TCP sokety).<br />
Dátovody v prípade potreby zabezpeujú synchronizáciu medzi úastníkmi komunikácie,<br />
t.j. ukladajú správy v rade, kým ich príslušná komunikujúca strana neprevezme.<br />
Vzor predpokladá neobmedzenú kapacitu vyrovnávacej pamäte (angl. buffer) dátovodu.