APIDuo Oü – Lean API strategy consulting Jarkko Moilanen Selain on graafinen käyttöliittymä ihmisiä varten Rajapinta (API) on käyttöliittymä ohjelmistoja varten
• Pienempi time-to-market • Identifioi ja hanki tarvittavat resurssit avoimempien API:en tukemiseen • Sopeuta omat toimintatavat käyttämään rajapintoja täysimittaisesti • Ensimmäinen API: sisäinen datasiirto, automatisoi prosesseja APIDuo Oü – Lean API strategy consulting Jarkko Moilanen Sisäinen API Sisäinen API
• Helpottaa uusien kumppanien lisäämistä • Luo lisää markkinoita • Parantaa ulkoista kommunikointia (trello yms) APIDuo Oü – Lean API strategy consulting Jarkko Moilanen Kumppani API Kumppani API
rajapinnat (tilaajan hallitsemat rajapinnat) • Innovaatiot tapahtuvat ulkopuolella, käytä uusien ideoiden testaamiseen • Mahdollistaa integroinneista saatavien hyötyjen testaamisen • Mahdollistaa joustavan palvelu – ja sovelluskehityksen (“freemium”) • Mahdollistaa paremman asiakaskokemuksen (miksaus tilanteen ja tarpeen mukaan) • Kuka tahansa voi tehdä kilpailevan järjestelmän, joka toteuttaa samat rajapinnat ja on näin yhteensopiva kaikkien rajapintaa hyödyntävien sovellusten kanssa. • Soveltuu hyvin nopeasti skaalautuvien ekosysteemien mahdollistamiseen APIDuo Oü – Lean API strategy consulting Jarkko Moilanen Avoin API Avoin API
jota voi käyttää ilman rajoittavia ehtoja (esimerkiksi laatia rajapintaa hyödyntävän ohjelman ilman rajapinnan valmistajan erillistä hyväksyntää tai pakollisia lisenssimaksuja)” Avoin rajapinta (API) 1/3 Avoin rajapinta (API) 1/3 APIDuo Oü – Lean API strategy consulting Jarkko Moilanen http://avoinrajapinta.fi/
on verkon kautta avoimesti saatavilla ja vapaasti käytettävissä. • Käyttöönotettava – Avoin rajapinta on mahdollista ottaa käyttöön ilman ylläpitäjän tai järjestelmätoimittajan toimia – Tämän ei tarvitse tarkoittaa pääsyä tuotantojärjestelmään, eikä vaatimus siten estä tuotantojärjestelmän käyttövaltuuksien hallintaa. • Testattava – Rajapinnan tulee olla testattavissa. Testausta varten on tarjolla on vähintään testiaineisto. APIDuo Oü – Lean API strategy consulting Jarkko Moilanen Avoin rajapinta (API) 2/3 Avoin rajapinta (API) 2/3
tarkoita asiakastietojen avoimuutta • Ei tarvitse pääsyä tuotantojärjestelmään, eikä vaatimus siten estä tuotantojärjestelmän käyttövaltuuksien hallintaa. • Avoimen rajapinnan kautta saatavan datan ei tarvitse olla avointa dataa – Esimerkiksi potilastietojärjestelmään voi olla avoin rajapinta, mutta potilastiedot eivät ole avoimia. APIDuo Oü – Lean API strategy consulting Jarkko Moilanen Avoin rajapinta (API) 3/3 Avoin rajapinta (API) 3/3
huomiointi ja skaalautuvuus • Design First (API -kuvaus konekielisenä) • Kehittäjäkokemus (DX) edellä • MVP & ketterät menetelmät • Koodin ja kehitysprosessin avoimuus Lähtökohdat Lähtökohdat APIDuo Oü – Lean API strategy consulting Jarkko Moilanen
+ KA API -strategia API -liiketoimintasuunnitelmat Lean & Agile Design API (MVP) Asiakas m ukana, API Jam Sisäisesti Swagger, Open API Definition Format API Model Canvas Lean frameworks (Node.js etc) Automaation hyödyntäminen Hallintamalli (ekosysteemi) Avoimen rajapinnan hallintamalli kehittäjä + DX
tulee perustua rajapintojen hyödyntämiseen • Avoimuus käytössä ja kehityksessä – Julkishallintoon hankittavissa järjestelmissä tulee olla oleelliset toiminnot kattava avoin rajapinta – Kehittäjille tulee mahdollistaa itsepalvelutyyppinen pääsy avoimiin rajapintoihin - hyvät ideat eivät odota virastoaikoja – Yksi ja sama avoimen tiedon lisenssi (http://www.jhs-suositukset.fi/suomi/jhs189) • Laadukkaita rajapintoja (kehittäjäkokemus huomioiden) • Mittaa, opi palautteesta ja iteroi • Toteuta johdonmukaisesti – Rajapinnat tehdään johdonmukaisesti toteuttajasta ja toteutustavasta riippumatta. Käytetään samoja suunnittelumalleja, mutta jätetään liikkumatilaa. • Madalla käyttöönoton kynnystä – Laatu tarkoittaa myös hyvää saavutettavuutta. Rajapinnan kohdalla sillä tarkoitetaan helppoa löydettävyyttä ja helppoa käytettävyyttä. Varmista, että rajapinnan käytön oppii nopeasti. • Osaamista lisättävä – Rajapintojen tekniseen ja liiketaloudelliseen hyödyntämiseen liittyvää osaamista ja ymmärrystä tulee lisätä API -strategia API -strategia APIDuo Oü – Lean API strategy consulting Jarkko Moilanen - esimerkkejä - - esimerkkejä -
älä arvaa • Tee julkinen suunnitelma – roadmap ja valitse businessmallit • Yksinkertainen, joustava ja helposti omaksuttava • Hallinnoitu ja mitattavissa • Tarjoa automatisoitu kehittäjätuki (SDK, PDK, koodiesimerkit, dokumentaatio, use case kuvaukset) Asiakkaana kehittäjä Asiakkaana kehittäjä APIDuo Oü – Lean API strategy consulting Jarkko Moilanen
– Lean API strategy consulting Jarkko Moilanen 3-30-3 • 3 sekunnissa ymmärtää API:n tarkoitus • 30 sekunnissa löytää lähtöpiste • 3 minuutissa luoda tili, kutsua rajapintaa ja saada vastaus
– Lean API strategy consulting Jarkko Moilanen TTFHW Time to first “Hello World” ...ja miten lyhentää sitä Kopioitavat koodiesimerkit Ajantasainen helppokäyttöinen dokumentaatio Rajapinnalla selkeä tarkoitus Automatisoitu, nopea rekisteröityminen Työkaluja (API konsoli, yms)
Avoin lähdekoodi Lukkojen avaajana ja estäjänä 2X Avoimet matalan- kynnyksen rajapinnat Käytä avoimia standardeja ja rajapintoja 3X Avoin ja läpinäkyvä kehitysprosessi -viestintä 4X Avoin mieli Kyse on ajattelutavan muutoksesta Avoimuus on voimavara – ei uhka Avoimuus on voimavara – ei uhka
asiaan perehtynyt juristi mukaan ainakin aluksi, älkää yrittäkö itse olla asiantuntijoita • Järjestelmän osille ja rajapinnoille voi olla järkevää olla eri lisenssi • Lisenssien yhteensopivuus lievä haaste –TUIMA -projektista apuja Avoimen lähdekoodin lisenssit Avoimen lähdekoodin lisenssit APIDuo Oü – Lean API strategy consulting Jarkko Moilanen
EUPL-lisenssillä koodia voi vapaasti käyttää, kehittää ja levittää edelleen - myös kaupallisesti - sillä edellytyksellä, että lähdekoodi on aina julkaistava levitettävän ohjelmaversion yhteydessä samalla tai EUPL-lisenssin kanssa yhteensopivalla lisenssillä: –BSD, Apache, AGPL (varauksin), CeCILL, EclipsePL, LGPL, MIT, Mozilla 1.1. Avoimen lähdekoodin lisenssit Avoimen lähdekoodin lisenssit APIDuo Oü – Lean API strategy consulting Jarkko Moilanen
taas avoimissa ohjelmissa tekijänoikeuden haltija pyrkii lisenssiehtojen avulla turvaamaan lisenssinsaajan vapaudet. • Käytännössä kaikissa avoimen lähdekoodin lisensseissä on mukana vastuurajoituslausekkeet • Sallivat lisenssit: MIT, BSD ja Apache –ohjelmaa saa muokata ja levittää vapaasti ja lähdekoodin voi, muttei välttämättä tarvitse laittaa levitettävän ohjelman mukaan • Vastavuoroisuutta edellyttävät: MPL, LGPL, EUPL v2 –tehdyt muutokset tulee julkaista tietyin edellytyksin, joista ylivoimaisesti yleisin on ohjelmiston julkinen levittäminen muutoksen jälkeen. Saa kuitenkin yhdistää vapaasti muihin, eri lisensseillä tehtyihin ohjelmistoihin • Vahvaa vastavuoroisuutta edellyttävät: GPL –edellyttävät lähdekoodin julkaisemista alkuperäisellä lisenssillä kaikissa niissä tilanteissa, joissa alkuperäistä ohjelmistoa muokataan tai siihen yhdistetään uusia elementtejä esimerkiksi linkittämällä. Avoimen lähdekoodin lisenssit Avoimen lähdekoodin lisenssit APIDuo Oü – Lean API strategy consulting Jarkko Moilanen
• JHS 169 Avoimen lähdekoodin ohjelmien käyttö julkisessa hallinnossa • JHS 179 (KA) tulee sisältämään oman luvun rajapinnoista • JHS 189 Avoimen tietoaineiston käyttölupa –Creative Commons Avoin lähdekoodi, sisältö, rajapinnat ja JHS Avoin lähdekoodi, sisältö, rajapinnat ja JHS APIDuo Oü – Lean API strategy consulting Jarkko Moilanen
suljettujakin –Toimittaja voi valita avoimen lähdekoodin lisenssin • laita tarjouspyyntöön vaatimuksia, mutta ei suositella lisenssin nimeämistä –Toimittajan julkaistava lähdekoodi yleisesti Githubissa tai vastaavassa • Mahdollisuus siihen, että kehitystyö tehdään kokonaan julkisesti JHS 166 (JIT 2015) JHS 166 (JIT 2015) APIDuo Oü – Lean API strategy consulting Jarkko Moilanen
myös Avoimen rajapinnan hallintamalli (VM) – http://bit.ly/avoinrajapintahallinta JHS 166 JHS 166 APIDuo Oü – Lean API strategy consulting Jarkko Moilanen
dokumentaatiota hallitaan eli esimerkiksi – kuka omistaa rajapintojen määrittelyt – miten rajapintojen kehittäminen ja ylläpito rahoitetaan – miten kehittämistä koordinoidaan ja suoritetaan • Lisäksi tehdään rajapinnan tekninen määrittelydokumentti • Lisäisin vielä ajantasainen dokumentaatio (kehittäjäportaalissa) käyttöä varten Avoimen rajapinnan hallintamalli Avoimen rajapinnan hallintamalli APIDuo Oü – Lean API strategy consulting Jarkko Moilanen
sektorin edustus (OKM) – http://press.educloudalliance.org • Alkoi OKM vetoisena, vaihdos 19.3.2015 • Yhteistyössä Viron kanssa (MoU 1/2014) • Standardointia (de facto) ja 100% avoimen lähdekoodin referenssitoteutukset • Avoimen tuotteen hallintamalli työkaluna → Peruskirja Toiminnan organisointi ja ohjaus Toiminnan organisointi ja ohjaus APIDuo Oü – Lean API strategy consulting Jarkko Moilanen
yhdistävää ekosysteemiä • ...määrittelemällä avoimen standardin oppimisympäristöille, materiaalille ja toiminnallisuudelle • …mahdollistamaan koulutuksen pilvipalvelutuotteiden ja sisältöjen avoin tarjonta, myyminen, löytäminen, hankkiminen, vertailu ja käyttäminen. EduCloud Alliance EduCloud Alliance APIDuo Oü – Lean API strategy consulting Jarkko Moilanen Käytännössä standardoi rajapinnat