Web -API - Web API

Et web -API er et programmeringsgrensesnitt for applikasjoner for enten en webserver eller en nettleser . Det er en web-utvikling konsept, vanligvis begrenset til en web-applikasjon 's klientsiden (inkludert eventuelle web rammeverk som brukes), og dermed vanligvis ikke inkluderer web server eller gjennomføring leseren detaljer som SAPI'er eller APIer med mindre offentlig tilgjengelig med en ekstern Webapplikasjon.

Server side

En web -API på serversiden er et programmatisk grensesnitt som består av ett eller flere offentlig utsatte endepunkter til et definert forespørselsresponsmeldingssystem , vanligvis uttrykt i JSON eller XML , som blir eksponert via nettet -oftest ved hjelp av et HTTP -basert Internett server. Mashups er webapplikasjoner som kombinerer bruk av flere web-APIer på serversiden. Webhooks er web-APIer på serversiden som tar input som en Uniform Resource Identifier (URI) som er designet for å bli brukt som et eksternt navngitt rør eller en type tilbakeringing slik at serveren fungerer som en klient for å avlede den angitte URI og utløse en hendelse på en annen server som håndterer denne hendelsen og dermed gir en type peer-to-peer IPC .

Sluttpunkter

Sluttpunkter er viktige aspekter ved samhandling med web-APIer på serversiden, ettersom de spesifiserer hvor ressurser ligger som kan nås av tredjeparts programvare. Vanligvis er tilgangen via en URI som HTTP -forespørsler blir lagt ut på, og som svaret dermed forventes fra. Nett -API -er kan være offentlige eller private, og sistnevnte krever tilgangstoken .

Sluttpunkter må være statiske, ellers kan ikke programvaren som samhandler med den fungere korrekt. Hvis plasseringen av en ressurs endres (og med det endepunktet), vil tidligere skrevet programvare bryte, ettersom den nødvendige ressursen ikke lenger kan bli funnet på samme sted. Siden API -leverandører fremdeles ønsker å oppdatere sine web -APIer, har mange introdusert et versjoneringssystem i URI som peker på et endepunkt, for eksempel Clarifai API: Sluttpunktet for merkingsfunksjonaliteten i web -API har følgende URI: "https: //api.google.com/v1/tag/ ". "/V1/" -delen av URI spesifiserer tilgang til den første versjonen av web -API. Hvis Clarifai bestemmer seg for å oppdatere til versjon to, kan de gjøre dette mens de fortsatt opprettholder støtte for tredjeparts programvare som bruker den første versjonen.

Ressurser kontra tjenester

Web 2.0 Web-APIer bruker ofte maskinbaserte interaksjoner som REST og SOAP . RESTful web-APIer er vanligvis løst basert på HTTP- metoder for å få tilgang til ressurser via URL-kodede parametere og bruk av JSON eller XML for å overføre data. Derimot er SOAP -protokoller standardisert av W3C og pålegger bruk av XML som nyttelastformat, vanligvis over HTTP . Videre bruker SOAP -baserte web -APIer XML -validering for å sikre strukturell meldingsintegritet ved å utnytte XML -skjemaene som er utstyrt med WSDL -dokumenter. Et WSDL -dokument definerer XML -meldingene og transportbindingene til en webtjeneste nøyaktig .

Dokumentasjon

Web-APIer på serversiden er grensesnitt for omverdenen for å samhandle med forretningslogikken. For mange selskaper er denne interne forretningslogikken og den intellektuelle eiendommen knyttet til den det som skiller dem fra andre selskaper, og potensielt det som gir dem et konkurransefortrinn. De vil ikke at denne informasjonen skal avsløres. For å kunne tilby et web -API av høy kvalitet, må det imidlertid være et tilstrekkelig dokumentasjonsnivå. En API -leverandør som ikke bare gir dokumentasjon, men også lenker til den i feilmeldingene, er Twilio.

Imidlertid er det nå kataloger over populære, dokumenterte web-APIer på serversiden.

Vekst og innvirkning

Antall tilgjengelige web -APIer har vokst jevnt og trutt de siste årene, ettersom virksomheter innser vekstmulighetene knyttet til å drive en åpen plattform, som enhver utvikler kan samhandle med. ProgrammableWeb sporer 9000 web -APIer som var tilgjengelige i 2013, opp fra 105 i 2005.

Nett -API -er har blitt allestedsnærværende. Det er få store programvare/tjenester som ikke tilbyr noen form for web -API. En av de vanligste formene for interaksjon med disse web -API -ene er via innebygd eksterne ressurser, for eksempel tweets, Facebook -kommentarer, YouTube -videoer, etc. Faktisk er det svært vellykkede selskaper, for eksempel Disqus , hvis hovedtjeneste er å tilby innebygde verktøy , for eksempel et funksjonsrikt kommentarsystem. Alle nettsteder på TOP 100 Alexa Internett -rangerte nettsteder bruker APIer og/eller tilbyr sine egne APIer, noe som er en veldig tydelig indikator for den enorme omfanget og virkningen av web -APIer som helhet.

Etter hvert som antall tilgjengelige web -API -er har vokst, har verktøyene for åpen kildekode blitt utviklet for å gi mer sofistikert søk og oppdagelse. APIs.json gir en maskinlesbar beskrivelse av et API og dets drift, og det relaterte prosjektet APIs.io tilbyr en søkbar offentlig liste over API-er basert på APIs.json-metadataformatet.

Virksomhet

Kommersiell

Mange selskaper og organisasjoner stoler sterkt på sin Web API -infrastruktur for å betjene sine kjernekunder. I 2014 mottok Netflix rundt 5 milliarder API -forespørsler, de fleste av dem innenfor sitt private API.

Statlige

Mange regjeringer samler inn mye data, og noen myndigheter åpner nå tilgang til disse dataene. Grensesnittene som disse dataene vanligvis gjøres tilgjengelige for, er web -APIer. Web -APIer gir tilgang til data, for eksempel "budsjett, offentlige arbeider, kriminalitet, juridiske og andre byrådata" for enhver utvikler på en praktisk måte.

Klient side

En web-API på klientsiden er et programmatisk grensesnitt for å utvide funksjonaliteten i en nettleser eller annen HTTP-klient. Opprinnelig var disse vanligvis i form av native plug-in nettleserutvidelser, men de fleste nyere er målrettet mot standardiserte JavaScript- bindinger.

Den Mozilla Foundation skapt sin WebAPI spesifikasjonen som er utviklet for å hjelpe erstatte innfødte mobile applikasjoner med HTML5 -applikasjoner.

Google opprettet sin Native Client- arkitektur som er designet for å erstatte usikre native plug-ins med sikre native sandbox- utvidelser og applikasjoner. De har også gjort dette bærbart ved å bruke en modifisert LLVM AOT -kompilator .

Se også

Referanser

Videre lesning