I databehandling , et applikasjonsprogrammeringsgrensesnitt eller applikasjonsprogrammeringsgrensesnitt (ofte referert til som API for Application Programming Interface ) er et standardisert sett av klasser , metoder , funksjoner, og konstanter som ligger til fasaden gjennom hvilken programvare tilbyr tjenester til annen programvare. Den tilbys av et programvarebibliotek eller en nettjeneste , ofte ledsaget av en beskrivelse som spesifiserer hvordan forbrukerprogrammer kan bruke funksjonaliteten til leverandørprogrammet .
Mer generelt snakker vi om API fra det øyeblikket en IT-enhet søker å handle med eller på et tredjepartssystem, og denne interaksjonen finner sted på en standardisert måte mens vi respekterer tilgangsbegrensningene definert av tredjepartssystemet. Tredjepartssystemet sies å "avsløre en API." Som sådan blir ting så forskjellige som signaturen til en funksjon, en URL , en RPC ... noen ganger betraktet som API-er (eller mikro-API-er) i seg selv.
I den moderne programvareindustrien bruker dataprogrammer mange programmeringsgrensesnitt, fordi programmering gjøres ved å gjenbruke funksjonelle klosser levert av tredjepartsprogramvare. Denne konstruksjonen ved montering krever at programmereren vet hvordan man kan samhandle med annen programvare, avhengig av programmeringsgrensesnittet. Programmereren trenger ikke å vite detaljene i den interne logikken til tredjepartsprogramvaren, og dette er ikke nødvendigvis dokumentert av leverandøren. Bare API er virkelig nødvendig for å bruke det aktuelle tredjepartssystemet.
Programvare som operativsystemer , databasesystemer , programmeringsspråk eller applikasjonsservere inkluderer ett eller flere grensesnitt (e) programmering.
Et programmeringsgrensesnitt er en tydelig avgrenset fasade gjennom hvilken en programvare gir tjenester til annen programvare. Målet er å gi en inngangsport til funksjonalitet ved å skjule detaljene i implementeringen. Et programmeringsgrensesnitt kan bestå av klasser , metoder eller funksjoner , datatyper og konstanter . Som oftest implementeres et programmeringsgrensesnitt av et programvarebibliotek som gir en løsning på et dataproblem ved å se bort fra driften.
Beskrivelsen av programmeringsgrensesnittet spesifiserer hvordan klienter kan samhandle med programvare ved å legge vekt på funksjonaliteten som tilbys av programvaren og skjule detaljene i driften. Et programmeringsgrensesnitt kan brukes i mange programmer, og fungerer deretter som et byggesett som gir funksjoner som kan integreres i applikasjoner. Programmører lager programmeringsgrensesnitt for andre programmerere, for dataindustrien, men også noen ganger for sine egne behov.
Opprettelse og bruk av programmeringsgrensesnitt er et viktig tema for moderne programmering. En applikasjon bruker vanligvis mange programmeringsgrensesnitt, implementert av programvarebiblioteker som selv kan bruke andre programmeringsgrensesnitt.
I tjenesteorientert arkitektur kan applikasjoner avhenge av tredjepartsfunksjonaliteter som tilbys av programvare via programmeringsgrensesnitt implementert av webtjenester .
Programmeringsgrensesnitt sparer tid gjennom samarbeid og spesialisering av programvareutviklingsteam. For eksempel i dag Ingen skriver en hjemmelaget DBMS for et dataprogram. Programmerere gjenbruker eksisterende DBMS-er fra hyllen som leveres av selskaper som spesialiserer seg på denne typen produkter, og fokuserer på logikken som er spesifikk for deres applikasjon. Mange infrastrukturprodukter er således tilgjengelig i form av rammer eller biblioteker .
Et programmeringsgrensesnitt gir for eksempel et program tilgang til tjenestene som tilbys av operativsystemet som er vert for programmet. Sockets- grensesnittet er et klassisk eksempel på et programmeringsgrensesnitt som lar et program utnytte mulighetene til nettverkslaget i operativsystemet.
En av de mest kjente grensesnittene er Windows API . Det er en samling av funksjoner, datatyper og konstanter, i C-programmeringsspråket (Windows har først og fremst blitt skrevet i C, spesielt kjernen, og litt av C ++), som lar programmerere lage applikasjoner. For Windows-operativsystemer . Det gir muligheten til å håndtere filer, prosesser, kommunisere over nettverk og håndtere grafiske grensesnitt .
I den moderne programvareindustrien, dataprogrammer gjøre bruk av mange tredjeparts programvare, for eksempel en operativsystem , standard biblioteker , eller applikasjonsservere . Hver av disse produktene har sitt eget programmeringsgrensesnitt. Dermed hver programmerer involvert i utviklingen av slike produkter er involvert, bevisst eller ikke, i virksomheten av programmeringsgrensesnitt. Fra et forretningsmessig synspunkt er et programmeringsgrensesnitt en kontrakt der en funksjonsleverandør beskriver tilbudet, funksjonene det tilbyr og eventuelle begrensninger.
Bygging ved å montere programvare krever at byggherren vet hvordan delene samhandler med hverandre. Den som utfører monteringen trenger ikke å vite alle detaljene i de interne mekanismene til en del, så lenge han kjenner programmeringsgrensesnittet. Programmeringsgrensesnittet er det minimum som en programmerer trenger å vite for å kunne bruke et stykke tredjepartsprogramvare. For en funksjon er det navnet på denne, parametrene og typen av resultat, samt de observerbare effektene av funksjonen.
Et programmeringsgrensesnitt distribueres i markedet som et vanlig programvareprodukt, som regelmessig forbedres. Implementeringen av funksjoner som kan brukes gjennom programmeringsgrensesnittet kan endres med jevne mellomrom, mens fasaden opprettholdes i samsvar med kontrakten.
Programmeringsgrensesnitt kan ha flere funksjoner. For eksempel, i Java EE , finner vi følgende funksjoner:
API-er kan brukes til å forenkle tilgangen til andre API-er
Programmeringsgrensesnitt kan ha metadata .
Den API Ledelse er en disiplin , et verktøy API styring , en IT-løsning som er utviklet for å hjelpe organisasjoner , de selskapene operere og publisere det beste API uten å risikere informasjonssystem . Det er et middel for sikker sammenkobling av interne og eksterne tjenester. I tillegg tillater API Management å ha en viss synlighet på tilgangsforespørslene til APIene. Dette sikrer de eksponerte API-ene, letter administrasjonen av livssyklusen, hjelper til med å kontrollere API-forbruket og gir rapporteringsverktøy for overvåking av kontrakter. Den API ledelse innebærer etableringen av ressurser brukerstøtte , som definerer og dokumentere API.
"Et API ( Application Programming Interface ) […]"