API står for Application Programming Interface og er et programmeringsgrensesnitt som spesifiserer hvordan systemer og applikasjoner skal kommunisere med hverandre. API-er og API-integrasjon muliggjør dataflyt mellom systemer og applikasjoner uten at mennesker trenger å være involvert.
Brukergrensesnittet du ser på en nettside eller i et program er designet for at mennesker skal kunne kommunisere med digitale løsninger. Til sammenligning er API-grensesnittet designet for at systemer og applikasjoner skal kunne kommunisere med hverandre.
API-er gjør det lettere for utviklere å bygge tjenester oppå en gitt applikasjon fordi de kan bruke ferdig designede “blokker av kode” som gjerne følger med i et godt dokumentert API. Et godt API gir utviklerne større fleksibilitet og gjør det raskere å integrere mot andre systemer, som igjen kan gi større muligheter for innovasjon både internt og eksternt.
En mye brukt metafor for å forklare API-er er å tenke på et API som en kelner på en restaurant (Se illustrasjon under). En kunde (bruker) leser gjennom menyen og legger inn en bestilling på en rett, som kelneren (API-et) tar med seg inn til kjøkkenet (serveren/systemet) hvor den prosesseres og lages, deretter bringes tilbake til kunden når det er ferdig. I denne metaforen fungerer kelneren som bindeleddet mellom kunden og kjøkkenet, mye på samme måte som et API fungerer som koblingen mellom systemer eller applikasjoner.
Gjennom bruk av API-er kan virksomheter bygge løsninger med funksjonalitet fra andre digitale produkter og tjenester. Eksempler på dette er bruk av ekstern betalingsfunksjonalitet eller kartfunksjoner. Dette gjør det mulig for virksomheter å vurdere forretningsmuligheter og markeder de tidligere bare har kunnet glemme på grunn av mangel på riktig funksjonalitet og riktige data.
Det er viktig å påpeke at for å skape automatisert dataflyt er ikke kun API-er tilstrekkelig. For å automatisere prosessene er det nødvendig med API-integrasjoner mellom systemene eller applikasjonene. En fremtidsrettet måte å integrere systemer og applikasjoner på er å bruke en integrasjonsplattform.
Når du for eksempel bruker en applikasjon på telefonen din kobler denne applikasjonen seg til internett og sender data til en server. Videre tolker serveren dataen den mottok fra applikasjonen, utfører de nødvendige handlingene, og sender data tilbake til telefonen din. Applikasjonen tolker deretter dataen fra serveren, og til slutt presenterer deg med den informasjonen du ønsket i et relevant format. Alt dette skjer via et API.
Her er et annet eksempel. Se for deg at du skal på ferie og skal booke et hotellrom online. Du ønsker oversikt over flere hoteller i byen du skal til og logger deg derfor inn på en tredjepart-side som tilbyr booking av hotellrom fra ulike hotellkjeder (f.eks Hotels.com eller Momondo.com). Inne på siden får du oversikt over hoteller, ulike type rom, priser, hvilke datoer som er ledig, sammen med flere andre variabler.
Men hvordan er det mulig at denne tredjepart-siden for booking av hotellrom har tilgang til oppdatert informasjon fra flere hoteller?
Jo, gjennom bruk av API-er. Hotels.com, Momondo.com og andre lignende bookingsider kommuniserer med hotellenes API-er. Disse API-ene kan bli spurt av bookingsidene om informasjon fra hotellets database for å booke hotellrom. API-et tar imot bookingsidens forespørsel, og sender dataene direkte tilbake til bookingsiden som videre kan vise deg relevant og oppdatert informasjon.
Andre eksempler på bruk av API
REST API-er
REST står for “Representational State Transfer” og er blant de mest populære og fleksible API-ene. REST API-er har blitt veldig populære i sammenheng med utviklingen av web-applikasjoner. Denne typen API er designet slik at utviklere kan gjøre forespørsler og motta respons via HTTP funksjoner. Kommunikasjon gjennom et REST-API blir gjennomført bare når applikasjonen forespør den.
Websocket API-er
Websocket API er et annet moderne API som bruker JSON for å sende data. Denne typen API muliggjør toveis kommunikasjon mellom applikasjoner og servere. Fordelen med denne typen API er at man kan oppnå kontinuerlig kommunikasjon mellom applikasjonen og serveren, som for noen løsninger er helt nødvendig. Et eksempel på dette er en chat-løsning hvor meldinger må leveres selv uten at brukeren er innlogget i applikasjonen.
SOAP API-er
SOAP står for “Simple Object Access Protocol” og er en protokoll basert på en gitt standard. Denne typen API er avhengig av XML-baserte systemer og applikasjoner. SOAP API-er er ofte mindre fleksible og er mer vanlige i eldre systemer og løsninger.
Hva er XML og JSON?
Nesten all kommunikasjon mellom applikasjoner bruker et av disse to filformatene. Begge formatene er lesbare for mennesker, og hver av de har sine fordeler og ulemper når det kommer til bruken av de. Under ser du et eksempel på hvordan en XML-fil og en JSON-fil ser ut med akkurat den samme dataen, etterfulgt av hva som kjennetegner de to filtypene.
Når vi i Axaz utvikler og forvalter API-er for våre kunder benytter vi integrasjonsplattformen fra Boomi. Boomi er en ledende skybasert integrasjonsplattform som lar oss utvikle integrasjoner og API-er mye raskere enn med tradisjonell koding. Vi kan tilby en omfattende API management løsning som blant annet inkluderer:
Robin er integrasjonsutvikler i Axaz. Han jobber kontinuerlig for at våre kunder skal få mer verdi ut av sine data og skape dataflyt på tvers av hele organisasjonen. Han er genuint opptatt av å formidle kunnskap om digital transformasjon, og sier aldri nei til en god teknologiprat!
Fagartikler, nyheter og annet innhold fra Axaz rett i din innboks, én gang i måneden. Skriv inn mailen under for å melde deg på!