This is a read only archive of pad.okfn.org. See the shutdown announcement for details.

avoin-rajapinta E---------
SIIRRETTY KOMMENTOITAVAKSI OSOITTEESEENeeses: http://okf.fSähköpostiosoitei/avoin-rajapinta
---------





SeewedsW








Facebook-keskustelu dead 





Esa aw
I am am seZZ


I Do we dada as S
Dad 

















Facebook-keskustelu https://www.facebook.com/groups/fi.okfn/permalink/10152504444475628/





SISÄLLYS:



1: LUONNOS

Mikä on avoin rajapinta?

Tämän dokumentin tavoitteena on määritellä selkeästi, mikä on avoin rajapinta. Täsmällistä määrittelyä tarvitaan esimerkiksi julkisissa järjestelmähankinnoissa, jotta vältytään väärinkäsityksiltä.

Rajapinta on avoin, jos kuka vain voi kehittää sitä käyttävän sovelluksen. Tähän ei riitä pelkkä dokumentaatio, vaan itse rajapintaan pitää päästä  käsiksi, jotta omaa sovellusta voi testata. Avoimen rajapinnan käyttö on maksutonta, eikä käyttäjän tarvitse kysyäased lupaa rajapinnan haltijalta tai kertoa etukäteen mitä on tekemässä.
  
Monilla julkishallinnon organisaatioilla on tavoitteena saada kaikkiin tuleviin tietojärjestelmiin kattavat rajapinnat, joilla tieto saadaan liikkumaan järjestelmien välillä nykyistä joustavammin. Rajapintojen käyttö ei sinänällään ota kantaa siihen, mikä osa tiedoista on julkisia ja mikä osa sisäisiä, mutta niiden avulla tieto on halutessa vaivattomasti saatavissa ulos järjestelmästä.



Rajapinta

Rajapinta (Application programming interface, API) on määritelmä, jonka mukaan eri ohjelmat voivat tehdä pyyntöjä ja vaihtaa tietoja keskenään. Käytännössä tämän dokumentin kannalta mielenkiintoiset rajapinnat ovat usein Internetin yli käytettäviä Web Service-rajapintoja. Samat periaatteet pätevät kuitenkin muunlaisiinkin toteutuksiin.

Rajapinta voi olla pelkkä datarajapinta kuten esim. kansalaisaloite.fi:n rajapinta, jonka kautta saa luettua palvelun sisältämän datan toisiin järjestelmiin. Lukuoikeuksien (read) lisäksi rajapinnan kautta voi olla mahdollista myös syöttää (insert), päivittää (update) tai poistaa (delete) dataa. Järjestelmä voi tarjota myös laskenta-algoritmeja tai muita ohjelmallisia toimintoja rajapinnan kautta palveluna muille järjestelmille. Esimerkkejä tällaisista niin toiminnallisista rajapinnoista ovat muun muassa HSL reittioppaan rajapinta, joka tarjoaa reititysalgoritmin tai Helsingin Palauteytimen Open311-rajapinta, jonka kautta voi tehdä vikailmoituksia.

Jos järjestelmässä on erikseen datarajapinta ja toiminnallinen rajapinta, on syytä täsmentää, minkä kaiken on tarkoitus olla avointa. Rajapinnoista puhuttaessa on myös syytä erottaa toisistaan tekninen rajapinta (rajapintakuvaus ja ohjelmakoodi) ja sen yksittäinen toteutus, jokaisen yksittäisen toteutuksen ei tarvitse olla avoin.



Avoin rajapinta

Jotta rajapinnan voi sanoa olevan avoin, sen täytyy täyttä seuraavat ehdot:

  1. Dokumentoitu: Rajapinta on määritelty ja sen dokumentaatio on verkon kautta avoimesti saatavilla. Järjestelmän sisältämät tiedot, niiden rakenne ja rajapinnat tulee  dokumentoida riittävällä tarkkuudella, jotta rajapinnan käyttöönotto ja  hyödyntäminen on vaivatonta.
  2. Käyttöönotettava: Avoin rajapinta on mahdollista ottaa käyttöön ilman ylläpitäjän tai järjestelmätoimittajan toimia (myös virka-ajan ulkopuolella). Mahdolliset rekisteröitymiset ym ovat automaattisia.
  3. Testattava: Rajapintaa voi koekäyttää, eli tarjolla on vähintään testiaineisto.
  4. Teknologia-agnostisuus: Rajapinnan pitää olla käytettävissä ja saatavilla kaikilla sen kanssa yhteensopivilla kutsu-, haku- ja päivityskäytännöillä ja -tekniikoilla käyttöjärjestelmän, alustan, protokollan tai muun teknologisen sitoumuksen estämättä.

Avoimen rajapinnan kautta saatava data on usein avointa, mutta sen ei tarvitse olla avointa dataa. Rajapinnan avoimuus koskee teknistä rajapintaa, mutta jokaisen yksittäisen toteutuksen ei tarvitse olla avoin. Esimerkiksi potilastietojärjestelmällä voi olla testailua ja kehittämistä varten pseudodataa tarjoava avoin rajapinta, vaikka potilastiedot eivät ole avoimia. Itse potilastietojärjestelmä voi olla täysin salattuna viranomaisverkossa, ilma pääsyä internettiin.






Avoin rajapinta käytännössä
Käytännössä jonkin seuraavista ehdoista pitää täyttyä: 
A) avoin pääsy tuotantojärjestelmään, jota käyttäen palveluun voi integroitua, tai
B) avoin pääsy testijärjestelmään, jossa on realistista esimerkkidataa, tai
C) testijärjestelmä on ladattavissa vapaasti omaan käyttöön

Esimerkkejä


Miksi avoimia rajapintoja?



Huomiota ja hyviä käytäntöjä







2: LINKKEJÄ JA VIITTEITÄ




3: KYSYMYKSIÄ JA KESKUSTELUA