Näin avaat dataa -koulutus Mikä on (avoin) rajapinta?

Slides:



Advertisements
Samankaltaiset esitykset
Pilviväylä - kolme rinnakkaista prosessia Projektipäällikkö Jarkko Moilanen.
Advertisements

ENTERPRISE SEARCH Toteutustekniikka Mikko Uusitalo Tampereen ammattikorkeakoulu.
Wikin pikaohje /ut. Kirjautuminen palveluun • Mene osoitteeseen valitse sivun oikeasta yläkulmasta ”Sign.
Kansalliskirjasto, DSpace ja julkaisuarkistot FinnOA:n julkaisuarkistoworkshop, Jyrki Ilva, Kansalliskirjasto
Suorita menulta voit ottaa yhteyden iSeries:iin tai katkaista yhteyden sinne ja poistua RI400:sta.
JavaScript (c) Irja & Reino Aarinen, 2007
Tehdään nettisivu  suunnittelu  rakentaminen  testaaminen  julkaiseminen.
Www-sivuston ja verkkopalvelun rakentaminen Miten tehdä yritykselle www-sivut?
OULU ADVANCED RESEARCH ON SOFTWARE AND INFORMATION SYSTEMS Teppo Räisänen | Oulun yliopisto Facebook API Teppo Räisänen Tietojenkäsittelytieteiden.
1 Java-kieleen pohjautuvien ohjelmien käyttökohteita Ohjelmat Appletit JavaBeans JavaScript Java Server Pages (JSP) Java Servletit J2ME, mobiililaitteet.
Suunnitelma ohjelmiston testaukseen
INTERNET MEDIANA Pääpiirteitä
HTML-kielen perusteet Osa 1 Vilho Kemppainen
Jouni Juntunen Oulun seudun ammattikorkeakoulu Liiketalouden yksikkö Netbeans ja XAMPP Projektin luominen.
Tutkimusdatapalvelut
Aineistojen tuonti Finnaan KIRJASTOVERKKOPALVELUT Tietueiden haravointi ja indeksointi (Record Manager)  Kansalliskirjasto tekee keskitetysti.
Erik Fallenius Kevät  Taustaa ◦ Ontologiat  Tavoitteet  Teknologiat ◦ Dojo/AJAX ◦ JSON ◦ SOAP  Projektin kulku  Lopputulos – demo.
W w w. h a m k. f i Wiki koulutus Leenakaija Lehto
EXtensible Markup Language
FUAS Virtuaalikampus Tilannekatsaus Sisältö • Visiointipäivän satoa • ACSI leirin tuloksia • Miten jatketaan eteenpäin.
Vapaa Ohjelmisto.  Vapaa ohjelmisto on ohjelmisto jota voi käyttää, tutkia, muuttaa ja jakaa eteenpäin vapaasti.  FLOSS (Free / Libre Open Source Software)
Verkkosivut opettajan apuna
Helsinki Region Infoshare Julkiset tietovarannot avoimeksi dataksi Projektipäällikkö Ville Meloni & Pekka Vuori Forum Virium Helsinki & Helsingin kaupungin.
Lipas Suomalaisten liikuntapaikkojen tietopankki
Internetistä haku: USB portti – tiedonhaun vertailua Jouni Ojanperä TP09S
Ketterä kehitys käytännössä – TFS & Meteor
Maanmittauslaitoksen paikkatiedon palvelualustan pilotti - avoin rajapinta Jakob Ventin Korkeakoulujen valtakunnalliset IT-päivät
Marja Toivonen gsm Tuumasta toimeen – seminaarin päätös Aktiivi
Paikkatietojen hyödyntäminen Turun sosiaali- ja terveystoimessa sekä kasvatus- ja opetustoimessa Katariina Hilke Turun kaupunki / Strategia ja viestintä.
Tietoyhteiskunnan palveluarkkitehdit ja -rakentajat © 2014 Gofore 1 ePerusteet – tietomalli ja rajapinnat Jarkko Hyöty Opetushallituksen tarjoamien.
URI Universal Resource Identifier Matti BrockmanMatti Brockman, , TKTLTKTL.
Open source -kirjastojärjestelmistä Matti Sarmela Kirjastot.fi Open source -kirjastojärjestelmistä.
KANSALLISKIRJASTO - Kirjastoverkkopalvelut ONKI-projekti Dataportaali
Finna ja avoimen metadatan lisenssi Finnan konsortioryhmä Tapani Sainio, Kansalliskirjasto.
Mikä ihmeen Office 365? Office 365
Web 2.0 tiivistetysti 1. Ohjelmistoalusta on Web. Webtop korvaa Desktopin. Keskeistä yhteisöllisyys ja ”Software as a Service”. 2. Kollektiivisen älyn.
4-Tietokantaohjelmointi Teuhola Tietokantasovellusten ohjelmointi Taustaa 4.1. Relaatioskeemaa täydentäviä piirteitä 4.2. Sulautettu SQL, Java.
Heikki Salokanto Valvoja: prof. Jukka Manner Ohjaaja: DI Pekka Pajuoja, TEKES Sovelluskehitysympäristön virtualisoinnin tuomat edut ja haitat.
JohdantotMyn1 Johdanto Verkkopalvelun koostamiseen käytetään koosteohjelmia ja ohjelmointikieliä. Verkkopalvelun toteutus voi vaatia myös palvelinohjelmointia.
Lomakkeet © Reiska, Lomakkeet Varsinkin Web-sovelluksia ajetaan täyttämällä sivulla lomake ja lähettämällä tiedot palvelimella olevan Web-sovelluksen.
Luotettavaa tietoa KARELIA AMK, Kirjasto Sisältö o Miten tunnistat luotettavan tiedon? o Emme elä villissä lännessä - muista tekijänoikeudet!
XHTML-perusteita Teppo Räisänen
Drupal Luonnonvarat joulutapaaminen Mikko Laine, Maanmittauslaitos.
SerAPI-Potilaslista osa I: Alustus , Kuopio Juha Mykkänen, Marko Sormunen, Assi Pöyhölä, Hannu Virkanen.
KANSALLISKIRJASTO - Kirjastoverkkopalvelut UKJ toteutusvaihtoehtojen tutkiminen Minna Kivinen, UKJ-ohjausryhmän kokous
PlugIT-ydinrajapinnoista Marko Sormunen PlugIT-projekti, HIS-yksikkö Kuopion tietotekniikkakeskus Kuopion yliopisto
Opasnet päätöksenteon työkaluna Jouni Tuomisto, THL.
Wiki …ja muutamia huomioita sosiaalisesta mediasta [työyhteisöjen näkökulma] Kulttuurituotanto YAMK | | Milla Laasonen.
HTTP (c) Reino Aarinen, HTTP yhteyskäytäntö Web asiakasohjelmat (yleensä erilaiset selaimet) käyttävät HTTP protokollaa tiedon siirtoon WWW sivustojen.
Ydinpalveluiden (käyttäjä, käyttöoikeus, potilas).NET-palvelutoteutus: CoreServiceDemo PlugIT-loppuseminaari Koulutustyöpaja 1: Avoimet ohjelmistorajapinnat.
XSL Teppo Räisänen
XSL Teppo Räisänen
Kottarainen Jyväskylän yliopisto - Sovellusprojekti WWW-pohjainen kyselysovellus.
Jawbone UP API Juho Koivumäki
Datan tuominen rajapinnasta kartalle tai Exceliin Faris Alsuhail Helsingin kaupunki / Tietokeskus fi.linkedin.com/in/farisalsuhail/
Helsingin ja seudun menestys – entä riskit? Helsinki Region Infoshare Asta Manninen Avoimen tiedon ohjelma Avoin data ja avoin tieto.
Helsinki Region Infoshare -palvelu Kokemuksia ja suunnitelmia JHS 189 Avoimen tietoaineiston käyttölupa -seminaari Projektipäällikkö Tanja Lahti.
Kuntatilastotietojen saatavuuden parantaminen Kuntatieto-ohjelman muutosseminaari Kaija Ruotsalainen.
1 WS-I vs REST vs Ajax Eetu Mäkelä. 2 WS-I WS-I on standardipino, joka määrittelee kaiken mitä tarvitaan siihen että jokin ohjelma voi tehdä RPC-kutsun.
Avoin data, TK ja virallinen tilasto
Mitä hyötyä avoimesta datasta työhön?
Mitä on avoin data ja kuinka kartoittajat voivat hyödyntää sitä?
Kansallinen palveluväylä PERTIVA-kokous
Kierros 4 - OLO Web.
Kaikki säätiedot yli sääasemalta Anton Mikkola
Web-sovellusten kehittäminen - Johdanto
Istuntojen hallinta PHP-sovelluksessa
Datan ja aineistojen avaaminen
Video 4: Avoimen ja yhteisen rajapinnan hallinnan esimerkkejä
Video 4: Avoimen ja yhteisen rajapinnan hallintasuunnitelma
Esityksen transkriptio:

Näin avaat dataa -koulutus Mikä on (avoin) rajapinta?

Mikä on avoin rajapinta? Datarajapinnan rakentaminen, haasteet Luennon rakenne Mikä on rajapinta? Mikä on avoin rajapinta? Datarajapinnan rakentaminen, haasteet Teknologiat, formaatit, työkalut 27.3.2015 Näin avaat dataa –koulutus / Henri Kotkanen

Mikä on rajapinta?

Vähentää toimittajariippuvuutta Mikä on rajapinta? Rajapinta-arkkitehtuurin edut yleisesti Johtaa modulaariseen arkkitehtuuriin Helpottaa ylläpitoa ja jatkokehitystä Vähentää toimittajariippuvuutta 27.3.2015 Näin avaat dataa –koulutus / Henri Kotkanen

Mikä on rajapinta? Tietotekniikkaohjelma 2015-2017 (luonnos) Tietohallinnon kehittämisen periaatteet Palvelujen yhteentoimivuutta, tiedon saatavuutta ja avointa kehitystä tuetaan lisäämällä digitaalisten tietosisältöjen ja tietoteknisten rajapintojen saatavuutta. Organisaation oman toiminnan ja ICT-ostokäyttäytymisen kehittäminen Tietojen saatavuutta parannetaan kaupungin oman organisaation sisällä rakentamalla avoimia rajapintoja olemassa oleviin järjestelmiin ja edellyttämällä avointen ja dokumentoitujen rajapintojen olemassaolo hankittavissa järjestelmissä. Lähde: http://dev.hel.fi/paatokset/asia/hel-2015-001229/ 27.3.2015 Näin avaat dataa –koulutus / Henri Kotkanen

Käytä rajapintoja tai…? Kuvan lähde: http://commons.wikimedia.org/wiki/File:Hortus_Deliciarum_-_Hell.jpg 27.3.2015 Näin avaat dataa –koulutus / Henri Kotkanen

Mikä on rajapinta? API eli Application Programming Interface Wikipedia: (http://en.wikipedia.org/wiki/Application_programming_interface ) In computer programming, an application programming interface (API) is a set of routines, protocols, and tools for building software applications. An API expresses a software component in terms of its operations, inputs, outputs, and underlying types. Sama suomeksi: API on rajapinta, joka määrittelee ohjelmistokomponenttien vuorovaikutuksen muodot viitaten operaatioihin, syötteisiin, tulosteisiin ja tietotyyppeihin. 27.3.2015 Näin avaat dataa –koulutus / Henri Kotkanen

Mikä on rajapinta? API eli Application Programming Interface Toisin sanoen: API on määritelty ja dokumentoitu sopimus siitä, miten ohjelmistokomponentit kommunikoivat keskenään ja käskevät toisiaan. 27.3.2015 Näin avaat dataa –koulutus / Henri Kotkanen

Mikä on rajapinta? API eli Application Programming Interface Rajapinta Tietojärjestelmä Dokumentaatio 27.3.2015 Näin avaat dataa –koulutus / Henri Kotkanen

Johtaa modulaariseen arkkitehtuuriin Mikä on rajapinta? Rajapinta-arkkitehtuurin edut yleisesti Johtaa modulaariseen arkkitehtuuriin Helpottaa ylläpitoa ja jatkokehitystä Vähentää toimittajariippuvuutta 27.3.2015 Näin avaat dataa –koulutus / Henri Kotkanen

Rajapinnat voi jakaa kahteen ryhmään: Mikä on rajapinta? Data- vs. toiminnalliset rajapinnat Rajapinnat voi jakaa kahteen ryhmään: Datarajapinnat, vain tarjoilevat dataa pyynnöstä OpenAhjo (http://dev.hel.fi/apis/openahjo, http://dev.hel.fi/paatokset) Palvelukartan toimipisterajapinta (http://www.hel.fi/palvelukarttaws/rest/index_en.html, http://dev.hel.fi/servicemap) Toiminnalliset rajapinnat, joiden läpi voi tallentaa järjestelmän tietoja Palautejärjestelmän rajapinta (Open311) (http://dev.hel.fi/apis/issuereporting) 27.3.2015 Näin avaat dataa –koulutus / Henri Kotkanen

Mikä on rajapinta? Rajapinnan edut verrattuna eräajotiedostoihin Pienille, harvoin muuttuville tai historiallisille tietoaineistoille edut ei ehkä niin merkittäviä. Vähänkään suuremmille tai vähänkään useammin päivittyville dataseteille edut merkittäviä Helpompi valita kiinnostava osajoukko Helpompi yhdistellä muihin aineistoihin Helpompi kehittää sovelluksia ja käyttöliittymiä Kehittäjäyhteisö hoitaa innovoinnin 27.3.2015 Näin avaat dataa –koulutus / Henri Kotkanen

Mikä on avoin rajapinta?

Mikä on avoin rajapinta? Määritelmän hahmottelua Määritelmä vasta luonnosvaiheessa, mutta jo käyttökelpoinen Esim. hankintasopimusten muotoilun helpottamiseksi Lisää aiheesta: http://okf.fi/avoin-rajapinta http://otsokivekas.fi/2014/06/avoin-rajapinta/ http://p2pfoundation.net/Open_API 27.3.2015 Näin avaat dataa –koulutus / Henri Kotkanen

Mikä on avoin rajapinta? Avoimen rajapinnan määritelmä Dokumentoitu Dokumentaatio on saatavilla vapaasti ja riittävän tarkka, jotta käyttö on vaivatonta Käyttöönotettava Jos vaaditaan rekisteröitymistä, ne hyväksytään automaattisesti Testattava Jos data suljettua, tarjottava vähintään testiympäristö tai asennusmahdollisuus 27.3.2015 Näin avaat dataa –koulutus / Henri Kotkanen

Mikä on avoin rajapinta? Tärkeää panna merkille! Avoin rajapinta ≠ Avoin data Vapaa pääsy tuotantoympäristöön Vrt. potilastietojärjestelmä 27.3.2015 Näin avaat dataa –koulutus / Henri Kotkanen

Vähentää toimittajariippuvuutta Mikä on rajapinta? Rajapinta-arkkitehtuurin edut yleisesti Johtaa modulaariseen arkkitehtuuriin Helpottaa ylläpitoa ja jatkokehitystä Vähentää toimittajariippuvuutta 27.3.2015 Näin avaat dataa –koulutus / Henri Kotkanen

Mikä ottaa huomioon datan julkaisemisessa rajapinnan kautta?

Rajapinnan rakentaminen Käyttö on tärkeintä – datan arvo kasvaa käytön myötä Perustaksi käyttötapaus / käyttötapauksia Eat your own dog food Iteratiivisuus Etukäteen täydellinen suunnittelu on yleensä hyvin vaikeaa Vuorovaikutus käyttäjä- ja kehittäjäyhteisön kanssa 27.3.2015 Näin avaat dataa –koulutus / Henri Kotkanen

Rajapinnan rakentaminen Iteraatioesimerkki Data dumppina ulos olemassaolevasta järjestelmästä Ajetaan data rajapintasovelluksen tietokantaan Kehitetään luonnos rajapinnasta ja sitä käyttävästä käyttöliittymästä Arvioidaan rajapintaa/käyttöliittymää itse ja palautetta keräämällä Takaisin kohtaan 3. 27.3.2015 Näin avaat dataa –koulutus / Henri Kotkanen

Rajapinnan rakentaminen Iteraatioesimerkki jatkuu Kun ollaan tyytyväisiä rajapinnan toiminnallisuuteen, voidaan: Automatisoida eräajotiedosto -> rajapinnan tietokanta Uudistaa järjestelmä siten, että se sisältää rajapintapalvelun 27.3.2015 Näin avaat dataa –koulutus / Henri Kotkanen

Rajapinnan rakentaminen Haasteet? Resurssit Alkuinvestoinnin jälkeen elämä tosin helpompaa Maturointiprosessi / palvelun siirtäminen kehitysvaiheesta ylläpitoon Haasteet liittynee vastuiden jakamiseen: kuka ohjaa jatkokehitystä, vastaa (ja maksaa) ylläpidosta, ”omistaa” palvelun? Onneksi moderneilla teknologioilla rakennetut rajapintasovellukset helppoja viedä tuotantoon virtuaaliservereille, joiden ylläpito on vaivatonta ja halpaa. 27.3.2015 Näin avaat dataa –koulutus / Henri Kotkanen

Web-rajapintasovelluksiin liittyvät Teknologiat, formaatit, työkalut

Teknologiat Erilaiset rajapinnat Rajapintateknologioita / -arkkitehtuureja on monia: REST (tästä lisää seuraavilla kalvoilla) WFS WMS SOAP 27.3.2015 Näin avaat dataa –koulutus / Henri Kotkanen

Teknologiat Johdatus RESTiin: WWW:n toiminta WWW toimii verbeillä: GET POST PUT DELETE … 27.3.2015 Näin avaat dataa –koulutus / Henri Kotkanen

Teknologiat WWW:n toiminta, URL Eri sivustot erotetaan toisistaan käyttämällä URL-osoitteita. Selain siis yksinkertaistettuna lähettää palvelimelle pyynnön: GET www.hel.fi/tietokeskus, johon palvelin vastaa lähettämällä HTML-sivun. HTML tarkoitettu ihmisen luettavaksi 27.3.2015 Näin avaat dataa –koulutus / Henri Kotkanen

Teknologiat Web-rajapinnat / REST Huomataan, että URL-osoitteessa voi asua data-resurssi HTML-sivun sijasta, ja että sitä voidaan pyytää samaisella GET-verbillä. Esim. GET http://api.hel.fi/linkedevents/v0.1/place/matko:176/ Palvelimen vastaus: 27.3.2015 Näin avaat dataa –koulutus / Henri Kotkanen

Teknologiat Web-rajapinnat / REST REST-tyylisissä rajapinnoissa siis: Tietoalkiot asuvat URL-osoitteissa Kaikki tapahtumapaikat http://api.hel.fi/linkedevents/v0.1/place/ Yksittäinen tapahtumapaikka http://api.hel.fi/linkedevents/v0.1/place/matko:176 27.3.2015 Näin avaat dataa –koulutus / Henri Kotkanen

Formaatit Em. esimerkit olivat JSON-muotoisia, joka on yleinen REST- rajapintojen käyttämä formaatti JSON on yleiskäyttöinen ja varma valinta, jota modernin web- rajapinnan pitäisi ainakin palauttaa. XML oli yleinen aiemmin, mutta ainakin web-rajapinnoissa sen suosio laantumassa. Paikkatietostandardeissa vielä voimissaan 27.3.2015 Näin avaat dataa –koulutus / Henri Kotkanen

Formaatit Standardeja Paikkatieto: GML (http://en.wikipedia.org/wiki/Geography_Markup_Language) KML (http://en.wikipedia.org/wiki/Keyhole_Markup_Language) GeoJSON (http://geojson.org/) Tilastotieto: JSON-stat (http://json-stat.org/) Joukkoliikenne GTFS (https://developers.google.com/transit/gtfs/) Talousdata: OpenSpending (https://openspending.org/) Häiriötilanteet Open311 (http://www.citysdk.eu/citysdk- toolkit/using-the-apis/open311-api/) 27.3.2015 Näin avaat dataa –koulutus / Henri Kotkanen

Työkalut Selainlaajennukset rajapintojen katseluun Pyyntöjen tekeminen: GETin voi tehdä millä tahansa selaimella käyttäjämällä osoiteriviä. Muita pyyntöjä (esim. POST, PUT, DELETE) varten laajennuksia: Postman, REST console, REST client… Vastausten tarkasteleminen: Laajennukset, jotka muotoilevat yleisiä formaatteja luettavammiksi: Pretty JSON, XML tree 27.3.2015 Näin avaat dataa –koulutus / Henri Kotkanen

Kiitos! Muista ettet ole yksin! Apua saa kysymällä! Avoimen ohjelmistokehityksen tiimi (Kaupunginkanslia/TiVi) Helsinki Region Infoshare (HRI) Projektipäällikkö Tanja Lahti tanja.lahti@hel.fi Suunnittelija Hami Kekkonen hami.kekkonen@hel.fi Projektipäällikkö Juha Yrjölä juha.yrjölä@hel.fi Projektisuunnittelija Henri Kotkanen henri.kotkanen@hel.fi 17.9.2012 Tapahtuma/Esittäjä