Eilen muodostin ajatuksen (en varmaankaan ensimmäisenä maailmassa):
Standardization is about conformity, Harmonization is about consistency. Both are needed in #API Economy
Nyt pitäisi hieman ehkä avata mitä tuo ajatus sisältää vaikka se ehkä tuntuukin itsestäänselvyydeltä. Standardit on hyvä asia, ainakin niin kauan kuin niiden soveltaminen on kohtuuden rajoissa. Suljetut standardit kuuluvat menneisyyteen ainakin niiltä osin kun rahastetaan PDF nipulla uudestaan ja uudestaan. Standardin tuottamisen kulut voi kattaa muutenkin ja businessta voi tehdä monella tavalla (vertaa open source). No, kuten sanottu standardit ovat hyviä, koska niillä luodaan perustaa ja yhtenäisyyttä.
Standardi = MVP
Oman näkemykseni mukaan standardit määrittävät Minimum Viable Product tyyppisesti riman alimman tason. Home automation on yksi sellainen teemo, jonka voi odottaa ”pääsevän” standardoinnin piiriin. On myös odotettavissa että syntyy kilpailevia REST rajapintojen standardeja ja evoluution suurimmassa osassa tapauksia karsii standardeja. Osa standardeista voi elää ja voida hyvin vaikka soveltajajoukko ei olisi laaja. Näin voi tapahtua esim globaalien jättien ajaessa omaa standardiaan joka tuotteeseen. Lisäksi oma veikkaukseni on että
de facto standardit valtaavat markkinoita enemmän ja formaalin jopa vuosien hyväksymisprosessin vaativien de jure standardien merkitys vähenee.
On lisäksi olettavaa, että pelkän määrittelyn tekemisellä ei saada mitään standardia laajasti leviämään, vaan vaaditaan yhtäaikaista referenssitoteutusta standardista. APIen kuvauskielet ovat tästä hyvä esimerkki. RAML, Swagger tai API Blueprint eivät ole de jure standardeja, silti ne ovat eniten sovelletut rajapintojen kuvauskielet. Swagger oli yhden yrityksen tuotteiden kautta ajama tapa kuvata rajapintoja, kunnes siitä tehtiin Open API Definition Format (OADF) ja standardi siirrettiin Open API Initiativen alle, edelleen avoimena ilman maksuja käyttöönotettavana. Toisin sanoen hyvästä käytännöstä jota koeteltiin markkinoilla vuosia tehtii standardi eikä toisinpäin.
Kilpailuedun tekeminen tapahtuu standardien seuraamisen sijasta toteuttamalla teknisesti tai palveluna lisäarvoa jota muut eivät tehneet.
Siinä kohdin ei sitten enää standardi auta. Lisäarvo voi olla tehokkaammat toteutukset tai yhdistelmämetodit, joilla vähennetään kehittäjän vaivaa. Lisäksi pienet kokonaisuudet tai alueet joilla businesta tehdään vähän (silti merkittävästi) tuskin koskaan pääsevät standardisoinnin piiriin. Tarvitaan siis keinoja harmonisointiin eli yhtenäisyyteen ei yhdenmukaisuuteen (standardointi).
Harmonisointi APIOps toimintatavalla
APIOps konsepti valmiine välineineen mahdollistaa API perheiden harmonisoinnin. Yksi käyttöesimerkki julkiselta sektorilta on isohko virasto jolla on useita rajapintoja. Käytännön esimerkki vaikkapa Opetushallitus. Heille olisi eduksi että API:t ovat johdonmukaisia ja yhtenäisiä. Yhtenäiset rajapinnat madaltavat kehittäjien oppimiskynnystä ja siten nopeuttavat sovellus ja palvelukehitystä.
APIOps lähtee Design-First periaatteesta, jossa rajapintojen hyödyntäjät eli kehittäjät otetaan mukaan API:n kehittämiseen alusta alkaen, ei vasta kun API alkaa olemaan loppusilausta vaille valmis.
Jokaisella rajapinnalla on oma koneluettava kuvauksensa, josta voidaan automaattisesti tuottaa testattava rajapinta ja dokumentaatiot ilman manuaalista koodaamista. Vertailemalla rajapintojen kuvauksia, löydetään helposti epäyhtenäiset toiminnot ja voidaan harmonisoida kehittäjäkokemus (DX) jo alusta alkaen. Vastaavasti kun tehdään API perheeseen uutta rajapintaa, voidaan hyödyntää aiempia kuvauksia.
APIOps on 2015 kehitetty malli API kokonaisuuksia tehokkaaseen kehittämiseen ja ylläpitämiseen. Niin ja se on Suomesta. Olen menossa esittelemään mallia API Strategia konferenssiin Texasiin 17.11.2015. Suomen APIOps yhteisö on aloittanut rakentamaan omaa verkkopresensiään osoitteeseen: apiops.net.