Čitatelia ako vy pomáhajú podporovať MUO. Keď uskutočníte nákup pomocou odkazov na našej stránke, môžeme získať pridruženú províziu. Čítaj viac.

Rozhrania API spájajú aplikácie prostredníctvom prehľadných protokolov a architektúr. Architektúra API je rámec pravidiel pre vytváranie softvérových rozhraní. Pravidlá určujú, ako poskytnúť používateľom funkčnosť servera. Typ architektúry určuje pravidlá a štruktúry, ktoré riadia API.

Existuje mnoho rôznych typov architektúry API, od REST po RPC. Zoznámenie sa s ich štruktúrou a zložením vám pomôže vybrať jeden pre vašu aplikáciu.

1. ODPOČINOK

REST API sú moderné a sú najobľúbenejšou architektúrou API, ktorú vývojári používajú. ODPOČINOK (reprezentačný prenos stavu) je architektúra používaná na návrh aplikácií klient-server. Nie je to protokol ani štandard, takže ho môžete implementovať rôznymi spôsobmi. Tento aspekt zvyšuje vašu flexibilitu ako vývojára.

REST umožňuje prístup k požadovaným údajom uloženým v databáze. Základné funkcie CRUD môžete vykonávať pomocou REST API. Keď klienti požadujú obsah cez RESTful API, musia použiť správne hlavičky a parametre. Hlavičky obsahujú užitočné metadáta na identifikáciu zdroja, ako sú stavové kódy a autorizácia.

instagram viewer

Informácie prenášané cez HTTP môžu byť vo formáte JSON, HTML, XML alebo obyčajný text. JSON je najbežnejšie používaný formát súboru pre REST API. JSON je jazyk-agnostik a čitateľný pre ľudí.

2. SOAP

Jednoduchý protokol prístupu k objektu (SOAP) je oficiálny protokol API. World Wide Web Consortium (W3C) spravuje protokol SOAP, ktorý je jednou z prvých architektúr API. Jeho dizajn uľahčuje komunikáciu medzi aplikáciami vytvorenými v rôznych jazykoch a platformách.

Formát SOAP popisuje API pomocou jazyka popisu webovej služby (WSDL). Je napísaný v rozsiahlom značkovacom jazyku (XML). Formát ukladá vstavané štandardy zhody, ktoré zvyšujú bezpečnosť, konzistenciu, izoláciu a trvanlivosť. Tieto vlastnosti zaisťujú spoľahlivé databázové transakcie, vďaka čomu je SOAP lepší pre rozvoj podniku.

Keď používateľ požaduje obsah prostredníctvom rozhrania SOAP API, prechádza cez protokoly štandardnej vrstvy. Odpoveď je vo formáte XML, ktorý dokážu prečítať ľudia aj stroje. Podobne ako REST API, ani SOAP API neukladajú do vyrovnávacej pamäte/informácie. Ak budete údaje potrebovať neskôr, budete musieť podať ďalšiu žiadosť.

SOAP podporuje stavovú aj bezstavovú výmenu údajov.

3. GraphQL

GraphQL je dopytovací jazyk pre API. Je to runtime na strane servera, ktorý vykonáva dotazy na základe definovanej množiny údajov. GraphQL má špecifické prípady použitia. Jeho architektúra vám umožňuje deklarovať konkrétne informácie, ktoré potrebujete.

Na rozdiel od architektúry REST, kde HTTP spracováva požiadavky a odpovede klientov, GraphQL požaduje údaje pomocou dotazov. Služba GraphQL definuje typy a polia týchto typov a potom poskytuje funkcie pre každé pole a typ.

Služba prijíma Dotazy GraphQL overiť a vykonať. Najprv skontroluje dotaz, aby sa uistil, že odkazuje na definované typy a polia. Potom spustí súvisiace funkcie, aby sa dosiahol požadovaný výsledok.

GraphQL je skvelý pre určité prípady použitia, ako je načítanie údajov z viacerých zdrojov. Môžete tiež ovládať načítavanie údajov a regulovať šírku pásma pre menšie zariadenia.

4. Apache Kafka

Apache Kafka je distribuovaná platforma, ktorá podporuje streamovanie udalostí. Streamovanie udalostí je proces zachytávania údajov v reálnom čase zo zdrojov. Zdrojmi môžu byť databázy, servery alebo softvérové ​​aplikácie. Systém Kafka pozostáva zo serverov a klientov. Komunikácia prebieha cez sieťový protokol TCP.

Systém môžete nasadiť na hardvér, virtuálne počítače a kontajnery. Môžete to urobiť on-premise a v cloudových prostrediach. Systém Apache Kafka zachytáva dáta, spracováva a reaguje na ne v reálnom čase. Môže tiež smerovať údaje do preferovaného cieľa v reálnom čase. Kafka zachytáva a ukladá údaje v systéme, ktoré môžete neskôr získať a použiť.

Kafka podporuje nepretržitý tok a integráciu údajov. To zaisťuje, že informácie sú na správnom mieste a v správnom čase. Streamovanie udalostí sa môže týkať mnohých prípadov použitia, ktoré vyžadujú živé dátové toky. Patria sem finančné inštitúcie, zdravotníctvo, vláda, dopravný priemysel a spoločnosti s počítačovým softvérom.

5. AsyncAPI

AsyncAPI je iniciatíva s otvoreným zdrojom, ktorá pomáha budovať a udržiavať architektúry riadené udalosťami. Jeho špecifikácie majú veľa spoločného so špecifikáciami OpenAPI. AsyncAPI je v podstate adaptácia a vylepšenie špecifikácií OpenAPI s niekoľkými rozdielmi.

Architektúra AsyncAPI spája zmes REST API a udalosťami riadených API. Jeho schémy na spracovanie žiadostí a odpovedí sú podobne ako pri udalostiach API. AsyncAPI poskytuje špecifikácie na popis a dokumentáciu asynchrónnych aplikácií v strojovo čitateľnom formáte formát. Poskytuje tiež nástroje, ako sú generátory kódu, ktoré používateľom uľahčia ich implementáciu.

AsyncAPI zlepšuje súčasný stav architektúry riadenej udalosťami (EDA). Cieľom je uľahčiť prácu s EDA tak, ako je to s REST API. Iniciatíva AsyncAPI poskytuje dokumentáciu a kód, ktorý podporuje správu udalostí. Väčšina procesov používaných v REST API sa vzťahuje na udalosťami riadené/asynchrónne API.

Používanie špecifikácie AsyncAPI na dokumentovanie systémov riadených udalosťami je životne dôležité. Riadi a udržiava konzistentnosť a efektivitu v tímoch pracujúcich na projektoch riadených udalosťami.

6. Vzdialené volanie procedúry (RPC)

RPC je softvérový komunikačný protokol, ktorý umožňuje komunikáciu medzi rôznymi programami v sieti. Program si napríklad môže vyžiadať informácie z iného počítača v sieti. Nemusí dodržiavať sieťové protokoly. RPC môžete použiť na volanie procesov na vzdialených systémoch rovnako ako na lokálnom systéme.

RPC funguje na modeli klient-server. Klientsky program požaduje a serverový program odpovedá službou. RPC fungujú synchronizovane. Keď program odošle požiadavku, zostane pozastavený, kým nedostane odpoveď zo servera.

RPC sú najlepšie pre distribuované systémy. Sú najlepšie pre systémy založené na príkazoch a majú ľahké užitočné zaťaženie, ktoré zvyšuje výkon.

Ako si vybrať správnu architektúru API

Správna architektúra API závisí od vášho prípadu použitia. Architektúra určuje metodiku vývoja API a spôsob, akým bude fungovať. Architektonický návrh API definuje jeho komponenty a interakcie.

Pred návrhom a vývojom API urobte architektonické rozhodnutia. Určite technické požiadavky na API, vrstvu, správu životného cyklu a zabezpečenie. Návrhy architektúry API obsahujú štrukturálne vrstvy. Vrstvy usmerňujú vývoj a zabezpečujú, aby vytvorené API slúžilo svojmu zamýšľanému účelu.