Tokie skaitytojai kaip jūs padeda palaikyti MUO. Kai perkate naudodami nuorodas mūsų svetainėje, galime uždirbti filialų komisinius. Skaityti daugiau.

API sujungia programas per aiškius protokolus ir architektūras. API architektūra yra programinės įrangos sąsajų kūrimo taisyklių sistema. Taisyklės nustato, kaip vartotojams teikti serverio funkcijas. Architektūros tipas nustato API taisykles ir struktūras.

Yra daug skirtingų API architektūros tipų, nuo REST iki RPC. Sužinoję apie jų struktūrą ir sudėtį, galėsite pasirinkti vieną savo programai.

1. POILSIS

REST API yra modernūs ir yra populiariausia kūrėjų naudojama API architektūra. POILSIS (reprezentacinis būsenos perdavimas) yra architektūra, naudojama kliento-serverio programoms kurti. Tai nėra protokolas ar standartas, todėl galite jį įgyvendinti įvairiais būdais. Šis aspektas padidina jūsų, kaip kūrėjo, lankstumą.

REST suteikia prieigą prie prašomų duomenų, saugomų duomenų bazėje. Naudodami REST API galite atlikti pagrindines CRUD funkcijas. Kai klientai prašo turinio per RESTful API, jie turi naudoti tinkamas antraštes ir parametrus. Antraštėse yra naudingų metaduomenų, leidžiančių identifikuoti išteklius, pvz., būsenos kodus ir įgaliojimą.

Per HTTP perduodama informacija gali būti JSON, HTML, XML arba paprastu tekstu. JSON yra dažniausiai naudojamas REST API failo formatas. JSON yra kalbos agnostikas ir skaitomas žmonėms.

2. MUILAS

Paprastas objekto prieigos protokolas (SOAP) yra oficialus API protokolas. World Wide Web Consortium (W3C) palaiko SOAP protokolą, kuris yra viena iš pirmųjų API architektūrų. Jo dizainas palengvina ryšį tarp programų, sukurtų skirtingomis kalbomis ir platformomis.

SOAP formatas aprašo API, naudojančią žiniatinklio paslaugų aprašo kalbą (WSDL). Ji parašyta plačiąja žymėjimo kalba (XML). Formatas nustato integruotus atitikties standartus, kurie padidina saugumą, nuoseklumą, izoliaciją ir ilgaamžiškumą. Šios savybės užtikrina patikimas duomenų bazių operacijas, todėl SOAP yra geresnis įmonės plėtrai.

Kai vartotojas prašo turinio per SOAP API, jis eina per standartinius sluoksnio protokolus. Atsakymas pateikiamas XML formatu, kurį gali skaityti žmonės ir mašinos. Kaip ir REST API, SOAP API nelaiko informacijos talpykloje / nesaugo. Jei duomenų prireiks vėliau, turėsite pateikti kitą užklausą.

SOAP palaiko ir būsenos, ir be būsenos duomenų mainus.

3. GraphQL

GraphQL yra užklausų kalba API. Tai serverio vykdymo laikas, kuris vykdo užklausas pagal apibrėžtą duomenų rinkinį. GraphQL turi specifinių naudojimo atvejų. Jo architektūra leidžia deklaruoti konkrečią jums reikalingą informaciją.

Skirtingai nei REST architektūroje, kur HTTP tvarko kliento užklausas ir atsakymus, GraphQL prašo duomenų su užklausomis. GraphQL paslauga apibrėžia tų tipų tipus ir laukus, tada pateikia kiekvieno lauko ir tipo funkcijas.

Paslauga gauna GraphQL užklausos patvirtinti ir vykdyti. Pirma, ji patikrina užklausą, kad įsitikintų, jog ji nurodo apibrėžtus tipus ir apibrėžtus laukus. Tada jis vykdo susijusias funkcijas, kad gautų norimą rezultatą.

GraphQL puikiai tinka tam tikrais naudojimo atvejais, pavyzdžiui, norint gauti duomenis iš kelių šaltinių. Taip pat galite valdyti duomenų gavimą ir mažesnių įrenginių pralaidumą.

4. Apache Kafka

Apache Kafka yra paskirstyta platforma, palaikanti įvykių srautinį perdavimą. Įvykių srautinis perdavimas yra duomenų fiksavimo realiuoju laiku iš šaltinių procesas. Šaltiniai gali būti duomenų bazės, serveriai arba programinės įrangos programos. Kafka sistemą sudaro serveriai ir klientai. Ryšys vyksta per TCP tinklo protokolą.

Galite įdiegti sistemą aparatinėje įrangoje, virtualiose mašinose ir konteineriuose. Tai galite padaryti vietoje ir debesų aplinkoje. Apache Kafka sistema fiksuoja duomenis, apdoroja ir reaguoja į juos realiu laiku. Jis taip pat gali nukreipti duomenis į pageidaujamą paskirties vietą realiuoju laiku. Kafka fiksuoja ir išsaugo sistemoje duomenis, kuriuos vėliau galėsite nuskaityti ir naudoti.

Kafka palaiko nuolatinį duomenų srautą ir integravimą. Taip užtikrinama, kad informacija būtų tinkamoje vietoje ir tinkamu laiku. Įvykių srautinis perdavimas gali būti taikomas daugeliu atvejų, kai reikia tiesioginių duomenų srautų. Tai finansinės institucijos, sveikatos apsauga, vyriausybė, transporto pramonė ir kompiuterių programinės įrangos įmonės.

5. AsyncAPI

AsyncAPI yra atvirojo kodo iniciatyva, padedanti kurti ir palaikyti įvykiais pagrįstą architektūrą. Jo specifikacijos turi daug bendrų dalykų su OpenAPI specifikacijomis. „AsyncAPI“ iš esmės yra „OpenAPI“ specifikacijų pritaikymas ir tobulinimas su keliais skirtumais.

AsyncAPI architektūra sujungia REST API ir įvykiais pagrįstų API mišinį. Jos užklausų ir atsakymų tvarkymo schemos yra panašus į įvykių API. AsyncAPI pateikia specifikacijas, skirtas aprašyti ir dokumentuoti asinchronines programas mašininiu būdu nuskaitomoje formoje formatu. Jame taip pat yra įrankių, pvz., kodų generatorių, kad vartotojams būtų lengviau juos įdiegti.

AsyncAPI pagerina dabartinę įvykiais pagrįstos architektūros (EDA) būseną. Tikslas yra palengvinti darbą su EDA, kaip ir su REST API. AsyncAPI iniciatyva pateikia dokumentus ir kodą, kurie palaiko įvykių valdymą. Dauguma REST API naudojamų procesų taikomi įvykiais pagrįstoms / asinchroninėms API.

AsyncAPI specifikacijos naudojimas dokumentuojant įvykiais pagrįstas sistemas yra gyvybiškai svarbus. Jis valdo ir palaiko nuoseklumą bei efektyvumą komandose, dirbančiose su įvykiais paremtais projektais.

6. Nuotolinis procedūrų skambutis (RPC)

RPC yra programinės įrangos ryšio protokolas, leidžiantis palaikyti ryšį tarp skirtingų programų tinkle. Pavyzdžiui, programa gali prašyti informacijos iš kito tinklo kompiuterio. Jis neprivalo laikytis tinklo protokolų. Galite naudoti RPC, kad iškviestumėte procesus nuotolinėse sistemose, kaip ir vietinėje sistemoje.

RPC veikia pagal kliento-serverio modelį. Kliento programa pateikia užklausas, o serverio programa atsako su paslauga. RPC veikia sinchroniškai. Kai programa siunčia užklausą, ji lieka sustabdyta, kol negauna atsakymo iš serverio.

RPC geriausiai tinka paskirstytoms sistemoms. Jie geriausiai tinka komandomis pagrįstoms sistemoms ir turi lengvą naudingą apkrovą, kuri padidina našumą.

Kaip pasirinkti tinkamą API architektūrą

Tinkama API architektūra priklauso nuo jūsų naudojimo atvejo. Architektūra nustato API kūrimo metodiką ir kaip ji veiks. API architektūrinis dizainas apibrėžia jos komponentus ir sąveiką.

Prieš kurdami ir kurdami API, priimkite architektūrinius sprendimus. Nustatykite techninius API, pakopos, gyvavimo ciklo valdymo ir saugos reikalavimus. API architektūros projektuose yra struktūrinių sluoksnių. Sluoksniai vadovauja plėtrai ir užtikrina, kad sukurta API tarnautų numatytam tikslui.