Využití protokolu XMPP pro předávání geografických informací v reálném čase



Podobné dokumenty
Alena Malovaná, MAL305

Publikování map na webu - WMS

Mapové služby podle OGC

1. Webové služby. K čemu slouží? 2. RPC Web Service. 3. SOA Web Service. 4. RESTful Web services

l Kontakt s klientem SSP Popis automatizované komunikace s ÚP ČR v součinnosti a exekuci

INSPIRE prohĺıžecí a stahovací služby pro témata AD a AU. témata Adresy a Územní správní jednotky

Tvorba informačních systémů

METADATOVÝ PORTÁL A KATALOGOVÉ SLUŽBY. Štěpán Kafka

Přehled mezinárodních norem (ISO) Označení mezinárodní normy Názvy mezinárodních norem Rok vydání

ADMINISTRACE POČÍTAČOVÝCH SÍTÍ. OPC Server

5/8 INSTANT MESSAGING A JEHO BEZPEČNOST V PODNIKOVÝCH SÍTÍCH

X33EJA Web Services. Martin Ptáček, KOMIX s.r.o.

Michal Krátký, Miroslav Beneš

CAL (CAN Application Layer) a CANopen

Roční periodická zpráva projektu

Systém elektronického rádce v životních situacích portálu

MBI - technologická realizace modelu

Požadavky pro výběrová řízení TerraBus ESB/G2x

Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb:

Mapový server Marushka. Technický profil

GIS Geografické informační systémy

Specifikace rozhraní. Oznamovací povinnost podle zákona č. 307/2013 Sb., ve znění pozdějších předpisů. Martin Falc, SW architekt.

Pokročilé Webové služby a Caché security. Š. Havlíček

2. přednáška z předmětu GIS1 Data a datové modely

G E O G R A F I C K É I N F O R M A Č N Í S Y S T É M Y. Bc. Michalis Katapodis kat015

Autor. Potřeba aplikací sdílet a udržovat informace o službách, uživatelích nebo jiných objektech

Geografické informační systémy

SA Služby IS DMVS LK

Microsoft Office 2003 Souhrnný technický dokument white paper

EXTRAKT z české technické normy

Operační program Lidské zdroje a zaměstnanost

SYSTÉM PRO KONFIGURACI KOMUNIKAČNÍCH TERMINÁLŮ A VIZUALIZACI STAVOVÝCH DAT Z KOLEJOVÝCH VOZIDEL

Webové služby a XML. Obsah přednášky. Co jsou to webové služby. Co jsou to webové služby. Webové služby a XML

Geografické informační systémy ArcGIS Pavel Juška (jus011) 4. března 2010, Ostrava

Digitální kartografie 3

Webové mapové služby. Lukáš Birka

Úvod do tvorby internetových aplikací

POPIS STANDARDU CEN TC278/WG4. Oblast: TTI. Zkrácený název: Zprávy přes CN 3. Norma číslo:

CZ.1.07/1.5.00/

Základní zadání IS o ISVS. Sluţba poskytování dat IS o ISVS

Publikování map na webu - WMS

PostGIS Topology. Topologická správa vektorových dat v geodatabázi PostGIS. Martin Landa

PŘÍLOHA C Požadavky na Dokumentaci

POPIS STANDARDU CEN TC278/WG7. 1 z 5. draft prenv Geografická silniční databáze. Oblast: ZEMĚPISNÁ DATA V SILNIČNÍ DOPRAVĚ ( GRD)

Převod prostorových dat katastru nemovitostí do formátu shapefile

Osnova. GIOP a IIOP IDL IOR POA. IDL Klient Server. 2 Historie. 3 Princip a základní pojmy. 4 Implementace. 5 Aplikace CORBA

Protokol TELNET. Schéma funkčních modulů komunikace protokolem TELNET. Telnet klient. login shell. Telnet server TCP/IP.

Úvod do informatiky 5)

Nastavení provozního prostředí webového prohlížeče pro aplikaci

INFORMAČNÍ SYSTÉMY NA WEBU

internetu v rámci výuky

EXTRAKT z mezinárodní normy

Lokační referenční metody a jejich interpretace ve standardech

UAI/612 - Cloudová Řešení. Technologie

Referenční rozhraní. Jiří Kosek. Ministerstvo informatiky ČR. ISSS 25. března 2003

KMA/PDB. Karel Janečka. Tvorba materiálů byla podpořena z prostředků projektu FRVŠ č. F0584/2011/F1d

DTM DMVS Plzeňského kraje

GIS Geografické informační systémy

Lubomír Dobrovolský, DOB113

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

PRIMÁRNÍ SBĚR GEODAT. Václav Čada. ZÁPADOČESKÁ UNIVERZITA V PLZNI Fakulta aplikovaných věd katedra geomatiky.

POPIS STANDARDU CEN TC278/WG4. 1 z 5. Oblast: TTI. Zkrácený název: Zprávy přes CN 4. Norma číslo:

XML Š ABLONY A JEJICH INTEGRACE V LCMS XML TEMPLATES AND THEIN INTEGRATION IN LCMS

Vektorové dlaždice. a jejich využití pro vizualizaci dat katastru nemovitostí. Filip Zavadil, Cleerio s.r.o

PODMÍNKY POSKYTOVÁNÍ PŘÍSTUPU K PORTÁLU NAMĚŘENÝCH DAT POMOCÍ WEBOVÝCH SLUŽEB SPOLEČNOSTI ČEZ DISTRIBUCE, A. S.

Uživatelská dokumentace

EXTRAKT z mezinárodní normy

Strategie ochrany před negativními dopady povodní a erozními jevy přírodě blízkými opatřeními v České republice

EXTRAKT z technické normy ISO

Georeferencované mapové podklady z WMS služeb

Popis B2B rozhraní pro elektronickou neschopenku

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

Novell Identity Management. Jaromír Látal Datron, a.s.

Propojení 3D modelování budov a INSPIRE na příkladu vizualizace dat o hlukové zátěži Tomáš EZNÍK, Lukáš HERMAN Laborato

SIMATIC S IT. Micro Automation. Promoters Meeting October Představení CP IT SPIDER CONTROL TELESERVIS. TESTOVACÍ server.

Platební systém XPAY [

GeoHosting. Martin Vlk. (vypusťte svoje data do světa) Help forest s.r.o. člen skupiny WirelessInfo 2008

PostGIS. Luboš Hejduk, Petr Sedlář 2007

Úvod do aplikací internetu a přehled možností při tvorbě webu

DTM DMVS Plzeňského kraje

Použití dynamických parametrů prostředí SET_ENV_ v MarushkaDesignu

EXTRAKT z mezinárodní normy

1. DATOVÉ SCHRÁNKY OBECNÝ PŘÍSTUP K DATOVÉ SCHRÁNCE DATOVÉ ZPRÁVY... 3

Vyšší odborná škola a Střední škola,varnsdorf, příspěvková organizace. Šablona 1 VY 32 INOVACE

IMPLEMENTACE SYSTÉMU GROUPWISE NA PEF ČZU V PRAZE IMPLEMENTATION OF THE SYSTEM GROUPWISE ON THE PEF ČZU PRAGUE. Jiří Vaněk, Jan Jarolímek

ejabberd - Nasazení XMPP/Jabberu pro IM komunikaci uvnitř firmy

EXTRAKT z technické normy CEN ISO

Č.j. PPR /ČJ Praha Počet listů: 8

TECHNICKÁ SPECIFIKACE VEŘEJNÉ ZAKÁZKY

Obsah. Zpracoval:

Servisně orientovaná architektura Základ budování NGII

Wonderware Information Server 4.0 Co je nového

POPIS VÝMĚNNÉHO FORMÁTU XML

GIS Geografické informační systémy

Publikování map na webu - WMS

Transkript:

Využití protokolu XMPP pro předávání geografických informací v reálném čase Michal Šeliga T-MAPY spol. s r.o. Špitálská 150, Hradec Králové michal.seliga@tmapy.cz Vladimír Maršík T-MAPY spol. s r.o. Špitálská 150, Hradec Králové vladimir.marsik@tmapy.cz Pavel Janečka Univerzita Hradec Králové Fakulta informatiky a managementu KIKM Hradecká 1249/6, Hradec Králové pavel.janecka@uhk.cz Abstrakt: Při řešení krizových situací a živelných pohrom může být rychlost výměny geograficky orientovaných dat životně důležitá. Současné GIS systémy přesto neumožňují efektivní sdílení podkladových změn. Na základě analýzy potřeb z ukázkového scénáře jsou definovány základní nástroje pro práci s mapovou kompozicí v kontextu sdílení geograficky zaměřených informací. Pomocí XEP rozšíření protokolu XMPP je pak specifikována komunikace včetně podpory pro budoucí rozšíření, které vyplynou z reálného nasazení. Klíčová slova: Geografické informační systémy, protokol XMPP, XEP rozšíření, XML Abstract: The speed of information exchange could be vitally important when dealing with emergency situations and natural disasters. Despite that, current GIS systems do not allow users to quickly and efficiently share map data. The article shows a sample scenario which demonstrates basic use cases and tools required for an efficient geographical data sharing. The communication itself is defined using XEP extensions of the XMPP protocol, including support for possible future enhancements. Keywords: Geographical information systems, XMPP protocol, XEP extensions, XML 1. Úvod Současné GIS technologie umožňují transakční přístup ke společnému datovému zdroji, není však pomocí nich možné sdílet a upravovat data v reálném čase v rámci účelově organizovaných skupin uživatelů. Takovéto skupiny se mohou formovat například při řešení krizových situací vyžadujících rychlou výměnu geografických informací, jako jsou například záplavy, sesuvy půdy a zemětřesení. Jednoduchost a rychlost komunikace mezi jednotlivými složkami integrovaného záchranného systému či mezi jednotlivými regiony je v takovýchto situacích kritická. 108

Využití protokolu XMPP pro předávání geografických informací v reálném čase 2. Motivace Na základě ukázkového scénáře popisujícího únik vysoce hořlavé látky ze zásobníku fiktivního chemického závodu a následné evakuace přilehlých obyvatelných oblastí, byly zaznamenány kroky, u kterých se ukázala vhodnost využití komunikačního prostředku umožňujícího výměnu geografických informací v reálném čase. Scénář umožnil vydefinovat základní operace, které jsou nezbytné pro takovouto výměnu geografických informací Výběr geoprvků Přiblížení mapového pohledu na vybraný geoprvek Změna výřezu v mapovém okně Provádění schematických zákresů či uživatelské grafiky Přenášení vrstev mezi mapovými projekty 3. Protokol XMPP Extensible Messaging and Presence Protocol 1 (XMPP) vznikl jako protokol pro komunikaci v reálném čase dvou a více klientů počítačové sítě Jabber. Od počátku je protokol vystavěn pro jednoduchou rozšiřitelnost, a tak jej lze snadno využít i pro vzájemnou komunikaci heterogenních systémů a ovládání automatizovaných služeb. Komunikační síť Jabber byla vytvořena v roce 1998 Jeremiem Millerem jako reakce na uzavřenost protokolů sítí pro komunikaci v reálném čase. Od počátku byla síť navržena jako decentralizovaná, každý uživatel si mohl zřídit vlastní server, nebo využít služeb těch již existujících. Uživatelé jsou v síti identifikováni pomocí Jabber ID (JID), které má tvar uživatel@domena. Komunikace mezi uživateli probíhá tak, že je nejprve kontaktován doménový server odesílajícího uživatele a ten odešle zprávu na cílový doménový server příjemce zprávy, který jej doručí konkrétnímu klientovi. Nejedná se tedy o přímou, ale o zprostředkovanou komunikaci mezi aktéry. V roce 2004 byl protokol XMPP publikován jako RFC standard RFC 3920: Extensible Messaging and Presence Protocol (XMPP): Core [1] RFC 3921: Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence [2] RFC 3922: Mapping the Extensible Messaging and Presence Protocol (XMPP) to Commong Presence and Instant Messaging (CPIM) [3] RFC 3923: End-to-End Signing and Object Encryption for the Extensible Messaging and Presence Protocol (XMPP) [4] XMPP protokol přenáší XML elementy za účelem výměny zpráv a informací v reálném čase. Mezi základní elementy popsané v RFC 3920 patří tagy <message /> <presence /> a také tag <iq /> umožňující přenos aplikačně specifických dat. Pomocí XEP (XMPP Excension Protocols) je dále možné rozšiřovat množinu základních vlastností definovaných ve výše uvedených RFC. Bližší informace ohledně tvorby XEP lze nalézt na webových stránkách projektu XMPP [5]. 1 Rozšiřitelný protokol pro posílání zpráv a zjišťování stavu 109

Michal Šeliga, Vladimír Maršík, Pavel Janečka 4. Požadavky pro sdílení geografických informací Pomocí ukázkového scénáře byly vydefinovány základní nástroje pro práci s mapovou kompozicí a sdílení uživatelských mapových podkladů. Z nich vyplývá nutnost vzdáleného ovládání mapy, možnost zakreslování uživatelské grafiky do mapového podkladu a sdílení dat a informací nejen v textové podobě. 4.1 Nástroje pro práci s mapovou kompozicí Extent nastavení nového viditelného výřezu mapové kompozice Center posun mapové kompozice, tak aby definovaný bod byl ve středu definované oblasti Scale změna nastavení měřítka mapové kompozice Select provede výběr množiny geoprvků v rámci jednoho definovaného tématu Feature sada metod pro správu atomických prvků geometrie mapové kompozice Alert provedení vhodné změny extentu a měřítka tak, aby byly všechny zvolené prvky viditelné s následnou signalizací Alarm upozornění na novou událost či změnu v datovém modelu Theme podpora uživatelského sdílení dat a nových témat Pro korektní funkčnost je nutné, aby byla pro všechny výše uvedené nástroje zajištěna podpora různých souřadnicových systémů a jejich vzájemné transformace. 4.2 Událostní modely pro sdílení geografických dat One-to-one Nejjednodušší forma komunikace, která je principiálně podobná běžné IM 2 komunikaci. Dva uživatelé sdílí společnou mapovou situaci s postupnou synchronizací založenou na předávání rozdílů provedených jedním z aktérů. One-to-many Komunikační model nastává v případě, kdy má jeden z aktérů právo měnit sdílenou mapovou situaci a ostatní komunikující aktéři pouze sledují prováděné změny. Reálným příkladem může být sledování vozidel zdravotního záchranného systému v operačním středisku. Many-to-many Pokud nastává situace, kdy více aktérů může zároveň zasahovat do mapové situace, je nutné zajistit dynamickou propagaci změn ke všem ostatním aktérům jak současně připojeným, tak těm, kteří se do komunikace nově zapojí. 4.3 Využití existujících rozšíření Standard protokolu XMPP vyzývá k využívání základních RFC specifikací a existujících XEP rozšíření před definicí nového obdobného rozšíření. Nejprve je tedy nutné ověřit, že požadovaná logika nemůže být transformována na již existující specifikaci. 2 Instant Messaging 110

Využití protokolu XMPP pro předávání geografických informací v reálném čase 4.3.1 Požadavky na práci s mapovou kompozicí Nástroje extent, center, scale, select a alarm nemají ve specifikacích protokolu XMPP ani v jeho XEP rozšířeních odpovídající tagy, je tedy nutné provést jejich kompletní specifikaci. Pro specifikaci nástroje feature lze využít specifikaci OpenGIS Simple Feature [6], která definuje formát popisu geografických dat na základě lomových bodů, případně GML 3 [7] specifikující formát geografických dat založený na značkovacím jazyce XML. 4.3.2 Událostní modely pro sdílení geografických dat XMPP specifikace definuje tag 4 <presence />, který slouží k hromadnému doručování zpráv jednotlivcům či skupinám, jeho použití však vyžaduje součinnost všech komunikujících aktérů, proto je označen za nevhodný. Rozšíření XEP-0060 [8] specifikuje událostí model publish-subscribe a observer v kontextu XMPP protokolu s možností výměny obecných informací, lze jej tedy využít beze změn, tak jak je navržen. Jednodušší modely one-to-one a one-to-many lze řešit jako specializované případy modelu many-to-many s dodatečným nastavením příslušných oprávnění ve smyslu kardinality a směru předávání informací. Uvedené rozšíření je stále ve stavu draft, může tedy dojít k dodatečným úpravám při dopracovávání finální verze specifikace. Datum poslední úpravy (červenec 2010) a jeho implementace v existujících komunikačních klientech využívajících protokol XMPP pro výměnu zpráv naznačuje, že jej lze v praxi bez problémů využít. 4.4 Závěry analýzy Na základě výše uvedených důvodů je zřejmá nutnost definice nových rozšíření protokolu XMPP v problematice výměny geografických dat, z důvodu úplné absence požadovaných vlastností či velmi komplikované využití existujících XEP rozšíření. Na rámec základní specifikace protokolu XMPP a jeho rozšíření budou definovány nové specifikace: XEP Map Tools rozšíření pro práci s mapovou kompozicí. Nedefinuje způsob výměny informací, pouze specifikuje základní množinu tagů pro výměnu geografických dat. XEP Simple remote map pointing Specifikuje mechanizmus sdílení modelu situace nad mapovou kompozicí v kontextu dvou aktérů na základě metod definovaných v XMPP rozšířeních. 5. Návrh specifikace XEP Map Tools Rozšíření XMPP protokolu definuje znovupoužitelné tagy pro práci s mapovou kompozicí, které budou použity pro definici budoucího komunikačního protokolu. 5.1 Extent Žádost o nastavení viditelného výřezu mapové kompozice na straně příjemce zprávy. 3 Geography Markup Language 4 XML tagy jsou ve specifikaci nazývány termínem stanza 111

Michal Šeliga, Vladimír Maršík, Pavel Janečka <extent xmlns='urn:xmpp:gis:maptool'> <envelope crs='epsg:102067'> <lower-corner>-1001251.38975244-946832.154429738</lower-corner> <upper-corner>-700821.285547146-627309.587411641</upper-corner> </envelope> </extent> crs identifikátor souřadnicového systému (doporučen číselný EPSG [9] kód) lower-corner nejmenší hodnota na souřadnicových osách X a Y upper-corner největší hodnota na souřadnicových osách X a Y 5.2 Center Žádost o nastavení středu výřezu mapové kompozice na danou pozici beze změny měřítka na straně příjemce zprávy. <center xmlns='urn:xmpp:gis:maptool'> <point crs='epsg:102067'> <pos>-741851.999217569-1045793.23271612</pos> </point> </center> crs identifikátor souřadnicového systému (doporučen číselný EPSG kód [9]) pos řetězec souřadnic X a Y v uvedeném souřadnicovém systému oddělených mezerou 5.3 Scale Žádost o nastavení konkrétního měřítka pro mapovou kompozici na straně příjemce zprávy. <scale xmlns='urn:xmpp:gis:maptool' value='2000' /> value hodnota z oboru přirozených čísel definující převrácenou hodnotu měřítka (hodnota 10000 odpovídá měřítku 1:10000) 5.4 Select Žádost o nastavení výběru geo-prvků z dané vrstvy mapové kompozice na straně příjemce zprávy. Pokud v době přijetí požadavku existuje jiný výběr, měl by být nejprve zrušen a nastaven na nový. <select xmlns='urn:xmpp:gis:maptool'> <layer>buildings</layer> <feature-id>54578701</feature-id> <feature-id>5457855</feature-id> </select> 112

Využití protokolu XMPP pro předávání geografických informací v reálném čase layer jednoznačný identifikátor vektorové vrstvy mapové kompozice, není-li tento element definován, bude automaticky použita standardní vrstva feature-id identifikátor geo-prvku, který bude vybrán ve zvolené vrstvě mapové kompozice. Vícenásobný výskyt elementu je povolen a znamená, že bude vybráno více geo-prvků najednou. Pokud není geo-prvek definován, provede se zrušení aktuálního výběru 5.5 Alert Žádost o viditelné upozornění (např. blikáním) na vybraný geo-prvek pro vybranou vrstvu mapové kompozice na straně příjemce zprávy. <alert xmlns='urn:xmpp:gis:maptool'> <layer>buildings</layer> <feature-id>54578701</feature-id> <feature-id>5457855</feature-id> </alert> layer jednoznačný identifikátor vektorové vrstvy mapové kompozice, není-li tento element definován, bude automaticky použita standardní vrstva feature-id identifikátor geo-prvku, který bude viditelně zvýrazněn ve zvolené vrstvě mapové kompozice. Vícenásobný výskyt elementu je povolen a znamená, že bude zvýrazněno více geo-prvků najednou. Pokud není geo-prvek definován, zpráva bude zahozena 5.6 Alarm Žádost o provedení signalizace ve smyslu upozornění na událost či změnu datového modelu na straně příjemce zprávy. <alarm xmlns='urn:xmpp:gis:maptool:0:0' type='sound'> <description>alarm message</description> </alarm> type způsob provedení upozornění, možné hodnoty: notify, message, sound description nepovinný parametr umožňující definovat dodatečný textový popis upozornění 5.7 CreateFeature Žádost o vytvoření geo-prvku do vybrané vrstvy mapové kompozice na straně příjemce zprávy. <create-feature xmlns='urn:xmpp:gis:maptool#edit' id='feature-id_1'> <id>54578701</id> <layer>buildings</layer> <geometry xmlns:ns="http://www.opengeospatial.org/standards/sf/wkt"> 113

Michal Šeliga, Vladimír Maršík, Pavel Janečka <ns:wkt crs='epsg:102067'> POLYGON ((-741799.88-1045849.54,-741757.54-1045799.75,-741701.70-1045803.94,-741677.96-1045842.09,-741675.64-1045871.41,-741705.42-1045890.02,-741746.37-1045837.91,-741760.79-1045828.13)) </ns:wkt> </geometry> </create-feature> id nepovinný parametr definující jednoznačný identifikátor vytvářeného geo-prvky. Pokud není definován, zajistí příjemce jeho vygenerování. Odesílatel zprávy je pak povinen hodnotu přijmout jako identifikátor nově vytvořeného geo-prvku layer jednoznačný identifikátor vektorové vrstvy mapové kompozice, není-li tento element definován, bude automaticky použita standardní vrstva geometry parametr obsahuje definovanou formu zápisu geometrie geo-prvku, která je specifikována použitým namespace (např. WKT dle Simple Feature v1.2 [6]) 5.8 DeleteFeature Žádost o odstranění vybraného geo-prvku z dané vrstvy mapové kompozice na základě jeho identifikátoru na straně příjemce zprávy. <delete-feature xmlns='urn:xmpp:gis:maptool#edit'> <id>54578701</id> <layer>buildings</layer> </delete-feature> id jednoznačný identifikátor geo-prvku určeného k odstranění layer jednoznačný identifikátor vektorové vrstvy mapové kompozice, není-li tento element definován, bude automaticky použita standardní vrstva 5.9 Zabezpečení základních operací pro výměnu geografických dat Kapitola 2 popisuje základní operace potřebné k výměně geografických informací. Na základě komunikace se složkami integrovaného záchranného systému byl vytvořen hypotetický scénář katastrofy, zahrnující i pravděpodobnou komunikaci mezi zasahujícími týmy. Ta byla dále rozčleněna dle obsahových kategorií a omezena na zprávy obsahující geograficky orientované informace. Z jejich abstrakce byly vyspecifikovány základní operace pro manipulaci s daty, které navrhovaná specifikace XEP Map Tools pokrývá následujícím způsobem. Výběr geoprvků tag <select /> vybírá geoprvek na požadované vrstvě mapové kompozice Přiblížení mapového pohledu na vybraný geoprvek tagy <alert /> a <alarm /> umožňují upozornit aktéra komunikace na vybraný prvek, kombinací tagů pro změnu výřezu jej lze i zobrazit bez upozornění 114

Využití protokolu XMPP pro předávání geografických informací v reálném čase Změna výřezu v mapovém okně tagy <extent />, <center /> a <scale /> slouží pro úpravu zobrazovaného výřezu mapové kompozice Provádění schematických zákresů či uživatelské grafiky tagy <createfeature /> a <deletefeature /> umožňují dynamickou změnu mapové kompozice Přenášení vrstev mezi mapovými projekty výměna dat je zajištěna v závislosti na vybraném událostním modelu přímo prostředky protokolu XMPP (kapitola 4.3.2) 6. Návrh specifikace XEP Simple remote map pointing Rozšíření protokolu XMPP definuje mechanizmus sdílení situace v mapové kompozici mezi dvěma uživateli na základě prostředků definovaných v rozšíření XEP Map tools. Jedná se o user-to-user protokol, nevyžaduje tedy žádnou specifickou podporu na straně serveru. 6.1 Stanovení podpory V případě, že komunikační klient aktéra podporuje navrhované rozšíření XEP Simple remote map pointing, je tato skutečnost součást odpovědi na požadavek Service Discovery (disco#info) protokolu XMPP. Odpověď obsahuje tag <feature /> s definicí jmenného prostoru urn:xmpp:gis:remote a urn:xmpp:gis:remote#edit. Dále může obsahovat nepovinný jmenný prostor urn:xmpp:gis:remote#capabilities. Požadavek na stanovení podpory <iq from='tom@jabber.tmapy.cz/room' id='last1' to='jerry@jabber.tmapy.cz' type='get'> <query xmlns='http://jabber.org/protocol/disco#info' /> Kladná odpověď na požadavek stanovení podpory <iq from='jerry@jabber.tmapy.cz/mousehole' id='last1' to='tom@jabber.tmapy.cz/room' type='response'> <query xmlns='http://jabber.org/protocol/disco#info'> <feature var='urn:xmpp:gis:remote' /> <feature var='urn:xmpp:gis:remote#edit' /> <feature var='urn:xmpp:gis:remote#capabilities' /> </query> 115

Michal Šeliga, Vladimír Maršík, Pavel Janečka 6.2 Capabilities Z provedené analýzy nevyplývá reálná potřeba pro publikování dodatečných informací, ale je očekávána možná budoucí potřeba. Proto je zavedena podpora, ale dále není specifikován obsah těchto dat. Požadavek na dodatečné informace o aktéru či datech <iq from='tom@jabber.tmapy.cz/room' id='last1' to='jerry@jabber.tmapy.cz' type='get'> <query xmlns='urn:xmpp:gis:remote#capabilities' /> Odpověď na požadavek (neimplementováno) <iq from='jerry@jabber.tmapy.cz/mousehole' id='last1' to='tom@jabber.tmapy.cz/room' type='error'> <query xmlns='urn:xmpp:gis:remote#capabilities' /> <error type='cancel'> <feature-not-implemented xmlns='urn:ietf:params:xml:ns:xmppstanzas' /> </error> 6.3 Komunikace pomocí navrhovaných XEP rozšíření Příkazy extent, center, scale, select, alert, alarm, create-feature a delete-feature vrací jako odpověď pouze informaci o úspěchu či neúspěchu vykonání požadavku. Výše uvedené příkazy jsou pak v samotné komunikaci mezi aktéry tvořeny následující šablonou. <iq from='[from-account]' id='[message-id]' to='[to-account]' type='set'> <query xmlns='urn:xmpp:gis:remote'> [command] </query> Proměnné v hranatých závorkách jsou nahrazeny hodnotami v kontextu posílané zprávy. V případě úspěšného vykonání požadavku musí být odesílatel informován zkrácenou zprávou. <iq from='[from-account]' 116

Využití protokolu XMPP pro předávání geografických informací v reálném čase id='[message-id]' to='[to-account]' type='result'> <success /> Stejně jako v případě úspěšného vykonání, musí být odesílatel informován o neúspěšném provedení. Součástí informace o neúspěšném vykonání je i chybová zpráva. <iq from='[from-account]' id='[message-id]' to='[to-account]' type='error'> <query xmlns='urn:xmpp:gis:remote'> [RECOMMENDED to include sender XML here] </query> <error type='cancel'> [error-type] </error> Chybové stavy jsou definovány v XMPP namespace urn:ieft:params:xml:ns:xmppstanzas jako následující tagy. <bad-request> - neznámý či špatně formulovaný dotaz <feature-not-implemented> - klient aktéra nepodporuje danou operaci <forbidden> - klient aktéra odmítne zpracovat požadavek <item-not-found> - požadovaný prvek nebyl nalezen (např. příkaz select) Doplňkové příkazy pro práci s mapovou kompozicí (create-feature, delete-feature) umožňující přidávání a odebírání geo-prvků rozšiřují základní možnosti výměny informací a dovolují aktérům dodatečné úpravy v kontextu samotné komunikace. Chybové stavy jsou oproti základním příkazům dále rozšířeny o následující tag. <not-acceptable> - chybně zadaná či plně chybějící povinný hodnota parametru zprávy (identifikátor nově vytvářeného geo-prvku není jedinečný) 7. Závěr Protokol XMPP je vhodným a lehce rozšiřitelným prostředkem pro výměnu zpráv nejen na komunikační síti Jabber, ale také v prostředí geograficky orientovaných aplikací. Výše uvedená specifikace rozšíření XEP Map Tools a XEP Simple Map Remoting definuje podobu vyměňovaných dat mezi aktéry komunikace. Účelově organizované skupiny, například jednotky integrovaného záchranného systému, je pak mohou využít za účelem sdílení geograficky orientovaných informací v reálném čase. Specifikace zároveň klade důraz na zachování potřebné flexibility, dostupnosti a bezpečnosti. 117

Michal Šeliga, Vladimír Maršík, Pavel Janečka Použité zdroje [1] JABBER SOFTWARE FOUNDATION. RFC 3920: Extensible Messaging and Presence Protocol (XMPP): Core [online]. 2004 [cit. 2012-07-23]. Dostupné z: http://www.ietf.org/rfc/rfc3920.txt [2] JABBER SOFTWARE FOUNDATION. RFC 3921: Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence [online]. 2004 [cit. 2012-07-23]. Dostupné z: http://www.ietf.org/rfc/rfc3921.txt [3] JABBER SOFTWARE FOUNDATION. RFC 3922: Mapping the Extensible Messaging and Presence Protocol (XMPP) to Common Presence and Instant Messaging (CPIM) [online]. 2004 [cit. 2012-07-23]. Dostupné z: http://www.ietf.org/rfc/rfc3922.txt [4] JABBER SOFTWARE FOUNDATION. RFC 3923: End-to-End Signing and Object Encryption for the Extensible Messaging and Presence Protocol (XMPP) [online]. 2004 [cit. 2012-07-23]. Dostupné z: http://www.ietf.org/rfc/rfc3923.txt [5] XMPP Extensions. The XMPP Standards Foundation [online]. 2012 [cit. 2012-07-25]. Dostupné z: http://xmpp.org/xmpp-protocols/xmpp-extensions/ [6] OPEN GEOSPATIAL CONSORTIUM INC. OpenGIS Implementation Standard for Geographic Information: Simple feature [online]. 2011 [cit. 2013-01-14]. Dostupné z: http://www.opengeospatial.org/standards/sfa [7] I SO 19136:2007. Geographic information: Geography Markup Language (GML). International Organization for Standardization [online]. 2012 [cit. 2012-09-07]. Dostupné z: http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=32554 [8] XEP-0060: Publish-Subscribe. XMPP STANDARDS FOUNDATION [online]. 2010 [cit. 2012-07-30]. Dostupné z: http://xmpp.org/extensions/xep-0060.html [9] Spatial Reference List. Spatial Reference [online]. 2013 [cit. 2013-03-06]. Dostupné z: http://spatialreference.org/ref/epsg/ JEL: H12, M15 118