1 Paikkatiedot palveluväylässä kehityksen tilanne Väylän varrelta - Kansallisen palveluväylän kehitystilanne -seminaari Jari Reini 13.05.2015
Hankkeen työkokonaisuudet
3
Pilotin suunnittelu ja kehittäminen tilanne 5/2015 4 Palvelimet asennettu Ensimmäisiä viestejä välitetty palveluväylän läpi Erilaisten viestimenettelyjen testaaminen Sovitinpalveluiden kehitys käynnissä Tietopalvelujen kytkeminen Asiakassovelluksen kehittäminen
Pilotin arkkitehtuuri 5 OGCsovellus (mobiili) Sovitinpalvelu 1 FORGE -palvelualusta Palveluväylän kehitysympäristö Liityntäpalvelin 1 X-Road Liityntäpalvelin 2 Sovitinpalvelu 2 OGCpalvelu (MML) OGCpalvelu (IL) OGCpalvelu (SYKE) OGCpalvelu (GTK)
Viestinvälitys versio 1 6 FORGE -palvelualusta REST client Sovitinpalvelu TestClient Palveluväylän kehitysympäristö Mmltest01 X-Road Mmltest02 Sovitinpalvelu TestService TestClientkonfiguraatio TestServicekonfiguraatio OGCpalvelu (IL) X-Road Keskuspalvelin
Liityntäpalvelimet: oikeudet ja palvelut 7
TestService: Palvelun WSDL 8
<SOAP-ENV:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:id="http://x-road.eu/xsd/identifiers" xmlns:sdsb="http://x-road.eu/xsd/sdsb.xsd"> <SOAP-ENV:Header> <sdsb:client id:objecttype="subsystem"> <id:sdsbinstance>fi_test</id:sdsbinstance> <id:memberclass>gov</id:memberclass> <id:membercode>1234567-8</id:membercode> <id:subsystemcode>testclient</id:subsystemcode> </sdsb:client> <sdsb:service id:objecttype="service"> <id:sdsbinstance>fi_test</id:sdsbinstance> <id:memberclass>gov</id:memberclass> <id:membercode>9876543-1</id:membercode> <id:subsystemcode>demoservice</id:subsystemcode> <id:servicecode>helloservice</id:servicecode> <id:serviceversion>v1</id:serviceversion> </sdsb:service> <sdsb:userid>ee1234567890</sdsb:userid> <sdsb:id>id11234</sdsb:id> </SOAP-ENV:Header> <SOAP-ENV:Body> <ns1:helloservice xmlns:ns1="http://test.x-road.fi/producer"> <request> <name>test</name> </request> </ns1:helloservice> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Asiakkaan määrittely Palvelun määrittely Käyttäjän määrittely (ei käytössä) Kutsu 9
<SOAP-ENV:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" 10 xmlns:id="http://x-road.eu/xsd/identifiers" xmlns:sdsb="http://x-road.eu/xsd/sdsb.xsd"> <SOAP-ENV:Header> <sdsb:client id:objecttype="subsystem"> <id:sdsbinstance>fi-dev</id:sdsbinstance> <id:memberclass>gov</id:memberclass> <id:membercode>0245954-4</id:membercode> <id:subsystemcode>testclient</id:subsystemcode> </sdsb:client> <sdsb:service id:objecttype="service"> <id:sdsbinstance>fi-dev</id:sdsbinstance> <id:memberclass>gov</id:memberclass> <id:membercode>0245954-4</id:membercode> <id:subsystemcode>testservice</id:subsystemcode> <id:servicecode>wfstest</id:servicecode> <id:serviceversion>v1</id:serviceversion> </sdsb:service> <sdsb:userid>ee1234567890</sdsb:userid> <sdsb:id>id11234</sdsb:id> </SOAP-ENV:Header> <SOAP-ENV:Body> <ns1:wfstest xmlns:ns1="http://test.x-road.fi/producer"> <request> <query>http%3a%2f%2fdata.fmi.fi%2fwfs%3frequest%3dgetfeature%26storedquery_id%3 </request> </ns1:wfstest> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Demo: Pyyntö 11
Vastaus 12
13 Viestimenettelyjen testaus Kaikki tieto SOAP Attachments muodossa Rasterimuotoinen tieto Base64, SOAP Attachments- tai MTOM-muodossa GET-parametrit omissa elementeissään GetMap SLD-standardin mukaisena XML-viestinä? XML-viestit SOAP kehystettynä (WFS/GML) Yksinkertaistettu WFS (GeoServices API?) Kaikki tieto SOAP -kehystettynä
14 Viestinvälitys - pohdintaa OGC-sovellus Viesti OGC:n speksien mukaisesti sovitinpalvelulle Sovitinpalvelu muuntaa viestin SOAP-viestiksi Ei vaadi muutoksia asiakassovellukseen WSDL hyvin yksinkertainen Muut (palveluväylän) sovellukset Kehittäjillä ei välttämättä osaamista OGC:n rajapinnoista WSDL:n ohjattava/neuvottava kehittäjän toimia Operaatiot omissa elementeissään (GetCapabilities, GetMap, GetFeatureInfo) Mahdollisesti uusi yksinkertainen rajapinta
15 Esimerkkikutsu - otsikko Subsystem: MML, GTK, SYKE, IL ServiceCode: WMS, WFS,
16 Esimerkkikutsu - OGC Kehittäjän pitää tuntea OGC:n rajapinnat Ei tarkastuksia, koko kysely menee yhtenä parametrina
Esimerkkikutsu rajapintaa avattu Useita palveluita (servicecode) Parametrit omina elementteinään Opastaa sovelluskehittäjää Skeema kertoo vaihtoehdot (esim. tasot, koordinaattijärjestelmät) kuten OGC:n GetCapabilities Automatisoitu skripti luo WSDL-skeeman pohjautuen palvelun GetCapalities-vastaukseen 17
18
19 Seuraavat vaiheet Eri viestimenetelmien testaus Sovitinpalveluiden kehitys XRd4J - Java ohjelmakirjasto X-Road v6 asiakas- ja palvelusovellusten kehittämiseen WMS WFS Asiakassovellus (mobiili ja OpenLayers)