Podstawy implementacji usług sieciowych OGC



Podobne dokumenty
XML-RPC: Zdalne wykonywanie procedur

Ataki na aplikacje WWW. Łomem, czy wytrychem? Jak dobrać się do aplikacji WWW

Technologie internetowe

Systemy internetowe. Wykład 5 Architektura WWW. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

serwisy W*S ERDAS APOLLO 2009

Komunikacja systemów informatycznych przy pomocy usług sieciowych

Aplikacje WWW Wprowadzenie

Komunikacja i wymiana danych

HTTP W 5-CIU PYTANIACH MICHAŁ KOPACZ

Wybrane działy Informatyki Stosowanej

Protokół HTTP 1.1 *) Wprowadzenie. Jarek Durak. rfc2616 źródło

Języki programowania wysokiego poziomu WWW

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

Protokół HTTP. 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

Wybrane działy Informatyki Stosowanej

Web Services. Wojciech Mazur. 17 marca Politechnika Wrocławska Wydział Informatyki i Zarządzania

5.14 JSP - Przykład z obiektami sesji Podsumowanie Słownik Zadanie... 86

Zastosowania technologii WMS w prowadzeniu PZGiK

danych przestrzennych

1. Wymagania dla lokalnej szyny ESB

Rola języka XML narzędziem

Plan dzisiejszego wykładu. Narzędzia informatyczne w językoznawstwie. XML - Definicja. Zalety XML

Simple Object Access Protocol

Fazy i typy modernizacji zbiorów w w IIP. Uniwersytet im. Adama Mickiewicza Wydział Nauk Geograficznych i Geologicznych Poznań:: r.

Web Services. Bartłomiej Świercz. Łódź, 2 grudnia 2005 roku. Katedra Mikroelektroniki i Technik Informatycznych. Bartłomiej Świercz Web Services

Programowanie Komponentowe WebAPI

4 Web Forms i ASP.NET Web Forms Programowanie Web Forms Możliwości Web Forms Przetwarzanie Web Forms...152

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Kierunek: Automatyka i Robotyka Studia stacjonarne I stopnia: rok I, semestr II


Wykorzystanie standardów serii ISO oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych

Wprowadzenie do technologii XML

Page 1. Architektura systemów GIS. Architektura klient-serwer. Geoinformaacyjne usługi sieciowe DESKTOP. dr inż. Adam Iwaniak

GML w praktyce geodezyjnej

Programowanie Sieciowe 2 Protokoły komunikacyjne: HTTP

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Programowanie w Internecie

1 Wprowadzenie do J2EE

Zaawansowany kurs języka Python

Ministerstwo Finansów

XML Schema. Bartłomiej Świercz. Łódź, 19 listopada 2005 roku. Katedra Mikroelektroniki i Technik Informatycznych. Bartłomiej Świercz XML Schema

Część I -ebxml. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz

ROZPORZĄDZENIE RADY MINISTRÓW. z dnia 11 października 2005 r. (Dz. U. z dnia 28 października 2005 r.)

Źródła. cript/1.5/reference/ Ruby on Rails: AJAX: ssays/archives/

Technologie sieciowe Sprawozdanie z labolatorium. Lista 5

Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7

Sieciowe systemy informacyjne

Plan wykładu. 1. Protokół FTP. 2. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

Kurs OPC S7. Spis treści. Dzień 1. I OPC motywacja, zakres zastosowań, podstawowe pojęcia dostępne specyfikacje (wersja 1501)

ROZPORZĄDZENIE RADY MINISTRÓW. z dnia 11 października 2005 r. w sprawie minimalnych wymagań dla systemów teleinformatycznych

Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI

Aplikacje Internetowe termin dodatkowy

Rozproszone systemy Internetowe

ROCZNIKI GEOMATYKI 2007 m TOM V m ZESZYT 6

Programowanie w języku Java. Wykład 13: Java Platform, Enterprise Edition (Java EE)

Dostęp do komponentów EJB przez usługi Web Services

Dystrybucja geometrycznych danych wielkoskalowych oparta o serwery WMS i WFS

Aplikacje internetowe laboratorium XML, DTD, XML Schema, XSL

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Rozproszone technologie Web Services

Środowisko publikacyjne oparte na XML-u. Szymon Zioło 1 maja 2004

MINISTERSTWO FINANSÓW PLAN INTEGRACJI SYSTEMU ZAŁĄCZNIK NR 6 SEAP SPECYFIKACJA KANAŁ DLA PODMIOTÓW ZEWNĘTRZNYCH PL PROJEKT ECIP/SEAP

Technologie Internetu. Protokół HTTP. Aleksander Denisiuk.

Programowanie komponentowe

HTTP. literatura:

Usługi sieciowe w Małopolskiej Infrastrukturze Informacji Przestrzennej w oparciu o wspólny projekt UMK i UMWM

LAB 7. XML EXtensible Markup Language - Rozszerzalny Język Znaczników XSD XML Schema Definition Definicja Schematu XML

CENTRUM PROJEKTÓW INFORMATYCZNYCH MINISTERSTWA SPRAW WEWNĘTRZNYCH I ADMINISTRACJI

Referat z przedmiotu Technologie Internetowe SPIS TREŚCI

Portal internetowy Europejskiej Sieci Ekologicznej Natura 2000 w Polsce.

Projektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Sposób doręczania dokumentów elektronicznych. do Urzędu Gminy Zawady

Zaawansowane aplikacje internetowe. Wykład 6. Wprowadzenie do Web Services. wykład prowadzi: Maciej Zakrzewicz. Web Services

1 90 min. Aplikacje WWW Harmonogram spotkań, semestr zimowy (studia stacjonarne)

Jak stworzyć Geoportal

Usługi WWW. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska Opole zlipinski@math.uni.opole.pl

SOAP. Autor: Piotr Sobczak

Sprawozdanie Sieci komputerowe i bazy danych Laboratorium nr 4

Aplikacje internetowe laboratorium XML, DTD, XSL

extensible Markup Language, cz. 1 Marcin Gryszkalis, mg@fork.pl

DTD - encje ogólne i parametryczne, przestrzenie nazw

Wprowadzenie do XML schema

O stronach www, html itp..

Programowanie współbieżne i rozproszone

Obsługa incydentów bezpieczeństwa: część I, z punktu widzenia menadżera. OWASP The OWASP Foundation

DEMONSTRACJA DZIAŁANIA ELEMENTÓW INFRASTRUKTURY INFORMACJI PRZESTRZENNEJ (WYKŁAD)

Analiza malware'u SandroRAT_sec Kaspersky_Mobile_Security.apk

USŁUGI SIECIOWE I PUBLIKACJA DANYCH W RAMACH INSPIRE (POZIOM ŚREDNIOZAAWANSOWANY)

Wprowadzenie do technologii XML

Równoległość w środowisku rozproszonym. Jarosław Kuchta Programowanie Współbieżne

Bazy Danych i Usługi Sieciowe

I.Wojnicki, Tech.Inter.

Narzędzia informatyczne w językoznawstwie

Extensible Markup Language (XML) Wrocław, Java - technologie zaawansowane

Dotacje na innowacje. Inwestujemy w waszą przyszłość.

KARTA KURSU. Przetwarzanie dokumentów XML i zaawansowane techniki WWW

Programowanie internetowe

WMS Thematic Standard do publikacji opracowań kartograficznych. Serena Coetzee, Adam Iwaniak, Paweł Netzel

76.Struktura oprogramowania rozproszonego.

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Artur.Kalinowski@fuw.edu.

Wybrane działy Informatyki Stosowanej

Transkrypt:

Podstawy implementacji usług sieciowych OGC Tomasz Kubik Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska URZĘDOWA GEOINFORMACJA W INTERNECIE MOśLIWOŚCI I OCZEKIWANIA Wisła, 5-7.09.2007

Usługi sieciowe Usługa sieciowa to kawałek logiki biznesowej, umieszczony gdzieś w Internecie, do którego istnieje dostęp poprzez standardowe protokoły internetowe jak HTTP lub SMTP,[1]. Usługi sieciowe to po prostu aplikacje posiadające API dostępny z sieci. Interfejs usługi z załoŝenia ukrywa szczegóły jej implementacji. Stąd usługi moŝna tworzyć w dowolnym języku programowania i dla dowolnej platformy systemowej pod warunkiem, Ŝe widoczność i dostęp do tych usług będzie spełniać przyjęte dla usług sieciowych standardy. W ten sposób zapewnia się interoperacyjność. Cechy usługi sieciowej luźno powiązane gruboziarniste zdolne do działania w trybie synchronicznym (zdalne wywoływanie procedur) i asynchronicznym (wymiana dokumentów) 1. David Chappell,Tyler Jewell: Java Web Services, O'Reilly, First Edition, March 2002 T.Kubik: Podstawy implementacji usług sieciowych OGC 2/37

Usługi sieciowe bazujące na XML Jeśli standardem opisu usługi sieciowej jest XML, to taka usługa nazywana jest usługą sieciową bazującą na XML. Opis usługi w takim przypadku jest dokumentem XML, zawierającym wszystkie potrzebne do interakcji z usługą informacje, włącznie z opisem formatu komunikatów (dzięki którym są wykonywane operacje), protokołów transportowych i lokalizacji. T.Kubik: Podstawy implementacji usług sieciowych OGC 3/37

Architektury rozwiązań desktop klient-serwer T.Kubik: Podstawy implementacji usług sieciowych OGC 4/37

Architektura rozwiązań n-warstwowa T.Kubik: Podstawy implementacji usług sieciowych OGC 5/37

zorientowana na usługi Architektura rozwiązań T.Kubik: Podstawy implementacji usług sieciowych OGC 6/37

Organizacje dostarczające specyfikacje dla usług sieciowych W3C World Wide Web Consortium www.w3c.org Infrastructure (HTTP, XML, SOAP, SSL, WSDL) WS-I Web Services Inteoperability Organization www.ws-i.org Web Services (WS-SP, WS-BSP) OASIS Organization for the Advancement of Structured Information Standards www.oasis-open.org Integration & Interoperability (ebxml, UDDI) WSDL UDDI OGC Open Geospatial Consortium www.opengeospatial.org Geospatial Standards (WMS, WFS, WCS, CS-W,...) GetCapabilities CS-W T.Kubik: Podstawy implementacji usług sieciowych OGC 7/37

Obszary zastosowań technologii informatycznych i ich funkcje Komponenty Portale Usługi Bazy danych Technologie HTML, XML, XSL, JSP, ASP, PHP, Java,.NET XML, SOAP, WSDL, OWS, GML SQL, XQuery Funkcje Wyszukanie, wizualizacja, zamawianie, publikowanie, administracja Udostępnianie danych, tworzenie wartości dodanej, wykonywanie transakcji Zarządzanie danymi w formacie rastrowym, wektorowym, tablicowym T.Kubik: Podstawy implementacji usług sieciowych OGC 8/37

Metody zapytań HTTP HTTP/1.1 GET, POST, PUT, DELETE, HEAD, TRACE, OPTIONS, CONNECT HTTP/1.0 GET, HEAD, POST, PUT, DELETE, LINK, UNLINK (zaimplementowane przez niektóre serwery i klientów, ale niespójnie lub w ogóle niezdefiniowane) T.Kubik: Podstawy implementacji usług sieciowych OGC 9/37

Najczęściej wykorzystywane metody zapytań HTTP GET zazwyczaj wywoływane z paska adresu przeglądarki moŝna uŝyć jako zakładkę parametry przekazywane za pomocą par klucz-wartość POST wywoływane z wnętrza aplikacji nie moŝna uŝyć jako zakładkę stosowane do przekazywania w zapytaniu obszernych danych <a href="http://www.google.com/search? hl=en&ie=iso-8859-1&q=http&btng=google+search">http</a> T.Kubik: Podstawy implementacji usług sieciowych OGC 10/37

Przykład komunikacji z metodą HTTP GET pytanie GET /search?hl=en&q=http&btng=google+search HTTP/1.1 Host: www.google.com User-Agent: Mozilla/5.0 Galeon/1.2.0 (X11; Linux i686; U;) Gecko/20020326 Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9, text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2, text/css,*/*;q=0.1 Accept-Language: en Accept-Encoding: gzip, deflate, compress;q=0.9 Accept-Charset: ISO-8859-1, utf-8;q=0.66, *;q=0.66 Keep-Alive: 300 Connection: keep-alive Klient odpowiedź HTTP/1.1 200 OK Server: GWS/2.0 Date: Tue, 21 May 2002 12:34:56 GMT Transfer-Encoding: chunked Serwer Content-Encoding: gzip Content-Type: text/html Cache-control: private Set-Cookie: PREF=ID=58c005a7065c0996:TM=1021283456:LM=1021283456:S=OLJcXi3RhSE; domain=.google.com; path=/; expires=sun, 17-Jan-2038 19:14:07 GMT (Web content compressed with gzip) T.Kubik: Podstawy implementacji usług sieciowych OGC 11/37

Elementy zapytania HTTP linia Ŝądania nagłówki HTTP nagłówki ogólne (pojawiają się w zapytaniu i odpowiedzi HTTP) nagłówki Ŝądania (są specyficzne dla konkretnego zapytania HTTP) nagłówki encji (pojawiają się, jeśli pojawia się zawartość) zawartość GET /request=wms HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shock wave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application /msword, */* Accept-Language: pl Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1;.NET CLR 1.1.4322) Host: localhost:3541 Connection: Keep-Alive T.Kubik: Podstawy implementacji usług sieciowych OGC 12/37

Elementy zapytania HTTP linia Ŝądania nagłówki HTTP nagłówki ogólne (pojawiają się w zapytaniu i odpowiedzi HTTP) nagłówki Ŝądania (są specyficzne dla konkretnego zapytania HTTP) nagłówki encji (pojawiają się, jeśli pojawia się zawartość) zawartość POST /search HTTP/1.1 Host: www.google.com User-Agent: Mozilla/5.0 Galeon/1.2.5 (X11; Linux i686; U;) Gecko/20020606 Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9, text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2, text/css,*/*;q=0.1 Accept-Language: en Accept-Encoding: gzip, deflate, compress;q=0.9 Accept-Charset: ISO-8859-1, utf-8;q=0.66, *;q=0.66 Keep-Alive: 300 Connection: keep-alive Content-Type: application/x-www-form-urlencoded Content-Length: 31 hl=en&q=http&btng=google+search T.Kubik: Podstawy implementacji usług sieciowych OGC 13/37

Elementy odpowiedzi HTTP linia statusu (versja HTTP, kod statusu, krótki opis statusu) nagłówki HTTP nagłówki ogólne (pojawiają się w zapytaniu i odpowiedzi HTTP) nagłówki odpowiedzi (są specyficzne dla konkretnej odpowiedzi HTTP) nagłówki encji (pojawiają się, jeśli pojawia się zawartość) zawartość HTTP/1.1 302 Object moved Server: Microsoft-IIS/5.1 Date: Thu, 23 Aug 2007 17:48:48 GMT X-Powered-By: ASP.NET Location: localstart.asp Content-Length: 121 Content-Type: text/html Set-Cookie: ASPSESSIONIDACQBQQQS=CEGLAHJCPAEBAIINILNPHKAF; path=/ Cache-control: private <head><title>object moved</title></head> <body><h1>object Moved</h1>This object may be found <a HREF="">here</a>.</body> T.Kubik: Podstawy implementacji usług sieciowych OGC 14/37

Czterowarstwowy model protokołów sieciowych Model klasyczny HTTP TCP IP Sieć warstwa aplikacji warstwa transportowa warstwa internetowa warstwa sieciowa Model zagnieŝdŝony IP TCP HTTP zasoby sieci HTTP zasoby sieci HTTP/1.1 200 OK Transfer-Encoding: chunked Server: Microsoft-IIS/5.1 Date: Thu, 23 Aug 2007 16:02:08 GMT X-Powered-By: ASP.NET Content-Type: text/html Set-Cookie: ASPSESSIONIDACQBQQQS=PDGLAHJCINJODMMHPNJOOOAB; path=/ Cache-control: private getcontenttype: text/html getcontentlength: -1 getcontentencoding: null getdate: 1187884928000 getexpiration: 0 getlastmodifed: 0 <html> <head> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1250"> <script language="javascript">... T.Kubik: Podstawy implementacji usług sieciowych OGC 15/37

Czym jest XML? Skrót od extensible Markup Language Język znaczników dla dokumentów o strukturze hierarchicznej Pochodzi od SGML Standard przekazywania informacji wraz z ich opisem Plik tekstowy T.Kubik: Podstawy implementacji usług sieciowych OGC 16/37

Podstawowe elementy dokumentu XML nagłówek atrybut wartość atrybutu element główny wartość elementu <?xml version="1.0" encoding="utf-16"?> <Kartka data="4-09-2007" > <Pozdrowienie> Witajcie! </Pozdrowienie> </Kartka> element T.Kubik: Podstawy implementacji usług sieciowych OGC 17/37

Programowe przetwarzanie XML parsowanie i przeglądanie pliku XML selekcja podzbiorów, elementów, atrybutów język zapytań do danych w formacie XML transformacja dokumentów XML powiązanie z bazami danych wizualizacja i formatowanie implementacja usług sieciowych T.Kubik: Podstawy implementacji usług sieciowych OGC 18/37

Cechy poprawnego dokumentu Na początku deklaracja: <?xml version="1.0"?> Dokument zawiera jeden element nazywany korzeniem (element główny) Element moŝe zawierać inne elementy oraz atrybuty Element otoczony jest znacznikami początku < > oraz końca </ > Element pusty (nie zawierający innych elementów) moŝna opisać jednym znacznikiem nieparzystym< /> Atrybuty elementu wymienia się w jego znaczniku, podając od razu wartość w cudzysłowie: <element attr1="val1" attr2="val2" /> Komentarze jak w HTML <!-- --> rozróŝnianie wielkości liter Sekcje CDATA <![CDATA[ KaŜdy <znacznik /> tutaj zostanie zignorowany. ]]> T.Kubik: Podstawy implementacji usług sieciowych OGC 19/37

dokument kartka.xml <?xml version="1.0" encoding="utf-16"?> <!DOCTYPE GREETING SYSTEM "kartka.dtd"> <Kartka data="4-09-2007" > <Pozdrowienie> Witajcie! </Pozdrowienie> </Kartka> schemat kartka.dtd Walidacja z DTD plik XML <?xml version="1.0" encoding="utf-8"?> <!ELEMENT Kartka (Pozdrowienie)> <!ELEMENT Pozdrowienie (#PCDATA)> <!ATTLIST Kartka data CDATA #REQUIRED> typ dokumentu Walidator akceptacja lub błędy T.Kubik: Podstawy implementacji usług sieciowych OGC 20/37

dokument kartka.xml Walidacja z XML Schema <?xml version="1.0"?> <Kartka xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:nonamespaceschemalocation="kartka.xsd" data="4-09-2007" > <Pozdrowienie> Witajcie! </Pozdrowienie> </Kartka> schemat kartka.xsd <?xml version="1.0" encoding="utf-16"?> <! Plik przykładowy--> <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema"> <xs:complextype name="kartkatype"> <xs:sequence> <xs:element minoccurs="1" maxoccurs="1" name="pozdrowienie" type="xs:string" /> </xs:sequence> <xs:attribute name="data" type="xs:string" /> </xs:complextype> <xs:element name="kartka" type="kartkatype" /> </xs:schema> T.Kubik: Podstawy implementacji usług sieciowych OGC 21/37

Porównanie sposobów walidacji oraz cechy XPath RóŜnice między DTD a Schema plik Schema jest plikiem XML moŝna nakładać silne restrykcje na wartości (własne typy, wyraŝenia regularne, typy abstrakcyjne) moŝna elastycznie budować strukturę dokumentu XPath Pozwala poruszać się po dokumencie Główny element w XSLT Ogromna biblioteka funkcji Bardzo podobne do ścieŝek w drzewie katalogów w UNIX Ponadto dodatkowy język poruszania się po węzłach T.Kubik: Podstawy implementacji usług sieciowych OGC 22/37

Technologie XML Walidacja i opis danych DTD, RDF, XSD Selekcja i wskazywanie XPath, XPointer Przekształcanie XSLT Łączenie i wiązanie XLink Reprezentacja graficzna SVG, VML, X3D, GML Protokoły i zastosowania sieciowe SOAP, WSDL, UDDI T.Kubik: Podstawy implementacji usług sieciowych OGC 23/37

Cechy XSLT (Extensible Stylesheet Language Transformation) Określa jak interpretować dokument XML jako dokument innego formatu UmoŜliwia przetworzenie na HTML, PDF oraz inny rodzaj XML, np. SVG UmoŜliwia tworzenie informacji o danych juŝ istniejących (zliczanie, sortowanie) Plik XML Opis poŝądanej struktury (szablon stylu) Parser XML Dane sformatowane zgodnie z wymaganiami T.Kubik: Podstawy implementacji usług sieciowych OGC 24/37

SOAP (Simple Object Access Protocol) Protokół bazującym na XML i XSD, słuŝącym do wymiany informacji pomiędzy aplikacjami w środowisku rozproszonym Jest wykorzystywany w systemach rozproszonych zorientowanych na przesyłanie wiadomości i zdalne wywoływanie procedur (RPC - Remote Procedure Call) MoŜe być wykorzystywany jako kolejna warstwa nad warstwą transportową (TCP, HTTP) UŜyty nad HTTP daje moŝliwość implementacji usług w środowisku sieciowym z zaporami ogniowymi i serwerami proxy Specyfikacja SOAP określa standard formatu wiadomości SOAP oraz mówi jak uŝywać SOAP nad warstwą transportową T.Kubik: Podstawy implementacji usług sieciowych OGC 25/37

SOAP nad warstwą transportową <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:header> <authheader xmlns="http://mojadres.com/ppp"> <authtoken> skdfs213jj4jkaerjkdsn334021swdm </authtoken> </authheader> </soapenv:header> <soapenv:body> <SubmitInvoice xmlns="http://mojadres.com/ppp"> <invoicedoc></invoicedoc> </SubmitInvoice> </soapenv:body> </soapenv:envelope> T.Kubik: Podstawy implementacji usług sieciowych OGC 26/37

Interfejsy wybranych usług sieciowych OGC OGC Web Service GetCapabilities Web Map Service Web Feature Service Web Coverage Service Web Processing Service GetMap DescribeFeatureType DescribeProcess GetFeatureInfo GetFeature GetCoverage Execute WMS+SLD GetFeatureWithLock Transaction LockFeature DescribeLayer T.Kubik: Podstawy implementacji usług sieciowych OGC 27/37

Opis interfejsów OWS (OGC Web Service) OGC definiuje usługi i dostarcza specyfikacji implementacyjnych ich interfejsów (protokołów) Podobnie jak SOAP opis protokołów bazuje na XML i XSD (dla starszych wersji usług jest DTD), zaś komunikacja na nich oparta realizowana jest jako kolejna warstwa nad protokołem HTTP Zamiast WSDL do uzyskania opisu interfejsu w sposób automatyczny wykorzystywane są zapytania zdefiniowanego protokołu (GetCapabilities) Rolę UDDI pełnią usługi CSW (Catalogue Service-Web) T.Kubik: Podstawy implementacji usług sieciowych OGC 28/37

Protokół WMS (Web Map Server) Jest to bezstanowy protokół słuŝący do udostępniania map poprzez HTTP, który musi implementować GET (klucze w parametrach nie są czułe na wielkość liter, wartości są czułe na wielkość liter) Operacje GetCapabilities VERSION, SERVICE (gdyŝ jeden serwis moŝe dostarczać wielu usług jak WMS, WFS, WCS), REQUEST http://serwer.wms/mapa?version=1.1.1&service=wms&request=getcapabilitie s DescribeLayer VERSION, SERVICE, REQUEST, LAYERS http://serwer.wms/mapa?version=1.1.1&service=wms&request=describelayer &layers=rivers GetMap FORMAT, BBOX (minx,miny,maxx,maxy), SRS, WIDTH, HEIGHT, LAYERS, STYLES, TIME (choć nie wszystkie) i inne T.Kubik: Podstawy implementacji usług sieciowych OGC 29/37

Dodatkowe operacje dla WMS + SLD GetStyles zwraca opis stylu SLD dla wybranej warstwy Parametry VERSION, SERVICE, REQUEST, LAYERS GetLegendGraphic dynamiczna ikona legendy dla danej warstwy Parametry VERSION, SERVICE, REQUEST, FORMAT, LAYER, SLD PutStyles zapamiętuje dokument SLD na serwerze WMS Przyłady uŝycia parametru SLD &sld=http://localhost/ms_ogc_workshop/sld/rivers.sld &sld_body=<entire_sld_document> moŝna przesłać SLD_BODY w metodzie HTTP POST T.Kubik: Podstawy implementacji usług sieciowych OGC 30/37

Przykład uŝycia zapytania WMS jako zakładki <html> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1250"> </head> <body> Aktualna mapa rejonu kościoła w Bielszowicach: <br><br> <img src="http://tutaj.adres.serwisu.pl?request=getmap&version= 1.1.1&LAYERS=budynki,dzialki,adresy,osie_ulic,nazwy_ulic&FOR MAT=image/png&TRANSPARENT=TRUE&BBOX=490905.58176 29087,268626.09188815,491114.5541942712,268793.26983324& WIDTH=500&HEIGHT=400&SRS=EPSG:2180" > <br><br> </body> </html> W przypadku błędów serwer będzie zwracał informacje o nich w dokumencie XML T.Kubik: Podstawy implementacji usług sieciowych OGC 31/37

Przykład odpowiedzi serwera WMS http://ogc.intergraph.pl/map/request.aspx?request=getcapabilities&service=wms T.Kubik: Podstawy implementacji usług sieciowych OGC 32/37

Usługa WMS Cechy prostota szybkość (rasteryzacja po stronie serwera, przez sieć przesyłanie obrazy) moŝliwość przesyłania wektorów (text/xml) prezentacja danych, a nie udostępnianie danych moŝliwość zadawania pytań o punkt na mapie usługi WMS moŝna integrować (kolejne warstwy mapy) T.Kubik: Podstawy implementacji usług sieciowych OGC 33/37

Operacje WCS Rastrowy równowaŝnik WFS, dostarczający rzeczywiste dane rastrowe w rastrowym formacie (a nie samą wizualizację danych) Operacje GetCapabilities VERSION, SERVICE, REQUEST http://serwer.map?version=1.0.0&service=wcs&request=getcapa bilities DescribeCoverage VERSION, SERVICE, REQUEST, COVERAGE http://serwer.map&version=1.0.0&service=wcs&request=describe Coverage&coverage=toronto GetCoverage VERSION, SERVICE, REQUEST, COVERAGE, CRS, BBOX T.Kubik: Podstawy implementacji usług sieciowych OGC 34/37

Operacje WFS GetCapabilities VERSION, SERVICE, REQUEST http://serwer.wfs/wfs?version=1.0.0&service=wfs&reques t=getcapabilities DescribeFeatureType VERSION, SERVICE, REQUEST, TYPENAME http://serwer.wfs/wfs?version=1.0.0&service=wfs&reques t=describefeaturetype&typename=rivers GetFeature VERSION, SERVICE, REQUEST, TYPENAME, FILTER (opcjonalne), BBOX (moŝe być zrobione przez FILTER) T.Kubik: Podstawy implementacji usług sieciowych OGC 35/37

Przykład filtru OGC Zapytanie SQL select * from roads where roadtype = 1 Postać filtru <Filter> <PropertyIsEqualTo> <PropertyName>roadtype</PropertyName> <Literal>1</Literal> </PropertyIsEqualTo> </Filter> T.Kubik: Podstawy implementacji usług sieciowych OGC 36/37

KONIEC T.Kubik: Podstawy implementacji usług sieciowych OGC 37/37