Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Rajapintojen kehittämisestä - avoimuus osana st...

Rajapintojen kehittämisestä - avoimuus osana strategiaa

Jarkko Moilanen, API-Strategia konsultti, API:Suomi -yhteisön perustaja.

Jarkko Moilanen, PhD

January 05, 2016
Tweet

More Decks by Jarkko Moilanen, PhD

Other Decks in Business

Transcript

  1. Rajapintojen kehittämisestä Rajapintojen kehittämisestä APIDuo Oü – Lean API strategy

    consulting Jarkko Moilanen - avoimuus osana strategiaa - - avoimuus osana strategiaa -
  2. Rakenna houkuttelevia rajapintoja Rakenna houkuttelevia rajapintoja APIDuo Oü – Lean

    API strategy consulting Jarkko Moilanen Kehittäjä kokemus Avoimuus Elinkaari ajattelu Startup / lean API
  3. Mikä on rajapinta (API) ? Mikä on rajapinta (API) ?

    APIDuo Oü – Lean API strategy consulting Jarkko Moilanen Selain on graafinen käyttöliittymä ihmisiä varten Rajapinta (API) on käyttöliittymä ohjelmistoja varten
  4. Esimerkki: LähiTapiola + Polar Esimerkki: LähiTapiola + Polar APIDuo Oü

    – Lean API strategy consulting Jarkko Moilanen
  5. Rajapintojen jaottelu Rajapintojen jaottelu APIDuo Oü – Lean API strategy

    consulting Jarkko Moilanen Sisäinen API (ketteryys) Kumppani API (yhteistyö) Avoin API (innovaatiot)
  6. • Ns closed-first-open-eventually strategia • Opi virheistä suljettujen ovien takana

    • 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
  7. • Seuraa metriikkaa • Kuule kumppanien tarpeita • Luo luottamusta

    • 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
  8. • avoimet toimittajakohtaiset rajapinnat (toimittajan hallitsemat rajapinnat) • avoimet yhteiset

    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
  9. “Avoin rajapinta on rajapinta, jonka kaikki ominaisuudet ovat julkisia ja

    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/
  10. • Avoimesti dokumentoitu – Rajapinta on määritelty ja sen dokumentaatio

    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
  11. • Ei edellytä koodin avoimuutta – Toisaalta koodin avoimuus ei

    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
  12. Rajapinnat osana Rajapinnat osana kokonaisuutta kokonaisuutta APIDuo Oü – Lean

    API strategy consulting Jarkko Moilanen Miten alkuun? Miten alkuun?
  13. • Asiakaslähtöistä kehittämistä – jatkuva ja läheinen suhde • Arkkitehtuurin

    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
  14. APIDuo Oü – Lean API strategy consulting Jarkko Moilanen Liiketoimintasuunnitelma

    + 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
  15. • Rajapinnat palvelukehityksen perustana – Jokaisen uuden digitaalisen palvelun käyttöliittymän

    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ä -
  16. API - liiketoimintasuunnitelma API - liiketoimintasuunnitelma APIDuo Oü – Lean

    API strategy consulting Jarkko Moilanen API Model Canvas
  17. Kehittäjäkokemus (DX) edellä Kehittäjäkokemus (DX) edellä APIDuo Oü – Lean

    API strategy consulting Jarkko Moilanen Rajapintojen asiakas on koodaaja Rajapintojen asiakas on koodaaja
  18. • Tarkoituksen mukainen ja lisäarvoa tuottava palvelu – Kysy kehittäjiltä,

    ä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
  19. Kehittäjäkokemus (DX) - mittarit Kehittäjäkokemus (DX) - mittarit APIDuo Oü

    – 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
  20. Kehittäjäkokemus (DX) - mittarit Kehittäjäkokemus (DX) - mittarit APIDuo Oü

    – 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)
  21. APIDuo Oü – Lean API strategy consulting Jarkko Moilanen 1X

    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
  22. Avoin lähdekoodi joka paikassa Avoin lähdekoodi joka paikassa APIDuo Oü

    – Lean API strategy consulting Jarkko Moilanen Palveluihin perustuvan busineksen aikakausi
  23. Avoimen lähdekoodin lisenssit Avoimen lähdekoodin lisenssit APIDuo Oü – Lean

    API strategy consulting Jarkko Moilanen https://www.blackducksoftware.com/resources/data/top-20-open-source-licenses
  24. • Apache, BSD, EUPL, GPL, LGPL, Mozilla, MIT • Osallistakaa

    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
  25. • MIT-lisenssillä koodia voi hyödyntää esim. kaupallisissa, suljetuissa ohjelmasovelluksissa. •

    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
  26. • Suljetuissa ohjelmissa tekijänoikeuden haltija asettaa lisenssinsaajan vapauksille rajoituksia, kun

    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
  27. • JHS 166 Julkisen hallinnon IT-hankintojen yleiset sopimusehdot (JIT 2015)

    • 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
  28. • Julkaise muokatut ohjelmistot avoimella lisenssillä • Käytä avoimia standardeja

    ja rajapintoja • Tarkista lisenssin avoimuus • Varmista riittävä asiantuntemus käyttöönotossa • Kartoita ja vertaile vaihtoehtoja • Huomioi ohjelmistojen jakaminen ja uudelleenkäyttö hankinnoissa • Selvitä tietoturvariskit JHS 166 (JIT 2015) JHS 166 (JIT 2015) APIDuo Oü – Lean API strategy consulting Jarkko Moilanen
  29. • Avoimen lähdekoodin hankinnat –Alustaohjelmistot (käyttöjärjestelmä ja tietokannat) voivat olla

    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
  30. • Liite 9. Avoimista rajapinnoista tietojärjestelmä- tai palveluhankinnoissa • Muista

    myös Avoimen rajapinnan hallintamalli (VM) – http://bit.ly/avoinrajapintahallinta JHS 166 JHS 166 APIDuo Oü – Lean API strategy consulting Jarkko Moilanen
  31. • Rajapinnan hallintasuunnitelma dokumentti kuvaa miten rajapintaa ja siihen liittyvää

    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
  32. • Esimerkki: EduCloud Alliance – Jäseniä ~20: yrityksiä, oppilaitoksia, julkisen

    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
  33. • ...valtiontasoista, kansainväliseksi tähtäävää oppimispalveluiden käyttäjät, ostajat, kehittäjät ja palveluntarjoajat

    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
  34. APIDuo Oü – Lean API strategy consulting Jarkko Moilanen Kehittäjä

    kokemus Avoimuus Elinkaari ajattelu Startup / lean API • Iterointi • Asiakkaan kanssa • MVP • Versiointi & hallinta • Johdonmukaisuus (design first) • API-strategia • Kehittäjä on asiakas • Madalla kynnystä • Itsepalvelu • Vältä toimittajalukot • Kehittäjäyhteisö • Ekosysteemin pohja Rakenna houkuttelevia rajapintoja Rakenna houkuttelevia rajapintoja
  35. APIDuo Oü – Lean API strategy consulting Jarkko Moilanen 28.1.2016

    – API seminaari 28.1.2016 – API seminaari Väestörekisterikeskus / Valtiovarainministeriö http://bit.ly/apiseminaari
  36. APIDuo - Lean API strategy consulting APIDuo - Lean API

    strategy consulting APIDuo Oü – Lean API strategy consulting Jarkko Moilanen Evangelist (X-Road, APIOps, API:Suomi) API-strategy consultant and Design-First Developer • Open source experience 15+ years • Community manager 6+ years • CTO 3+ years • Startup experience 4+ years (3 startups) • Civil servant 2 years (MoEC) 050 346 0499 [email protected] https://github.com/zenofapi https://apinf.io/ http://apisuomi.fi/