Järjestelmäarkkitehtuuri (TK081702)

Samankaltaiset tiedostot
Järjestelmäarkkitehtuuri (TK081702) Avoimet web-rajapinnat

Tiedonsiirto- ja rajapintastandardit

Web Service torilla tavataan!

REST an idealistic model or a realistic solution?

HSMT J2EE & EJB & SOAP &...

Pilottipalvelun esittely johtopäätökset

HOJ J2EE & EJB & SOAP &...

AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy

Viimeinen rajoite (hypermedia as the engine of application state) tarkoittaa käytännössä sitä, että palvelimelta saadut vastaukset sisältävät URIt

Paikkatiedot palveluväylässä kehityksen tilanne Väylän varrelta - Kansallisen palveluväylän kehitystilanne -seminaari

Integraatioratkaisu joukkoviestintäverkkojen esittämiseen paikkatietojärjestelmässä

Avoimen metsätiedon jakaminen

Sosiaalihuollon asiakastiedon arkiston validointipalvelu. Käyttöohje

REST-arkkitehtuurityylin käyttö web-rajapinnoissa

Käyttäjähallintapalvelun REST-rajapinnat

Veronumero.fi Tarkastaja rajapinta

Tietovarannot. Anna Eteläaho. Analyysi ja yhteenveto avoimen datan innovaatiokilpailun kilpailutöistä. Intressiryhmän 2. kokous 27.2.

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS Ti Kandidaatintyö ja seminaari

Attribuutti-kyselypalvelu

Paikkatiedon tulevaisuus

Koodistoeditorin toteutuksen lähtökohtia: KaPA-koodistopalvelu ja REST-rajapinnat

HTTP-välityspalvelimen käyttö tapahtumien keräämiseen

in condition monitoring

T Hypermediadokumentin laatiminen. Sisältö. Tavoitteet. Mitä on www-ohjelmointi? Arkkitehtuuri (yleisesti) Interaktiivisuuden keinot

Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus

Juha Peltomäki JAMK/Teknologia

Järjestelmäarkkitehtuuri (TK081702) AJAX, Asynchronous JavaScript And XML. AJAX, Asynchronous JavaScript And XML

JWT 2016 luento 11. to klo Aulikki Hyrskykari. PinniB Aulikki Hyrskykari

Luento 8: XML-tuki ohjelmointikielissä & Web-palvelut

Tekninen suunnitelma - StatbeatMOBILE

TYPO3 - Open Source Enterprise CMS

OSI ja Protokollapino

Tilaajavastuu.fi. Muutoshistoria. Suomen Tilaajavastuu Oy. Raporttinoutaja Rajapinta yritysten tilaajavastuutietojen tarkistamiseen

X-Road ja WFS-rajapinnat, uudet APIt. Pekka Latvala , KaPA ja paikkatietoinfrastruktuurin kärkiteeman työpaja

Open Arctic Challenge -kilpailu. Anna Keskitalo Data-asiantuntija 6Aika - Avoin data ja rajapinnat

Sosiaalihuollon asiakastiedon arkiston validointipalvelu

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

Avoin metsätieto - Rajapintapalvelut

Järjestelmäarkkitehtuuri (TK081702) Web Services. Web Services

Laitteessa tulee olla ohjelmisto tai uudempi, tarvittaessa päivitä laite

3 Verkkopalveluarkkitehtuuri

Open Arctic Challenge - kilpailu. Anna Keskitalo Data-asiantuntija 6Aika - Avoin data ja rajapinnat

Web sovelluksen kehittäminen sähkönjakeluverkon suojareleisiin

10 Nykyaikainen WWW-arkkitehtuuri

Tekstiviestipalvelun rajapintakuvaus

sertifikaattiratkaisu Apitamopki

9 Edistynyt PHP-ohjelmointi

PUSH palvelut mobiilikehityksessä: Android ja Windows phone 7. Pauli Kettunen

Tietosuojaseloste. Trimedia Oy

Neoxen Systems on suomalainen ohjelmistotalo. Olemme erikoistuneet tiedon- ja oppimisen hallinnan ratkaisuihin.

Qt kaikkialla?

Ilmonet ja rajapinnat Pääkaupunkiseudun kansalais- ja työväenopistojen kurssit

Julkaisuarkistojen käyttötilastot: Mitä tilastoidaan ja miksi?

Please note! This is a self-archived version of the original article. Huom! Tämä on rinnakkaistallenne.

Taustaa. CGI-ohjelmointi

ETÄTERMINAALIYHTEYS SELAIMELLA

XML johdanto, uusimmat standardit ja kehitys

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri

REST rajapintana mobiilikehityksessä

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A Kandidaatintyö ja seminaari

Visma Software Oy

Tekninen suunnitelma - StatbeatMOBILE

Visma Nova Webservice Versio 1.1 /

HOJ Haja-aiheita. Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10

Harri Kaukovuo Senior Sales Consultant Technology Sales Oracle Finland Oy

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

Dart. Ryhmä 38. Ville Tahvanainen. Juha Häkli

Rajapinnat kuntajärjestelmissä #Kuntamarkkinat

Järjestelmäarkkitehtuuri (TK081702) SOA, Service-oriented architecture SOA,

Avoimen lähdekoodin karttapalvelu Oskarin hyödyntäminen HSY:ssä. Henna-Kaisa Räsänen HSY paikkatietoseminaari Finlandia-talo

Kanta PHR:n CapabilityStatement ja REST-API. Eeva Turkka

Tietoliikenne II (2 ov)

HY:n ehdotus käyttäjähallintotuotteesta

PILETTI. Tekninen vaatimusmäärittely. v. 0.2

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

Integrointi. Ohjelmistotekniikka kevät 2003

Palveluiden hyötyjen ja vaikutusten todistaminen Palveluiden hyötyjen ja vaikutusten todistaminen/ Ville Jussila

WWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys

Muutokset suoran sanoma-asioinnin web servicepalvelun

The OWL-S are not what they seem

Uloskirjautuminen Shibbolethissa

Komission asetus latauspalveluista Jani Kylmäaho Inspire-sihteeristö

Rajapintojen käyttö tiedonsiirrossa

MOBISITE-TYÖKALUN SISÄLTÄMÄT TOIMINNOT

Tietojärjestelmien yhteensovittaminen turvallisesti älykkäisiin koneisiin

13/20: Kierrätys kannattaa koodaamisessakin

Rajapintapalveluiden toteutusvaihtoehdot ja tilaaminen. Kunnat ja Inspire koulutus Jani Kylmäaho

Tulevaisuuden Internet. Sasu Tarkoma

Vaatimusluettelo. Liite2_Vaatimusluettelo. Tun nus (ID) Kpl Tärkeys Toimittajan kommentit Navigointi. Haut

Arkkitehtuuri. Ylätason sovellusarkkitehtuuri

Vuoden 2018 alusta voimaan astunut rajapintojen avaamisvelvoite viranomaisnäkökulmasta

Palomuurit. Palomuuri. Teoriaa. Pakettitason palomuuri. Sovellustason palomuuri

ASP.NET Web API 2:ta hyödyntävä Angular 4 -sovellus

Jarmo Pihlajaniemi. REST-pohjaisen web-rajapinnan kehittäminen

Kanta PHR:n CapabilityStatement ja REST-API. Eeva Turkka

Pikaopas. Ohjeiden etsiminen Hae ohjesisältöä napsauttamalla kysymysmerkkiä.

Olet tehnyt hyvän valinnan hankkiessasi kotimaisen StorageIT varmuuskopiointipalvelun.

MatTaFi projektin HAKA-pilotti

Transkriptio:

Järjestelmäarkkitehtuuri (TK081702) yleistyvät verkkopalveluissa Youtube Google... Avaavat pääsyn verkkopalvelun sisältöön. Rajapintojen tarjoamia tietolähteitä yhdistelemällä luodaan uusia palveluja, mashupeja. Verkkopalvelujen rajapinnat tarjoavat palveluja, joita ohjelmoijat voivat hyödyntää omissa sovelluksissaan/palveluissaan. Web-rajapintojen avulla voidaan luoda uusia palveluja, yhdistellään sisältöjä eri tietolähteistä 1

Esimerkiksi normaalisti mashup on Googlen karttapalvelua hyödyntävä sovellus. Kartta voi toimia käyttöliittymänä monenlaiselle paikkasidonnaiselle tiedolle. Esimerkiksi valokuvat ja videot voidaan esittää kartalla kuvauspaikkaan perustuen. Erilaisia web-rajapintoja on listattu Programmableweb-palvelussa kaikkiaan satoja. http://www.programmableweb.com Web-rajapintoja hyödyntäviä yhdistelmäpalveluja tunnetaan tuhansia Web-rajapintojen ovat avoimuudesta ja ohjelmointikielestä riippumattomuuden vuoksi rajapintoja hyödyntävät sovellukset yleistyvät nopeasti. Sovelluksen voi toteuttaa C#-kielellä, javascriptillä,... Ohjelmoijan tehtäväksi jää etäkutsun palauttaman xmlmuotoisen sisällön muokkaaminen omaan sovellukseensa soveltuvaan muotoon. 2

Web-sovellusten lisäksi rajapintaa voivat käyttää työpöytä- ja mobiilisovellukset. Mobiilisovelluksissa ollaan vasta hyödytämässä aina käytettävissä olevan tietoliikenteen mahdollisuuksia. Esimerkki Youtube-palvelu rajapinnan mahdollista videoleikkeiden haut tekijän mukaan rajapinta tarjoaa kolme metodia käyttäjätietoon ja kahdeksan metodia videoleikkeisiin. Haun tuloksen rajapinta palauttaa xml-tulosteena. Tulos sisältää esimerkiksi videoleikkeiden osoitteet Esikatselukuvat Kun tiedot yhdistetään paikkatiedon kanssa karttapalvelussa tai omassa sovelluksessa saadaan aikaiseksi mashup 3

Web-rajapinnan metodille lähetetään kutsu xmlrpc- ja rest-tyyppisenä. Rest-kysely tehdään http:n get-menetelmällä voi kokeilla selaimella Youtube edellyttää parametrinä kehittäjätunnusta. Vastaavanlainen menetelmä käytössä muissakin yleisissä palveluissa Youtuben käyttäjäprofiilit ovat julkisia. Metodilla youtube.users.get_profile saadaan haettua parametrina välitetyn käyttäjätunnuksen profiili (saatavilla myös www-sivuilta). Jokaisella videotiedostolla on yksilöllinen tunniste Youtube-palvelussa. Tunnisteen avulla on mahdollista hakea videoleikkeen tiedot metodia youtube.videos.get_details käyttäen. Xml-rpc-kyselyssä viestit ovat soapin tavoin xmlmuotoisia. Viestin rakenne muodostuu methodcall- ja methodname-elementeistä. Tarvittavat parametrit kootaan params-elementin sisälle. Web-rajapinnan vastaus noudattaa samankaltaista xml-rakennetta. 4

Xml-rpc-, rest- ja web service -kyselyt vastauksineen kulkevat http-protokollan päällä. Mahdollistaa sovellusten välisen liikenteen palomuurien läpi. Rest ei ole varsinainen protokolla, vaan arkkitehtuurinen malli asiakas-palvelin - sovelluksesta, jossa web-rajapinnan metodit ovat resursseja. Kullakin resurssilla on oma osoitteensa. Kysely perustuu http-pyyntöön, joka hyödyntää get-, post- tai put-tyyppisiä metodeja. Useimmat web-rajapinnat käyttävät kuitenkin vain get-metodia. Vastaavalla pyynnöllä haetaan web-sivuja, mutta html-muotoisen tiedoston sijaan web-rajapinta palauttaa xml-tietueen. REST-palvelut toteuttavat kommunikoinnin kevyemmin ja tehokkaammin verrattessa SOAP:n (Simple Object Access Protocol) 5

REST (Representational State Transfer) on alunperin tarkoitettu hypermediajärjestelmien arkkitehtuurityyliksi. REST käyttää tyypillisesti HTTP-protokollaa (GET, POST) ja nojautuu korkean tason rajapintaoperaatioiden käyttöön. Joten web-palveluiden palvelut ja operaatiot on määritelty valmiiksi (ei vastaa aitoa web-palvelurakennetta). Tietoturva, avoimet web-rajapinnat Pahimpana uhkana pidetään XSS-haavoittuvuutta (Cross-Site-Scripting) Tilanne syntyy, kun web-palvelin ottaa vastaan dataa ulkoisesta lähteestä ja lähettää sen eteenpäin validoimatta ensin sen sisältöä. Suojatuminen edellyttää sivujen ohjelmoijalta tietoturvallisen ohjelmoinnin periaatteiden noudattamista. Tietoturva, avoimet web-rajapinnat Aikaisemmin ongelmilta oltiin suojassa suljettujen järjestelmien asioista. Myös selaimet tutkivat suoritettavan koodin lähdettä. Oman sovelluksen ja julkisen palvelun rajapinta hämärtyy. Esimerkiksi julkisen hakukoneen linkittäminen yrityksen sivustolle. 6

Tietoturva, avoimet web-rajapinnat Palveluiden toteutuksessa sovelluskehitys on mennyt tietoturvan edelle. Sivustojen analysointi työkalut eivät pysty analysoimaan jatkuvasti muuttuvia sivustoja. 7