Ohjelmointirajapinta

Ohjelmointirajapinta (engl. application programming interface, API) on komponenttien ja moduulien välinen raja ohjelmoitavassa järjestelmässä.[1]

Ohjelmointirajapinta on määritelmä, jonka mukaan eri ohjelmat voivat tehdä pyyntöjä ja vaihtaa tietoja eli keskustella keskenään. Esimerkki rajapinnasta on käyttöjärjestelmän rajapinta, jolla ohjelmat voivat käyttää keskusmuistia sekä tiedostoja.

Ohjelmointirajapinnat voivat toimia ohjelmien välillä tai ohjelmien ja laitteiston välillä (esimerkiksi BIOS). Ohjelmointirajapinnan tunnusmerkkeihin kuuluvat joukko toimintoja syötteiden ja tulosteiden määrittäminä sekä mahdollisuus muuttaa toteutusta ilman häiriötä sen käyttäjille.[2][3]

Ohjelmointirajapintoja voi toteuttaa lähes kaikilla olemassa olevilla ohjelmointikielillä. Termillä viitataan usein myös internetin yli toimiviin ohjelmointirajapintoihin (Web API). Internetin yli toimivien ohjelmointirajapintojen voidaan katsoa olevan esimerkiksi Amazonin AWS-pilvipalvelujen menestyksen taustalla. Niiden liiketoiminnallisena ideana on kapseloida palvelimien monimukainen logiikka helppokäyttöisen ohjelmointirajapinnan taakse ja tuottaa siitä ohjelmointirajapinnan avulla yksinkertainen tapa hyödyntää niitä tarpeen mukaan[4]. Moderneja internetin yli toimivia ohjelmointirajapintoja toteutetaan esimerkiksi Restful-arkkitehtuurityylillä[5].

  1. Charlie Garrod & Jonathan Aldrich: Principles of Software Construction: Objects, Design, and Concurrency – Principles of API Design (PDF) cs.cmu.edu. syksy 2014. Viitattu 17.6.2021. (englanniksi)
  2. Joshua Bloch: A Brief, Opinionated History of the API infoq.com. (englanniksi)
  3. Viittausvirhe: Virheellinen <ref>-elementti;viitettä nksapi ei löytynyt
  4. Nordic APIs: The Bezos API Mandate: Amazon's Manifesto For Externalization | Nordic APIs | Nordic APIs. 19.1.2021. Viitattu 29.10.2023. (englanniksi)
  5. Fielding Dissertation: CHAPTER 5: Representational State Transfer (REST) ics.uci.edu. Viitattu 29.10.2023.

© MMXXIII Rich X Search. We shall prevail. All rights reserved. Rich X Search