Server GIS¶
Počítačové systémy jsou v současné době většinou postaveny na architektuře server - klient. Klient je program, který posílá prostřednictvím definovaného protokolu požadavky (žádá o službu) na server. Server (resp. specializovaný software na serveru) požadavky odbavuje, a posílá klientovi zpět požadovaná data. Jde o síťovou architekturu, která odděluje klienta (často aplikaci s grafickým uživatelským rozhraním) a server, kteří spolu komunikují přes počítačovou síť.
Rozdělení systémů na bázi jedné velké monolitické aplikace na klienty a více serverů vede k:
Výhody
rozdělení jednotlivých úloh
možnosti menších, ale specializovaných programů
větší modularitě systémů - lze aktualizovat či vyměňovat části systému, aniž by to mělo fatální dopad na celek, snadnější údržba
propojovat navzájem nekompatibilní technologie prostřednictvím aplikačních rozhraní (API)
data uložená na serveru jsou relativně bezpečněji uložená než data uložená na klientovi
centrální úložiště vede k větší aktuálnosti dat
Nevýhody
dochází k velkému přetěžování sítě a k závislosti na síťové infrastruktuře vůbec
architektura server-klient není tak robustní ve srovnání s P2P architekturou (klient se zároveň stává uzlem sítě)
Mezi základní charakteristiky patří:
Klient je
aktivní
posílá žádosti
čeká a dostává odpovědi
obvykle je připojen k menšímu počtu serverů najednou
obvykle komunikuje s koncovým uživatelem (má uživatelské rozhraní)
Server je
pasivní
naslouchá na síti a reaguje na žádosti
obsluhuje požadavky
API¶
Klient se serverem komunikuje vždy prostřednictvím definovaného aplikačního rozhraní - API (Application Programming Interface). Je v podstatě jedno jak je API definováno, podstatné je, aby bylo stabilní a v čase neměnné tak, aby se jednotlivé části systému server-klient daly nahrazovat a měnit.
Vztah server-klient¶
Přidělené rolí na server a klient nemusí být bezvýhradné. Jedná se o způsob, jakým vystupují navenek a ne o absolutní roli v rámci systému. Serverová aplikace může (a často se tak děje) vystupovat jako klient vůči jiné serverové aplikaci.
Například mapový server poskytující obrazové podkladové mapy může vystupovat jako klient vůči jinému serveru WFS, ze kterého si může stáhnout potřebná vektorová data.
Úlohy serverů v GIS systémech¶
Běh geografických informačních systémů vyžaduje režii společnou pro všechny informační systémy jako je autorizace a autentifikace uživatelů, správa uživatelů celkově, logování došlých požadavků, monitoring a reporting stavu systémů v reálném čase ale i v průběhu historie a podobně.
Primárním smyslem informačních systémů je správa datových sad, jejich údržba, aktualizace, zpřístupnění autorizovaným uživatelům. V případě geografických informačních systémů se jedná zejména o zpřístupnění a správu geografických datových sad.
Servery specifické pro oblast GIS můžeme podle funkce a zaměření rozdělit do následujících skupin:
servery pro správu a poskytování prostorových dat,
servery pro správu metadat,
processingové (výpočetní) servery,
servery pro geotagging (geokódování).
V praxi se samozřejmě stává, že jeden projekt (produkt) umí najednou obsloužit více skupin požadavků (např. GeoServer je primárně určen pro poskytování dat, s příslušným zásuvným modulem umí ale obsloužit i processingovou službu, ArcGIS firmy ESRI je na tom podobně).
Servery pro správu a poskytování geografických dat¶
Jedná se o asi největší skupinu serverů, souhrnně se označují jako mapové servery či mapservery. Obecně se jedná o servery poskytující geografická data na základě požadavku klienta.
Data mohou být buď surová - tedy přímo otisk souborů a databází uložených na serveru, nebo nějakým způsobem pozměněná případně se může jednat pouze o mapový náhled na zdrojová data.
Mapové servery se dále dělí na statické a dynamické podle toho, jestli poskytují předgenerovaná (statická) data (např. FTP servery, data zpřístupněná pomocí souborů Atom nebo třeba dlaždicové servery poskytující předgenerované dlaždice pro předem definovaná mapová měřítka a rozsah) nebo jestli výslednou odpověď „skládají“ až na základně vstupných požadavků, které se mohou měnit (což jsou typické webové mapové servery).
Podle druhu výstupných dat a zejména aplikačních rozhraní (API) můžeme rozlišit:
- Webové mapové servery
poskytující dynamicky vykreslené mapy, náhledy vstupních dat - ale nikoliv data samotná
- Webové dlaždicové servery
poskytující statické dlaždice (rastrové i vektorové) pro definovanou sadu měřítek a definovaný počátek sítě dlaždic
- Dynamické datové servery
poskytující zdrojová data (rastrová nebo vektorová). Je možné, že server původní data lehce přizpůsobí požadavkům klienta (transformuje je do cílového souřadnicového systému, aplikuje požadovaný filtr, takže nevrací celý dataset, ale pouze jeho výsek), a tak dále, data však nejsou žádným způsobem „znehodnocena“ a vždy je lze považovat za primární.
- Statické datové servery
data jsou dostupná ve formě nejčastěji statických souborů, které si klient jednoduše stáhne. Nejčastěji se může jednat o FTP server.
- Senzorové servery
senzorové servery jsou zvláštním případem dynamických datových serverů, poskytující měření ze senzorových sítí - ať již on-line nebo s možností filtrování dat zpětně do historie. Senzory mohou být buď staticky umístěné (např. meteorologická budka) nebo pohyblivé („čapí baťůžek“ nebo automobil).
Senzory mohou být propojeny do sítí, ve kterých si jednotlivé prvky předávájí svá měření a navzájem se informují o svém aktuálním stavu.
Poznámka
K datovým serverům se nejčastěji přistupuje prostřednictvím standardů (Standardy v GIS) a webových služeb jako je OGC Web Map Service - WMS, OGC Web Feature Service - WFS, OGC Web Coverage Service - WCS, OGC Web Map Tiled Service - WMTS a dalších. Tyto standardy jsou popsány v dalších částech tohoto textu.
Servery pro správu metadat¶
Metadata jsou data o datech - tedy informace o nich. Jako příklad se udává nejčastěji katalogizační lístek v knihovně obsahující informaci o dané knize (název, autor, rok vydání, klíčová slova, …).
Metadata pro oblast GIS (Geospatial metadata) udržují metadatové servery. Metadata jsou uložena podle určitého standardu (např. Dublin Core nebo ISO 19115).
V oblasti geografických dat se spravují
metadata dat - tedy primárních vstupních dat
metadata služeb - tedy OGC Web Map Service - WMS a dalších webových služeb
metadata aplikací - tedy webových mapových aplikací a datových sad
Pro přenos metadat se používá nejčastěji standard OGC Catalogue Service for Web.
Poznámka
Metadatové servery a metadata obecně jsou velice důležité pro udržení pořádku v datových sadách a publikovaných webových službách. Organizace nemající v pořádku metadata se bude brzy potýkat s problémem neznalosti původu dat a jejich životního cyklu.
Metadata lze samozřejmě zajistit i jinými prostředky, např. pomocí textových souborů a jejich důsledném vyplňování.
Poznámka
Metadatové servery a metadata pro prostorová data se v poslední době kombinují se systémy pro správu otevřených dat, např. v systému CKAN.
Processingové servery¶
Processingové servery neposkytují data, ale analytické funkce (procesy) nad geografickými daty. Těmito procesy může být jednoduchá operace - jako sečtení hodnot buněk dvou rastrových map - nebo komplexní operace - jako výpočet globální změny klimatu. Procesy nejsou předem definovány, ale často se jedná o standardní GIS úlohy (obalové zóny, průnik vektorových objektů, rastrová mapová algebra) a jejich kombinaci do komplexních modelů.
Vstupní data lze poslat spolu se žádostí o jejich zpracování nebo na ně odkázat, aby si je processingová služba stáhla sama. Výstupem jsou buď textová, tabelární nebo geografická data (např. interpolovaná rastrová mapa ze vstupních bodových vektorových dat).
Výhody processingových služeb jsou
možnost standardního opakovatelného výstupu pro všechny klienty
přesunutí zátěže z lokálního počítače na server
centrální správa procesů, jejich aktualizace, údržba
Poznámka
Pomocí processingových služeb lze v podstatě implementovat libovolnou jinou webovou službu, protože definice vstupních a výstupních dat je značně obecná. Pro speciální úlohy (publikace dat, map) se ale v praxi využívají speciální typy služeb.
Servery pro geotagging (geocoding)¶
Mohli bychom říct, že Geotagging je speciální případ processingové služby. Jde o proces, kdy ze vstupních textových dat se odvozují prostorové objekty. Pomocí geotaggingu se např. z adres získávají bodová data konkrétní lokalizace dané adresy, z textu se vyhledávají klíčová slova a jejich tvary a dovozují se jejich prostorová lokalizace (např. Krkonoše, Babiččino údolí, Kolín - Zálabí a podobně).
V následující části se podíváme na seznam některých otevřených programů pro řešení serverových úloh pro GIS.