Čtenáři jako vy pomáhají podporovat MUO. Když provedete nákup pomocí odkazů na našich stránkách, můžeme získat provizi přidružené společnosti. Přečtěte si více.

API propojují aplikace pomocí jasných protokolů a architektur. Architektura API je rámec pravidel pro vytváření softwarových rozhraní. Pravidla určují, jak uživatelům poskytovat funkce serveru. Typ architektury určuje pravidla a struktury, kterými se API řídí.

Existuje mnoho různých typů architektury API, od REST po RPC. Informace o jejich struktuře a složení vám pomohou vybrat jeden pro vaši aplikaci.

1. ODPOČINEK

REST API jsou moderní a jsou nejoblíbenější architekturou API, kterou vývojáři používají. ODPOČINEK (representational state transfer) je architektura používaná k návrhu klient-server aplikací. Není to protokol ani standard, takže jej můžete implementovat různými způsoby. Tento aspekt zvyšuje vaši flexibilitu jako vývojáře.

REST umožňuje přístup k požadovaným datům uloženým v databázi. Základní funkce CRUD můžete provádět pomocí REST API. Když klienti požadují obsah prostřednictvím RESTful API, musí používat správná záhlaví a parametry. Záhlaví obsahují užitečná metadata k identifikaci zdroje, jako jsou stavové kódy a autorizace.

Informace přenášené prostřednictvím HTTP mohou být ve formátu JSON, HTML, XML nebo prostý text. JSON je nejběžněji používaný formát souboru pro REST API. JSON je jazykově agnostický a je čitelný pro lidi.

2. MÝDLO

Jednoduchý protokol pro přístup k objektu (SOAP) je oficiální protokol API. World Wide Web Consortium (W3C) udržuje protokol SOAP, který je jednou z nejstarších architektur API. Jeho design usnadňuje komunikaci mezi aplikacemi vytvořenými v různých jazycích a platformách.

Formát SOAP popisuje API pomocí jazyka popisu webové služby (WSDL). Je napsán v rozsáhlém značkovacím jazyce (XML). Formát ukládá vestavěné standardy shody, které zvyšují zabezpečení, konzistenci, izolaci a trvanlivost. Tyto vlastnosti zajišťují spolehlivé databázové transakce, díky nimž je SOAP lepší pro rozvoj podniku.

Když uživatel požaduje obsah prostřednictvím rozhraní SOAP API, prochází protokoly standardní vrstvy. Odpověď je ve formátu XML, který mohou číst lidé i stroje. Stejně jako REST API, ani SOAP API neukládají do mezipaměti a neukládají informace. Pokud data budete potřebovat později, musíte podat další žádost.

SOAP podporuje jak stavovou, tak bezstavovou výměnu dat.

3. GraphQL

GraphQL je dotazovací jazyk pro API. Je to běhové prostředí na straně serveru, které provádí dotazy na základě definované sady dat. GraphQL má specifické případy použití. Jeho architektura vám umožňuje deklarovat konkrétní informace, které potřebujete.

Na rozdíl od architektury REST, kde HTTP zpracovává požadavky a odpovědi klientů, GraphQL požaduje data pomocí dotazů. Služba GraphQL definuje typy a pole těchto typů a poté poskytuje funkce pro každé pole a typ.

Služba přijímá Dotazy GraphQL ověřit a provést. Nejprve zkontroluje dotaz, aby se ujistil, že odkazuje na definované typy a definovaná pole. Poté spustí přidružené funkce k dosažení požadovaného výsledku.

GraphQL je skvělý pro určité případy použití, jako je načítání dat z více zdrojů. Můžete také ovládat načítání dat a regulovat šířku pásma pro menší zařízení.

4. Apache Kafka

Apache Kafka je distribuovaná platforma, která podporuje streamování událostí. Streamování událostí je proces zachycování dat v reálném čase ze zdrojů. Zdroji mohou být databáze, servery nebo softwarové aplikace. Systém Kafka se skládá ze serverů a klientů. Komunikace probíhá přes síťový protokol TCP.

Systém můžete nasadit na hardware, virtuální stroje a kontejnery. Můžete to udělat on-premise a v cloudových prostředích. Systém Apache Kafka zachycuje data, zpracovává je a reaguje na ně v reálném čase. Může také směrovat data do preferovaného cíle v reálném čase. Kafka zachycuje a ukládá data v systému, která můžete později získat pro použití.

Kafka podporuje nepřetržitý tok a integraci dat. To zajišťuje, že informace jsou na správném místě a ve správný čas. Streamování událostí se může týkat mnoha případů použití, které vyžadují živé datové toky. Patří mezi ně finanční instituce, zdravotnictví, vláda, dopravní průmysl a společnosti vyrábějící počítačový software.

5. AsyncAPI

AsyncAPI je open-source iniciativa, která pomáhá budovat a udržovat architektury řízené událostmi. Jeho specifikace mají mnoho společného se specifikacemi OpenAPI. AsyncAPI je v podstatě adaptace a vylepšení specifikací OpenAPI s několika rozdíly.

Architektura AsyncAPI spojuje směs REST API a událostmi řízených API. Jeho schémata pro zpracování požadavků a odpovědí jsou podobně jako u událostí API. AsyncAPI poskytuje specifikace pro popis a dokumentaci asynchronních aplikací ve strojově čitelném formátu formát. Poskytuje také nástroje, jako jsou generátory kódu, které uživatelům usnadňují jejich implementaci.

AsyncAPI zlepšuje aktuální stav architektury řízené událostmi (EDA). Cílem je usnadnit práci s EDA stejně jako s REST API. Iniciativa AsyncAPI poskytuje dokumentaci a kód, které podporují správu událostí. Většina procesů používaných v REST API se vztahuje na událostmi řízená/asynchronní API.

Použití specifikace AsyncAPI k dokumentaci systémů řízených událostmi je životně důležité. Řídí a udržuje konzistenci a efektivitu napříč týmy pracujícími na projektech řízených událostmi.

6. Vzdálené volání procedur (RPC)

RPC je softwarový komunikační protokol, který umožňuje komunikaci mezi různými programy v síti. Program si například může vyžádat informace z jiného počítače v síti. Nemusí dodržovat síťové protokoly. RPC můžete použít k volání procesů na vzdálených systémech stejně jako na lokálním systému.

RPC pracuje na modelu klient-server. Klientský program požaduje a serverový program odpoví službou. RPC pracují synchronně. Když program odešle požadavek, zůstane pozastaven, dokud neobdrží odpověď ze serveru.

RPC jsou nejlepší pro distribuované systémy. Jsou nejlepší pro systémy založené na příkazech a mají lehké užitečné zatížení, které zvyšuje výkon.

Jak vybrat správnou architekturu API

Správná architektura API závisí na vašem případu použití. Architektura určuje metodologii vývoje API a způsob, jakým bude fungovat. Architektonický návrh API definuje jeho součásti a interakce.

Udělejte architektonická rozhodnutí před návrhem a vývojem API. Určete technické požadavky na rozhraní API, vrstvu, správu životního cyklu a zabezpečení. Návrhy architektury API obsahují konstrukční vrstvy. Vrstvy vedou vývoj a zajišťují, že vytvořené API slouží svému zamýšlenému účelu.