Czytelnicy tacy jak ty pomagają wspierać MUO. Kiedy dokonujesz zakupu za pomocą linków na naszej stronie, możemy otrzymać prowizję partnerską. Czytaj więcej.

Interfejsy API łączą aplikacje za pomocą przejrzystych protokołów i architektur. Architektura API to ramy zasad tworzenia interfejsów oprogramowania. Zasady określają sposób udostępniania użytkownikom funkcjonalności serwera. Typ architektury określa reguły i struktury rządzące interfejsem API.

Istnieje wiele różnych typów architektury API, od REST do RPC. Zapoznanie się z ich strukturą i składem pomoże Ci wybrać jeden z nich do swojej aplikacji.

1. ODPOCZYNEK

API REST są nowoczesne i stanowią najpopularniejszą architekturę API, z której korzystają programiści. ODPOCZYNEK (representational state transfer) to architektura używana do projektowania aplikacji klient-serwer. Nie jest to protokół ani standard, więc można go zaimplementować na różne sposoby. Ten aspekt zwiększa Twoją elastyczność jako programisty.

REST umożliwia dostęp do żądanych danych przechowywanych w bazie danych. Możesz wykonywać podstawowe funkcje CRUD za pomocą interfejsu API REST. Gdy klienci żądają treści za pośrednictwem interfejsu API RESTful, muszą używać odpowiednich nagłówków i parametrów. Nagłówki zawierają przydatne metadane do identyfikacji zasobu, takie jak kody stanu i autoryzacja.

instagram viewer

Informacje przesyłane przez HTTP mogą być w formacie JSON, HTML, XML lub zwykłym tekstem. JSON to najczęściej używany format plików dla interfejsów API REST. JSON jest niezależny od języka i czytelny dla ludzi.

2. MYDŁO

Prosty protokół dostępu do obiektów (SOAP) to oficjalny protokół API. Konsorcjum World Wide Web Consortium (W3C) utrzymuje protokół SOAP, który jest jedną z najwcześniejszych architektur API. Jego konstrukcja ułatwia komunikację między aplikacjami zbudowanymi w różnych językach i na różnych platformach.

Format SOAP opisuje interfejs API przy użyciu języka opisu usługi sieciowej (WSDL). Jest napisany w rozbudowanym języku znaczników (XML). Format narzuca wbudowane standardy zgodności, które zwiększają bezpieczeństwo, spójność, izolację i trwałość. Te właściwości zapewniają niezawodne transakcje bazodanowe, dzięki czemu SOAP jest lepszy do rozwoju przedsiębiorstw.

Gdy użytkownik żąda treści za pośrednictwem interfejsu API SOAP, przechodzi przez protokoły warstwy standardowej. Odpowiedź jest w formacie XML, który ludzie i maszyny mogą odczytać. Podobnie jak interfejsy API REST, interfejsy API SOAP nie buforują ani nie przechowują informacji. Jeśli będziesz potrzebować danych później, musisz złożyć kolejną prośbę.

SOAP obsługuje zarówno stanową, jak i bezstanową wymianę danych.

3. GraphQL

GraphQL to język zapytań dla interfejsu API. Jest to środowisko uruchomieniowe po stronie serwera, które wykonuje zapytania na podstawie zdefiniowanego zestawu danych. GraphQL ma określone przypadki użycia. Jego architektura pozwala zadeklarować konkretne informacje, których potrzebujesz.

W przeciwieństwie do architektury REST, w której HTTP obsługuje żądania i odpowiedzi klientów, GraphQL żąda danych za pomocą zapytań. Usługa GraphQL definiuje typy i pola tych typów, a następnie zapewnia funkcje dla każdego pola i typu.

Usługa odbiera Zapytania GraphQL zweryfikować i wykonać. Najpierw sprawdza zapytanie, aby upewnić się, że odnosi się do zdefiniowanych typów i zdefiniowanych pól. Następnie uruchamia powiązane funkcje w celu uzyskania pożądanego rezultatu.

GraphQL doskonale nadaje się do niektórych przypadków użycia, takich jak pobieranie danych z wielu źródeł. Możesz także kontrolować pobieranie danych i regulować przepustowość dla mniejszych urządzeń.

4. Apache Kafka

Apache Kafka to rozproszona platforma obsługująca strumieniowanie zdarzeń. Strumieniowe przesyłanie zdarzeń to proces przechwytywania danych ze źródeł w czasie rzeczywistym. Źródłami mogą być bazy danych, serwery lub aplikacje. System Kafka składa się z serwerów i klientów. Komunikacja odbywa się za pośrednictwem protokołu sieciowego TCP.

Możesz wdrożyć system na sprzęcie, maszynach wirtualnych i kontenerach. Możesz to zrobić lokalnie i w środowiskach chmurowych. System Apache Kafka przechwytuje dane, przetwarza je i reaguje na nie w czasie rzeczywistym. Może również kierować dane do preferowanego miejsca docelowego w czasie rzeczywistym. Kafka przechwytuje i przechowuje dane w systemie, które można później odzyskać do wykorzystania.

Kafka wspiera ciągły przepływ i integrację danych. Dzięki temu informacje są we właściwym miejscu i we właściwym czasie. Strumieniowe przesyłanie zdarzeń może mieć zastosowanie w wielu przypadkach użycia, które wymagają strumieni danych na żywo. Należą do nich instytucje finansowe, służba zdrowia, rząd, przemysł transportowy i firmy produkujące oprogramowanie komputerowe.

5. Asynchroniczny interfejs API

Asynchroniczny interfejs API to inicjatywa typu open source, która pomaga budować i utrzymywać architektury sterowane zdarzeniami. Jego specyfikacje mają wiele wspólnego ze specyfikacjami OpenAPI. AsyncAPI jest zasadniczo adaptacją i ulepszeniem specyfikacji OpenAPI, z kilkoma różnicami.

Architektura AsyncAPI łączy w sobie mieszankę interfejsów API REST i interfejsów API sterowanych zdarzeniami. Jego schematy obsługi żądań i odpowiedzi są podobny do interfejsów API zdarzeń. AsyncAPI zapewnia specyfikacje do opisywania i dokumentowania aplikacji asynchronicznych w formie czytelnej dla maszyny format. Zapewnia również narzędzia, takie jak generatory kodu, aby ułatwić użytkownikom ich wdrożenie.

AsyncAPI poprawia obecny stan architektury sterowanej zdarzeniami (EDA). Celem jest ułatwienie pracy z EDA, podobnie jak w przypadku interfejsów API REST. Inicjatywa AsyncAPI zapewnia dokumentację i kod, które wspierają zarządzanie zdarzeniami. Większość procesów używanych w interfejsach API REST ma zastosowanie do sterowanych zdarzeniami/asynchronicznych interfejsów API.

Używanie specyfikacji AsyncAPI do dokumentowania systemów sterowanych zdarzeniami ma kluczowe znaczenie. Zarządza i utrzymuje spójność i wydajność w zespołach pracujących nad projektami sterowanymi zdarzeniami.

6. Zdalne wywołanie procedury (RPC)

RPC to programowy protokół komunikacyjny, który umożliwia komunikację między różnymi programami w sieci. Na przykład program może zażądać informacji od innego komputera w sieci. Nie musi przestrzegać protokołów sieciowych. Możesz używać RPC do wywoływania procesów w systemach zdalnych, tak jak w systemie lokalnym.

RPC działa w modelu klient-serwer. Program klienta żąda, a program serwera odpowiada usługą. RPC działają w trybie synchronicznym. Gdy program wysyła żądanie, pozostaje zawieszony do czasu otrzymania odpowiedzi z serwera.

RPC są najlepsze dla systemów rozproszonych. Są najlepsze dla systemów opartych na poleceniach i mają lekkie ładunki, które zwiększają wydajność.

Jak wybrać odpowiednią architekturę API

Właściwa architektura interfejsu API zależy od przypadku użycia. Architektura określa metodologię opracowywania interfejsu API i sposób jego działania. Projekt architektoniczny API definiuje jego komponenty i interakcje.

Podejmuj decyzje dotyczące architektury przed zaprojektowaniem i opracowaniem interfejsu API. Określ wymagania techniczne interfejsu API, warstwy, zarządzania cyklem życia i bezpieczeństwa. Projekty architektury API zawierają warstwy strukturalne. Warstwy kierują rozwojem i zapewniają, że stworzony interfejs API spełnia zamierzony cel.