{"id":156,"date":"2015-03-14T20:11:25","date_gmt":"2015-03-14T18:11:25","guid":{"rendered":"http:\/\/sorvipenkki.fi\/blog\/?p=156"},"modified":"2015-03-14T20:11:25","modified_gmt":"2015-03-14T18:11:25","slug":"rajapinnoista","status":"publish","type":"post","link":"http:\/\/sorvipenkki.fi\/blog\/2015\/03\/14\/rajapinnoista\/","title":{"rendered":"Rajapinnoista"},"content":{"rendered":"<figure id=\"attachment_157\" aria-describedby=\"caption-attachment-157\" style=\"width: 240px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/i0.wp.com\/sorvipenkki.fi\/blog\/wp-content\/uploads\/2015\/03\/Tsahi_API_calls.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"157\" data-permalink=\"http:\/\/sorvipenkki.fi\/blog\/2015\/03\/14\/rajapinnoista\/tsahi_api_calls\/\" data-orig-file=\"https:\/\/i0.wp.com\/sorvipenkki.fi\/blog\/wp-content\/uploads\/2015\/03\/Tsahi_API_calls.jpg?fit=240%2C194\" data-orig-size=\"240,194\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Tsahi Levent-Levi, API calls, https:\/\/www.flickr.com\/photos\/86979666@N00\/8692704103\" data-image-description=\"&lt;p&gt;Tsahi Levent-Levi, API calls, https:\/\/www.flickr.com\/photos\/86979666@N00\/8692704103&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;Tsahi Levent-Levi, API calls, https:\/\/www.flickr.com\/photos\/86979666@N00\/8692704103&lt;\/p&gt;\n\" data-medium-file=\"https:\/\/i0.wp.com\/sorvipenkki.fi\/blog\/wp-content\/uploads\/2015\/03\/Tsahi_API_calls.jpg?fit=240%2C194\" data-large-file=\"https:\/\/i0.wp.com\/sorvipenkki.fi\/blog\/wp-content\/uploads\/2015\/03\/Tsahi_API_calls.jpg?fit=240%2C194\" class=\"size-full wp-image-157\" src=\"https:\/\/i0.wp.com\/sorvipenkki.fi\/blog\/wp-content\/uploads\/2015\/03\/Tsahi_API_calls.jpg?resize=240%2C194\" alt=\"Tsahi Levent-Levi, API calls, https:\/\/www.flickr.com\/photos\/86979666@N00\/8692704103\" width=\"240\" height=\"194\" \/><\/a><figcaption id=\"caption-attachment-157\" class=\"wp-caption-text\">Tsahi Levent-Levi, API calls, https:\/\/www.flickr.com\/photos\/86979666@N00\/8692704103<\/figcaption><\/figure>\n<p>Tampereen teknillisen yliopiston Ohjelmallinen sis\u00e4ll\u00f6nhallinta -opintojaksossa tarjottiin helmikuussa <a title=\"Vierailuluento: Web-APIt ja avoin data\" href=\"https:\/\/www.facebook.com\/events\/451089571704908\" target=\"_blank\">vierailuluento web-ohjelmointirajapinnoista<\/a>. Luennolla puhuivat OKM:n kehitt\u00e4misp\u00e4\u00e4llikk\u00f6 <a title=\"Opetus- ja kulttuuriministeri\u00f6, Jarkko Moilanen\" href=\"http:\/\/www.minedu.fi\/OPM\/Yhteystiedot_ja_asiointi\/tehtaevaet_ja_henkiloet_-hakemisto\/index.html?lang=fi&amp;navigation=henkilohakemisto.osastoittaintaiyksikoittain&amp;navigation2=henkilohakemisto.strategia_ja_ohjausryhma_kopo&amp;type=uName&amp;navigation3=Moilanen+Jarkko&amp;id=291\" target=\"_blank\">Jarkko Moilanen<\/a> ja Tampereen kaupungin tietohallinnon edustaja Joonas Dukpa.<\/p>\n<p>Moilanen pohdiskeli <a title=\"Wikipedia, Ohjelmointirajapinta\" href=\"http:\/\/fi.wikipedia.org\/w\/index.php?title=Ohjelmointirajapinta&amp;oldid=14647288\" target=\"_blank\">ohjelmointirajapintojen (application programming interface, API)<\/a> merkityst\u00e4 tietoj\u00e4rjestelmien kehitt\u00e4misess\u00e4 ja Dukpa kertoi <a title=\"Tampereen kaupunki, avoin data\" href=\"http:\/\/www.tampere.fi\/tampereinfo\/avoindata.html\" target=\"_blank\">Tampereen kaupungin avoin data -ohjelmasta<\/a>.<\/p>\n<p>Moilasen mukaan suunta on se, ett\u00e4 maailmalla start-up-yrityksiss\u00e4 homma l\u00e4htee nyky\u00e4\u00e4n rajapintojen rakentamisesta. Rajapintoja ja pilviteknologiaa pidet\u00e4\u00e4n v\u00e4ltt\u00e4m\u00e4tt\u00f6min\u00e4 digitaaliselle liiketoiminnolle.<\/p>\n<p>Rajapinta ideana on vanha juttu: yhten\u00e4 aloituskohtana pidet\u00e4\u00e4n Roy Fieldingsin vuonna 2000 julkaisemaa v\u00e4it\u00f6skirjaa <a title=\"Roy Thomas Fielding (2000),  Architectural Styles and the Design of Network-based Software Architectures, University of California\" href=\"http:\/\/www.ics.uci.edu\/~fielding\/pubs\/dissertation\/top.htm\" target=\"_blank\">Architectural styles and the design of network-based software architecture<\/a>. K\u00e4\u00e4nnekohtana Moilanen pit\u00e4\u00e4 vuotta 2006, jolloin julkaistiin muun muassa sosiaalisen median verkkopalvelujen rajapintoja (<a title=\"Facebook API\" href=\"https:\/\/developers.facebook.com\/\" target=\"_blank\">Facebook API<\/a>, <a title=\"Twitter API\" href=\"https:\/\/dev.twitter.com\/\" target=\"_blank\">Twitter API<\/a>) ja Amazonin pilvipalveluja (<a title=\"Amazon S3\" href=\"http:\/\/aws.amazon.com\/s3\/\" target=\"_blank\">Amazon S3<\/a>, <a title=\"Amazon EC2\" href=\"http:\/\/aws.amazon.com\/ec2\/\" target=\"_blank\">Amazon EC2<\/a>). Vuonna 2007 telekommunikaatioteknologiaan erikoistunut yritys <a title=\"Twilio\" href=\"https:\/\/www.twilio.com\/\" target=\"_blank\">Twilio<\/a> on kiinnostava rajapintojen n\u00e4k\u00f6kulmasta, koska sen liiketoimintaidea perustuu ohjelmointirajapintojen tarjoamiseen puhelin- ja tekstiviestiliikenteen hallinnointiin.<\/p>\n<p>Tekninen rajapinta vain yksi osa kokonaisuutta. Kyse on ekosysteemist\u00e4, jonka muodostavat muun muassa kehitt\u00e4j\u00e4t, itse j\u00e4rjestelm\u00e4, konteksti, asiakkaat, trendit &amp; tarpeet. Asiakkaissakin on eroa: rajapinnan asiakas eri kuin lopputuotetta k\u00e4ytt\u00e4v\u00e4 asiakas.<\/p>\n<p>Verkkopalvelun tekninen arkkitehtuuri on monimutkaistunut. Vuonna 2006 voitiin verkkopalvelu-ymp\u00e4rist\u00f6 kuvata kutakuinkin 3 palikalla, jotka olivat web-sovellus + taustalla oleva tietokanta (esim. SQL) + loppuk\u00e4ytt\u00e4j\u00e4. Web-sovelluksen takana oli useita rajapintoja (esimerkiksi SOAP ja JSON (esimerkiksi laskutuksessa k\u00e4ytetyt rajapinnat), screen scraping -&#8221;rajapinta&#8221;, WMS (esim. karttapalveluissa k\u00e4ytetty rajapinta), jotka osaltaan muodostavat web-sovellus-kokonaisuuden.<\/p>\n<p>Vuonna 2013 rajapintoja on edelleen useita + tietokanta + yrityksen\/palvelun tarjoajan ulkoinen API:en k\u00e4ytt\u00f6. Rajapintojen kautta tarjotaan palveluja ja dataa erilaisille web-sovelluksille, mobiili-sovelluksille ja Internet of Things -palveluille. Verkkopalvelujen tarjoajat ovat kaupallistaneet rajapintapuolen. Rajapintojen kautta haravoitavan datan jatkojalostuksessa Python on yksi ammattilaisten k\u00e4ytetyimmist\u00e4 ty\u00f6kaluista.<\/p>\n<p><a title=\"Simple Object Access Protocol, SOAP\" href=\"http:\/\/fi.wikipedia.org\/w\/index.php?title=SOAP&amp;oldid=12843202\" target=\"_blank\">SOAP<\/a>\/<a title=\"Extensible Markup Language, XML\" href=\"http:\/\/fi.wikipedia.org\/w\/index.php?title=XML&amp;oldid=14650343\" target=\"_blank\">XML<\/a> on java-l\u00e4ht\u00f6inen, liike-el\u00e4m\u00e4n tarpeiden ehdoilla (ideointi ja m\u00e4\u00e4rittely) kehitetty rajapintaprotokolla. <a title=\"Kansallinen palveluv\u00e4yl\u00e4\" href=\"https:\/\/confluence.csc.fi\/pages\/viewpage.action?pageId=37816865\" target=\"_blank\">Kansallisen palveluv\u00e4yl\u00e4n<\/a> versio 6 tulee olemaan t\u00e4t\u00e4, mutta data muljutellaan my\u00f6s <a title=\"JavaScript Object Notation, JSON\" href=\"http:\/\/fi.wikipedia.org\/w\/index.php?title=JSON&amp;oldid=14643973\" target=\"_blank\">JSON<\/a>-muotoon. SOAP\/XML:n etuna ovat Moilasen mukaan monipuolisemmat vuorovaikutusmahdollisuudet kuin REST\/JSONilla.<\/p>\n<p><a title=\"Representational State Transfer, REST\" href=\"http:\/\/en.wikipedia.org\/w\/index.php?title=Representational_state_transfer&amp;oldid=650321746\" target=\"_blank\">REST<\/a>\/JSON -arkkitehtuurimallin taustalla oleva ideologia edustaa standardoituun SOAP\/XML:\u00e4\u00e4n verrattuna joviaalimpaa, kehitt\u00e4j\u00e4yhteis\u00f6n pragmaattista l\u00e4hestymistapaa. Malli on javascript-l\u00e4ht\u00f6inen ja k\u00e4yt\u00f6ss\u00e4 muun muassa tavallisissa, arkip\u00e4iv\u00e4n web-sovelluksissa. Malli on keve\u00e4mpi ja vapaampi verrattuna SOAP\/XML:\u00e4\u00e4n.<\/p>\n<p>Nousussa on teollinen Internet alias esineiden Internet (<a title=\"Teollinen Internet, Internet of Things\" href=\"http:\/\/fi.wikipedia.org\/w\/index.php?title=Teollinen_internet&amp;oldid=14672790\" target=\"_blank\">Internet of Things<\/a>). Esineiden Internetist\u00e4 on pari mainintaa kertynyt (<a title=\"Petri Tonteri Online 11: mobiili tuli jo\" href=\"https:\/\/sorvipenkki.wordpress.com\/2011\/12\/21\/online11-mobiili-tuli-jo-osa-1\/\" target=\"_blank\">Online 11: mobiili tuli jo<\/a> ja <a title=\"Petri Tonteri, ITK 2010: tulevaisuudesta\" href=\"https:\/\/sorvipenkki.wordpress.com\/2010\/06\/05\/itk-2010-tulevaisuudesta\/\" target=\"_blank\">ITK 2010: tulevaisuudesta<\/a>). T\u00e4ll\u00e4 puolella aktiivisia ovat muun muassa Konecranes ja Kone. Esimerkiksi teollisuusnostureissa on rajapintoja kommunikointiin muiden laitteiden\/j\u00e4rjestelmien kanssa.<\/p>\n<p>Nyt kun avoimen datan kanssa ollaan jo edetty jonkin verran, seuraava nouseva trendi on mahdollisesti <a title=\"Wikipedia, Omadata\" href=\"http:\/\/fi.wikipedia.org\/w\/index.php?title=Omadata&amp;oldid=14695752\" target=\"_blank\">omadata eli my data<\/a>.<\/p>\n<p>Ohjelmointirajapinta on tuote. Rajapintoja on erilaisia erilaisiin k\u00e4ytt\u00f6tarkoituksiin: Ns. sis\u00e4inen API on tarkoitettu palvelunrakentajan omaan k\u00e4ytt\u00f6\u00f6n tarkoitettu. Kumppani-API helpottaa yhteisty\u00f6t\u00e4, jossa vaihdetaan dataa tai rahaa yhteisty\u00f6kumppanin kanssa. Avoin-API mahdollistaa innovoinnin ja on markkinointikeino omalle yritykselle.<\/p>\n<p>Perusta n\u00e4iss\u00e4 rajapinnoissa on kaikissa sama. Lis\u00e4ominaisuuksilla ja rajoitteilla erotellaan rajapintoja toisistaan.<\/p>\n<p>K\u00e4ytett\u00e4vyydess\u00e4 tulisi ottaa huomioon my\u00f6s rajapintojen k\u00e4ytett\u00e4vyys. Ohjelmistosuunnittelussa k\u00e4ytt\u00e4j\u00e4 huomioidaan: <a title=\"Wikipedia, K\u00e4ytt\u00f6liittym\u00e4\" href=\"http:\/\/fi.wikipedia.org\/w\/index.php?title=K%C3%A4ytt%C3%B6liittym%C3%A4&amp;oldid=14681279\" target=\"_blank\">k\u00e4ytt\u00f6liittym\u00e4 (user interface eli UI)<\/a> ja <a title=\"Wikipedia, K\u00e4ytt\u00e4j\u00e4kokemus\" href=\"http:\/\/fi.wikipedia.org\/w\/index.php?title=K%C3%A4ytt%C3%A4j%C3%A4kokemus&amp;oldid=14434320\" target=\"_blank\">k\u00e4ytt\u00e4j\u00e4kokemus (user experience eli UX)<\/a>. Rajapintojen suunnittelussa pit\u00e4isi saada yhdeksi ulottuvuudeksi rajapintojen k\u00e4ytt\u00e4j\u00e4kokemus, APX. Onnistunut rajapintojen k\u00e4ytt\u00e4j\u00e4kokemus syntyy Moilasen mukaan siit\u00e4, ett\u00e4 esimerkiksi<br \/>\nrajapinta mahdollistaa itsepalvelun (kehitt\u00e4j\u00e4 p\u00e4\u00e4see omin avuin alkuun)<br \/>\nrajapinnan k\u00e4yt\u00f6ss\u00e4 ovat helpot, selke\u00e4t ja matalat integrointiaskeleet. TTFHW:n (time to first hello world) pit\u00e4isi olla mahdollisimman lyhyt<br \/>\ndokumentaatio l\u00f6ytyy<br \/>\ntarjolla on rajapintaa hy\u00f6dynt\u00e4vi\u00e4 esimerkkikoodeja. Esimerkiksi <a title=\"Wikipedia, Hackathon\" href=\"http:\/\/en.wikipedia.org\/w\/index.php?title=Hackathon&amp;oldid=649980709\" target=\"_blank\">hackathonit<\/a> ovat mainio tilaisuus, jossa voidaan tuottaa esimerkkikoodia<br \/>\ntuki- ja palautekanava ovat tarjolla (esimerkiksi <a title=\"Stack Exchange\" href=\"http:\/\/stackexchange.com\/\" target=\"_blank\">Stack exchange<\/a>, <a title=\"Quora\" href=\"http:\/\/www.quora.com\/\" target=\"_blank\">Quora<\/a>)<br \/>\nrajapinnan k\u00e4ytt\u00e4miselle on selke\u00e4 k\u00e4ytt\u00e4j\u00e4sopimus. T\u00e4m\u00e4n ei pit\u00e4isi olla ensimm\u00e4inen, koska esimerkiksi 30 sivua juristeeriaa on hyv\u00e4 tapa karkoittaa kehitt\u00e4j\u00e4t.<\/p>\n<p>Keskeisi\u00e4 ohjelmointirajapintojen kuvauskieli\u00e4 ovat<\/p>\n<ul>\n<li><a title=\"RESTful API Modeling Language, RAML\" href=\"http:\/\/raml.org\/\" target=\"_blank\">RAML<\/a><\/li>\n<li><a title=\"Wikipedia, YAML\" href=\"http:\/\/en.wikipedia.org\/w\/index.php?title=YAML&amp;oldid=645028723\" target=\"_blank\">YAML<\/a><\/li>\n<li><a title=\"Swagger\" href=\"http:\/\/en.wikipedia.org\/w\/index.php?title=Swagger_(computer_science)&amp;oldid=640182618\" target=\"_blank\">Swagger<\/a><\/li>\n<li><a title=\"API Blueprint\" href=\"https:\/\/apiblueprint.org\/\" target=\"_blank\">API Blueprint<\/a>.<\/li>\n<\/ul>\n<p>Avoin API on avoimesti dokumentoitu, k\u00e4ytt\u00f6\u00f6notettava, testattavissa. Rajapinta-asiat pit\u00e4isi huomioida hankintavaiheessa, koska nyt hankinnassa tehdyt virheet voivat heijastua monen vuoden p\u00e4\u00e4h\u00e4n. Avainasioita on rajapinnan yksinkertaisuus ja intuitiviisuus, kevyiden Internet-teknologioiden (esim. JSON) hy\u00f6dynt\u00e4minen. Rajapinnat ovat sosiaalisen median, pilvipalveluiden ja mobiilimaailman moottori. Rajapintojen varaan osin rakentuvia trendej\u00e4 ovat laitteet (Internet of Things), reaaliaikaisuus, automaatio ja \u00e4\u00e4ni. Helpompia pilvipohjaisia ohjelmointirajapintojen julkaisuty\u00f6kaluja on tulossa.<\/p>\n<h1>API:Suomi<\/h1>\n<p>Vuonna 2014 perustettu <a title=\"API:Suomi\" href=\"apisuomi.fi\" target=\"_blank\">API:Suomi-palvelu<\/a> sis\u00e4lt\u00e4\u00e4 Suomessa tarjolla olevista rajapinnoista listauksen, jota t\u00e4ydennet\u00e4\u00e4n. Rajapintojen hy\u00f6dynt\u00e4misen helpottamiseksi on k\u00e4ynnistetty useita muita oheisprojekteja: esimerkiksi <a title=\"Suomen API-l\u00e4hettil\u00e4\u00e4t\" href=\"http:\/\/apisuomi.fi\/suomen-api-lahettilaat\/\" target=\"_blank\">API-l\u00e4hettil\u00e4\u00e4t<\/a> levitt\u00e4v\u00e4t tietoa tarjolla ja tiedossa olevista rajapinnoista sek\u00e4 rajapintojen hy\u00f6dynt\u00e4misen hyvist\u00e4 k\u00e4yt\u00e4nteist\u00e4. <a title=\"API Starter Kit\" href=\"bit.ly\/apistarter\" target=\"_blank\">API starter kit<\/a> on Google Drivess\u00e4 ty\u00f6n alla oleva johdatus rajapintojen k\u00e4ytt\u00f6\u00f6n. Ideatasolla on API design guide, jolla on kytk\u00f6s palvelukanava-hankkeeseen ja virolaisten X-roadiin (<a title=\"Jarkko Moilanen, X-Road API Design Guide\" href=\"http:\/\/apisuomi.fi\/2015\/02\/x-road-api-design-guide\/\" target=\"_blank\">Jarkko Moilasen bloggaus aiheesta<\/a>).<\/p>\n<p>API:Suomi-palvelun tarkoitus on my\u00f6s antaa luonnehdintoja rajapinnoista samaan tapaan esimerkiksi <a title=\"Tripadvisor\" href=\"http:\/\/www.tripadvisor.fi\/\" target=\"_blank\">Tripadvisor<\/a> rankkaa hotelleja.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tampereen teknillisen yliopiston Ohjelmallinen sis\u00e4ll\u00f6nhallinta -opintojaksossa tarjottiin helmikuussa vierailuluento web-ohjelmointirajapinnoista. Luennolla puhuivat OKM:n kehitt\u00e4misp\u00e4\u00e4llikk\u00f6 Jarkko Moilanen ja Tampereen kaupungin tietohallinnon edustaja Joonas Dukpa. Moilanen pohdiskeli ohjelmointirajapintojen (application programming interface, API) merkityst\u00e4 tietoj\u00e4rjestelmien kehitt\u00e4misess\u00e4 ja Dukpa kertoi Tampereen kaupungin avoin data -ohjelmasta. Moilasen mukaan suunta on se, ett\u00e4 maailmalla start-up-yrityksiss\u00e4 homma l\u00e4htee nyky\u00e4\u00e4n rajapintojen rakentamisesta. Rajapintoja &hellip; <a href=\"http:\/\/sorvipenkki.fi\/blog\/2015\/03\/14\/rajapinnoista\/\" class=\"more-link\">Jatka artikkeliin <span class=\"screen-reader-text\">Rajapinnoista<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":157,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[108,1],"tags":[142],"class_list":["post-156","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-teknologia","category-yleinen","tag-ohjelmointirajapinnat"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Rajapinnoista - Sorvipenkki : blogi<\/title>\n<meta name=\"description\" content=\"Moilanen pohdiskeli ohjelmointirajapintojen (application programming interface, API) merkityst\u00e4 tietoj\u00e4rjestelmien kehitt\u00e4misess\u00e4.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/sorvipenkki.fi\/blog\/2015\/03\/14\/rajapinnoista\/\" \/>\n<meta property=\"og:locale\" content=\"fi_FI\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Rajapinnoista - Sorvipenkki : blogi\" \/>\n<meta property=\"og:description\" content=\"Moilanen pohdiskeli ohjelmointirajapintojen (application programming interface, API) merkityst\u00e4 tietoj\u00e4rjestelmien kehitt\u00e4misess\u00e4.\" \/>\n<meta property=\"og:url\" content=\"http:\/\/sorvipenkki.fi\/blog\/2015\/03\/14\/rajapinnoista\/\" \/>\n<meta property=\"og:site_name\" content=\"Sorvipenkki : blogi\" \/>\n<meta property=\"article:published_time\" content=\"2015-03-14T18:11:25+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/sorvipenkki.fi\/blog\/wp-content\/uploads\/2015\/03\/Tsahi_API_calls.jpg?fit=240%2C194\" \/>\n\t<meta property=\"og:image:width\" content=\"240\" \/>\n\t<meta property=\"og:image:height\" content=\"194\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Petri\" \/>\n<meta name=\"twitter:label1\" content=\"Kirjoittanut\" \/>\n\t<meta name=\"twitter:data1\" content=\"Petri\" \/>\n\t<meta name=\"twitter:label2\" content=\"Arvioitu lukuaika\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minuuttia\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"http:\/\/sorvipenkki.fi\/blog\/2015\/03\/14\/rajapinnoista\/\",\"url\":\"http:\/\/sorvipenkki.fi\/blog\/2015\/03\/14\/rajapinnoista\/\",\"name\":\"Rajapinnoista - Sorvipenkki : blogi\",\"isPartOf\":{\"@id\":\"http:\/\/sorvipenkki.fi\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\/\/sorvipenkki.fi\/blog\/2015\/03\/14\/rajapinnoista\/#primaryimage\"},\"image\":{\"@id\":\"http:\/\/sorvipenkki.fi\/blog\/2015\/03\/14\/rajapinnoista\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/sorvipenkki.fi\/blog\/wp-content\/uploads\/2015\/03\/Tsahi_API_calls.jpg?fit=240%2C194\",\"datePublished\":\"2015-03-14T18:11:25+00:00\",\"author\":{\"@id\":\"http:\/\/sorvipenkki.fi\/blog\/#\/schema\/person\/b02edacd98c802b6ce32fef5a7249d0f\"},\"description\":\"Moilanen pohdiskeli ohjelmointirajapintojen (application programming interface, API) merkityst\u00e4 tietoj\u00e4rjestelmien kehitt\u00e4misess\u00e4.\",\"breadcrumb\":{\"@id\":\"http:\/\/sorvipenkki.fi\/blog\/2015\/03\/14\/rajapinnoista\/#breadcrumb\"},\"inLanguage\":\"fi\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/sorvipenkki.fi\/blog\/2015\/03\/14\/rajapinnoista\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fi\",\"@id\":\"http:\/\/sorvipenkki.fi\/blog\/2015\/03\/14\/rajapinnoista\/#primaryimage\",\"url\":\"https:\/\/i0.wp.com\/sorvipenkki.fi\/blog\/wp-content\/uploads\/2015\/03\/Tsahi_API_calls.jpg?fit=240%2C194\",\"contentUrl\":\"https:\/\/i0.wp.com\/sorvipenkki.fi\/blog\/wp-content\/uploads\/2015\/03\/Tsahi_API_calls.jpg?fit=240%2C194\",\"width\":240,\"height\":194,\"caption\":\"Tsahi Levent-Levi, API calls, https:\/\/www.flickr.com\/photos\/86979666@N00\/8692704103\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/sorvipenkki.fi\/blog\/2015\/03\/14\/rajapinnoista\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Etusivu\",\"item\":\"http:\/\/sorvipenkki.fi\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Rajapinnoista\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\/\/sorvipenkki.fi\/blog\/#website\",\"url\":\"http:\/\/sorvipenkki.fi\/blog\/\",\"name\":\"Sorvipenkki : blogi\",\"description\":\"kirjastoista, verkosta, informaatiosta\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/sorvipenkki.fi\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fi\"},{\"@type\":\"Person\",\"@id\":\"http:\/\/sorvipenkki.fi\/blog\/#\/schema\/person\/b02edacd98c802b6ce32fef5a7249d0f\",\"name\":\"Petri\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fi\",\"@id\":\"http:\/\/sorvipenkki.fi\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/2b04db36fb4abd91b2bfacbece88896e7baf17224329d5a14577b32576cf2c7e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/2b04db36fb4abd91b2bfacbece88896e7baf17224329d5a14577b32576cf2c7e?s=96&d=mm&r=g\",\"caption\":\"Petri\"},\"sameAs\":[\"http:\/\/sorvipenkki.fi\"],\"url\":\"http:\/\/sorvipenkki.fi\/blog\/author\/petri\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Rajapinnoista - Sorvipenkki : blogi","description":"Moilanen pohdiskeli ohjelmointirajapintojen (application programming interface, API) merkityst\u00e4 tietoj\u00e4rjestelmien kehitt\u00e4misess\u00e4.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/sorvipenkki.fi\/blog\/2015\/03\/14\/rajapinnoista\/","og_locale":"fi_FI","og_type":"article","og_title":"Rajapinnoista - Sorvipenkki : blogi","og_description":"Moilanen pohdiskeli ohjelmointirajapintojen (application programming interface, API) merkityst\u00e4 tietoj\u00e4rjestelmien kehitt\u00e4misess\u00e4.","og_url":"http:\/\/sorvipenkki.fi\/blog\/2015\/03\/14\/rajapinnoista\/","og_site_name":"Sorvipenkki : blogi","article_published_time":"2015-03-14T18:11:25+00:00","og_image":[{"width":240,"height":194,"url":"https:\/\/i0.wp.com\/sorvipenkki.fi\/blog\/wp-content\/uploads\/2015\/03\/Tsahi_API_calls.jpg?fit=240%2C194","type":"image\/jpeg"}],"author":"Petri","twitter_misc":{"Kirjoittanut":"Petri","Arvioitu lukuaika":"4 minuuttia"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"http:\/\/sorvipenkki.fi\/blog\/2015\/03\/14\/rajapinnoista\/","url":"http:\/\/sorvipenkki.fi\/blog\/2015\/03\/14\/rajapinnoista\/","name":"Rajapinnoista - Sorvipenkki : blogi","isPartOf":{"@id":"http:\/\/sorvipenkki.fi\/blog\/#website"},"primaryImageOfPage":{"@id":"http:\/\/sorvipenkki.fi\/blog\/2015\/03\/14\/rajapinnoista\/#primaryimage"},"image":{"@id":"http:\/\/sorvipenkki.fi\/blog\/2015\/03\/14\/rajapinnoista\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/sorvipenkki.fi\/blog\/wp-content\/uploads\/2015\/03\/Tsahi_API_calls.jpg?fit=240%2C194","datePublished":"2015-03-14T18:11:25+00:00","author":{"@id":"http:\/\/sorvipenkki.fi\/blog\/#\/schema\/person\/b02edacd98c802b6ce32fef5a7249d0f"},"description":"Moilanen pohdiskeli ohjelmointirajapintojen (application programming interface, API) merkityst\u00e4 tietoj\u00e4rjestelmien kehitt\u00e4misess\u00e4.","breadcrumb":{"@id":"http:\/\/sorvipenkki.fi\/blog\/2015\/03\/14\/rajapinnoista\/#breadcrumb"},"inLanguage":"fi","potentialAction":[{"@type":"ReadAction","target":["http:\/\/sorvipenkki.fi\/blog\/2015\/03\/14\/rajapinnoista\/"]}]},{"@type":"ImageObject","inLanguage":"fi","@id":"http:\/\/sorvipenkki.fi\/blog\/2015\/03\/14\/rajapinnoista\/#primaryimage","url":"https:\/\/i0.wp.com\/sorvipenkki.fi\/blog\/wp-content\/uploads\/2015\/03\/Tsahi_API_calls.jpg?fit=240%2C194","contentUrl":"https:\/\/i0.wp.com\/sorvipenkki.fi\/blog\/wp-content\/uploads\/2015\/03\/Tsahi_API_calls.jpg?fit=240%2C194","width":240,"height":194,"caption":"Tsahi Levent-Levi, API calls, https:\/\/www.flickr.com\/photos\/86979666@N00\/8692704103"},{"@type":"BreadcrumbList","@id":"http:\/\/sorvipenkki.fi\/blog\/2015\/03\/14\/rajapinnoista\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Etusivu","item":"http:\/\/sorvipenkki.fi\/blog\/"},{"@type":"ListItem","position":2,"name":"Rajapinnoista"}]},{"@type":"WebSite","@id":"http:\/\/sorvipenkki.fi\/blog\/#website","url":"http:\/\/sorvipenkki.fi\/blog\/","name":"Sorvipenkki : blogi","description":"kirjastoista, verkosta, informaatiosta","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/sorvipenkki.fi\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fi"},{"@type":"Person","@id":"http:\/\/sorvipenkki.fi\/blog\/#\/schema\/person\/b02edacd98c802b6ce32fef5a7249d0f","name":"Petri","image":{"@type":"ImageObject","inLanguage":"fi","@id":"http:\/\/sorvipenkki.fi\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/2b04db36fb4abd91b2bfacbece88896e7baf17224329d5a14577b32576cf2c7e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2b04db36fb4abd91b2bfacbece88896e7baf17224329d5a14577b32576cf2c7e?s=96&d=mm&r=g","caption":"Petri"},"sameAs":["http:\/\/sorvipenkki.fi"],"url":"http:\/\/sorvipenkki.fi\/blog\/author\/petri\/"}]}},"jetpack_featured_media_url":"https:\/\/i0.wp.com\/sorvipenkki.fi\/blog\/wp-content\/uploads\/2015\/03\/Tsahi_API_calls.jpg?fit=240%2C194","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9swLA-2w","jetpack_likes_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"http:\/\/sorvipenkki.fi\/blog\/wp-json\/wp\/v2\/posts\/156","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/sorvipenkki.fi\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/sorvipenkki.fi\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/sorvipenkki.fi\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/sorvipenkki.fi\/blog\/wp-json\/wp\/v2\/comments?post=156"}],"version-history":[{"count":2,"href":"http:\/\/sorvipenkki.fi\/blog\/wp-json\/wp\/v2\/posts\/156\/revisions"}],"predecessor-version":[{"id":159,"href":"http:\/\/sorvipenkki.fi\/blog\/wp-json\/wp\/v2\/posts\/156\/revisions\/159"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/sorvipenkki.fi\/blog\/wp-json\/wp\/v2\/media\/157"}],"wp:attachment":[{"href":"http:\/\/sorvipenkki.fi\/blog\/wp-json\/wp\/v2\/media?parent=156"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/sorvipenkki.fi\/blog\/wp-json\/wp\/v2\/categories?post=156"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/sorvipenkki.fi\/blog\/wp-json\/wp\/v2\/tags?post=156"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}