Sučelja za programiranje mrežnih aplikacija (API)

API (Application Programming Interface) omogućuje računalnim programerima pristup funkcionalnosti objavljenih softverskih modula i usluga. API definira strukture podataka i potprogramne pozive koji se mogu koristiti za proširenje postojećih aplikacija s novim značajkama i izgradnju potpuno novih aplikacija na vrhu ostalih softverskih komponenti. Neki od tih API-ja posebno podržavaju mrežno programiranje .

Mrežno programiranje je vrsta razvoja softvera za aplikacije koje povezuju i komuniciraju preko računalnih mreža, uključujući Internet. Mrežni API-ji pružaju ulazne točke za protokole i biblioteke za ponovno korištenje. Mrežni APIs podržava web preglednike, web baze podataka i mnoge mobilne aplikacije. Oni su široko podržani u mnogim različitim programskim jezicima i operativnim sustavima.

Socket programiranje

Tradicionalno programiranje mreže slijedilo je model klijent-poslužitelj . Primarni API-ji koji se koriste za umrežavanje klijent-poslužitelja implementirani su u knjižnicama socket ugrađenim u operacijske sustave. API-ji Berkeley i Windows Sockets (Winsock) bili su dva primarna standarda za programiranje socket već dugi niz godina.

Daljinski postupak poziva

API-ji RPC proširuju osnovne tehnike mrežnog programiranja dodavanjem mogućnosti aplikacijama da zazivaju funkcije na udaljenim uređajima umjesto da samo šalju poruke na njih. Uz eksploziju rasta na World Wide Webu (WWW) , XML-RPC je nastao kao jedan popularan mehanizam za RPC.

Jednostavni protokol pristupa objektu (SOAP)

SOAP je razvijen krajem 1990-ih kao mrežni protokol koji koristi XML kao oblik poruke i HyperText Transfer Protocol (HTTP) kao njegov prijenos. SOAP je generirao lojalnu praćenje programera za web usluge i postao je široko korišten za poslovne aplikacije.

Predstavnički državni prijenos (REST)

REST je još jedan programski model koji podržava i web usluge koje su nedavno stigle na scenu. Poput SOAP-a, REST API-ji koriste HTTP, ali umjesto XML-a, REST aplikacije često odabiru upotrebu Javascript Object Notation (JSON). REST i SOAP znatno se razlikuju u svojim pristupima državnom upravljanju i sigurnosti, i ključnim razmatranjima za mrežne programere. Mobilne aplikacije mogu ili ne moraju upotrebljavati mrežne API-je, ali one koje često koriste REST.

Budućnost API-ja

SOAP i REST i dalje se aktivno koriste za razvoj novih web usluga. Budući da je tehnologija znatno novije od SOAP-a, REST se više razvija i proizvodi druge oblike razvoja API-ja.

Operacijski sustavi također su razvili podršku mnogim novim tehnologijama Mrežnog API-ja. U suvremenim operacijskim sustavima kao što je Windows 10, džepovi i dalje su temeljni API, s HTTP i ostalom dodatnom podrškom slojevitom na vrhu za programiranje RESTful stilu.

Kao što je to često slučaj u računalnim poljima, nove tehnologije imaju tendenciju da se razvije mnogo brže od starih one postanu zastarjele. Potražite zanimljive nove razvojne API-je koji se događaju posebno u oblastima cloud computinga i interneta stvari (IoT) , gdje su karakteristike uređaja i njihovih modela korištenja dosta različiti od tradicionalnih okruženja za programiranje mreže.