REST Gateway – RESTtuki X-Roadiin Petteri Kivimäki Kansallisen palveluväylän tekninen työpaja 22.5.2015 Espoo Sisältö • Lähtökohdat • Vaatimukset REST-tuelle • REST Gateway Lähtökohdat • Ei suoraan X-Road yhteensopivia valmiskomponentteja tarjolla • REST-SOAP-konversion toteutus sovitinpalvelussa – Toteutus järjestelmäkohtainen • Samat toiminnallisuudet toteutetaan moneen kertaan eri järjestelmien kohdalla – Suurin osa toteutuksesta ei sidoksissa mihinkään tiettyyn järjestelmään • Suurin osa järjestelmistä voisi hyödyntää samaa pohjaa Palveluntarjoaja Palvelun hyödyntäjä Vaatimukset REST-tuelle • Must have -vaatimukset – REST / JSON –palveluiden julkaisu X-Road yhteensopivina SOAP-palveluina, sis. WSDL-kuvaus – X-Roadin SOAP-palveluiden kutsu REST / JSON – asiakasohjelmista – Liityntäpalvelimella julkaistavien WSDL-kuvausten pitää vastata liitettävää rajapintaa • Nice to have –vaatimukset – Rajapintakuvausten automaattinen RAML – WSDL -konversio REST Gateway • Valmiskomponentti – Konfiguroitava – käyttöönotto ei edellytä koodausta – Kustomoitavissa tarvittaessa – Liityntäpalvelimesta erillinen • Toteuttaa REST-rajapintojen X-Road-integraatioissa tarvittavat yleisimmät ominaisuudet – Keskeisimmät ominaisuudet konfiguroitavissa palvelu- ja järjestelmäkohtaisesti – Aivan kaikkea ei voi konfiguroida, vaan joissakin tapauksissa muutokset voivat edellyttää koodausta • Muutokset ohjelmistokehyksen kautta REST Gateway v0.0.6 REST Gateway v0.0.6 • Provider Gateway – REST / JSON –palveluiden (JSON, JSON-LD, XML) julkaisu XRoad yhteensopivina SOAP-palveluina • Consumer Gateway – X-Roadin SOAP-palveluiden kutsu REST / JSON – asiakasohjelmista • Automaattiset konversiot: – JSON -> XML – XML -> JSON • Uusien palveluiden lisääminen konfiguraation kautta ilman koodimuutoksia • Toteuttaa X-Road v6 beta SOAP -profiilin REST Gateway v0.0.6 • Provider Gateway – HTTP GET, POST, PUT and DELETE tuettuja – WSDL-kuvaus luotava manuaalisesti – REST-pavelun palauttama vastaussanoma voidaan kuljettaa SOAP-viesti body-osassa tai liitteenä – X-Roadin SOAP-otsikkotiedot voidaan välittää RESTpalvelullle HTTP-otsikkotietojen kautta • X-XRd-Client, X-XRd-Service, X-XRd-UserId, X-XRd-MessageId Provider Gateway v0.0.6 • Provider Gateway ottaa vastaan X-Road v6 beta – version SOAP-profiilin mukaisia sanomia ja lisää XMLsanoman request-elementin sisältämät parametrit REST-palvelun URL-osoitteen perään. Provider Gateway v0.0.6 • REST-palvelulle lähetettävän HTTP-pyynnön bodyosassa kuljetettava data sijoitetaan SOAP-sanoman liitteeksi, esim. HTTP POST-pyyntö: Consumer Gateway v0.0.6 • Consumer Gateway – – – – Täysi tuki Provider Gateway:n kautta julkaistuille palveluille Natiivien SOAP-palveluiden kohdalla tiettyjä rajoituksia HTTP GET, POST, PUT ja DELETE –tuki Vastaussanoman tyyppi määriteltävissä Accept-otsikon kautta • text/xml, application/json – X-Roadin SOAP-otsikkotiedot voidaan lähettää HTTPotsikoiden kautta • X-XRd-UserId, X-XRd-MessageId – Vastaussanomien sisältämien linkkien uudelleenkirjoitus – X-Road palveluiden kutsu internet-selaimen kautta Consumer Gateway v0.0.6 • Consumer Gateway ottaa vastaan HTTP-pyyntöjä ja muuntaa ne X-Road v6 beta –version mukaisiksi SOAP-sanomiksi. Consumer Gateway v0.0.6 • HTTP-pyynnön body-osassa vastaanotettu data sijoitetaan SOAP-sanoman liitteeksi, esim. HTTP POST-pyyntö: Demo • Live demo… Linkkejä • REST Gateway GitHub:issa – https://github.com/educloudalliance/xroad-rest-gateway Kysymyksiä? Petteri Kivimäki Järjestelmäpäällikkö Väestörekisterikeskus petteri.kivimaki@vrk.fi puh: 0295 535 027, GSM: 050 593 1710
© Copyright 2024