Niezbędnik integracji – REST (2 z 3)

niezbędnik integracji rest

Niezbędnik integracji – REST (2 z 3)

Niezbędnik integracji

Przedstawiamy niezbędniki integracji – elementy, bez których nie możesz się obejść w codziennej pracy. Bez nich używanie systemów jest dużo trudniejsze. Na szczęście z pomocą przychodzą serwery szyny danych, które ułatwiają łączenie różnych systemów. Wśród nich wyróżnia się WSO2 Enterprise Integrator, dostępna w licencji Open Source szyna danych z wieloma możliwościami integracji oraz ponad 250 konektorami do systemów zewnętrznych.

Po Web Service pora na drugi artykuł z serii niezbędników.

REST

REST to ulubiony sposób integracji systemów w chmurze, ale możesz go z powodzeniem stosować wszędzie, gdzie jest potrzebne połączenie między systemami.
Sama nazwa REpresentational State Transfer niewiele nam mówi, ale warto się z nim poznać, bo jest bardzo popularny. REST jest prosty i uniwersalny. Korzysta z innych znanych protokołów i nie wymaga instalowania dodatkowych bibliotek ani pilnowania wersji. Jest podobny do wywoływania stron w przeglądarce i w pewnych przypadkach może być w taki sposób podglądany i testowany.
REST składa się z 6 zasad, które pomogą stwierdzić, czy jest to odpowiedni sposób komunikacji.

6 zasad REST

Architektura Klient-Serwer

Pierwsza zasada, to rozdzielenie aplikacji klienta i serwera. Dzięki takiemu zabiegowi obie części możemy rozwijać osobno. Możemy dodawać funkcjonalność do aplikacji mobilnej nie przejmując się bazą danych ani strukturami serwera. Z drugiej strony możemy rozwijać serwer i bazę danych, dodawać nowe funkcje bez wpływu na naszego klienta mobilnego. Takie podejście daje nam możliwość niezależnego budowania i rozwijania obu części, dzięki czemu nasza organizacja będzie rosła szybciej i bardziej efektywnie.

Bezstanowość

REST API zakłada, że przy wywołania są niezależne i za każdym razem przekazywane są wszystkie dane potrzebne do przetworzenia danej funkcji. Koncepcja REST zakłada, że aplikacja kliencka przechowuje dane sesji i steruje kolejnością wywołania poszczególnych metod. Każde wywołanie zawiera komplet danych wejściowych, a także dane autoryzacyjne: klucze API, tokeny dostępowe, czy identyfikatory. Dzięki takiemu podejściu usługi są bardziej niezawodne i łatwiej dają się skalować – nie potrzebują pamięci i zasobów na przechowywanie niepotrzebnych danych.

Pamięć podręczna

W REST API możemy skorzystać z trików znanych z przeglądarek internetowych. Wyniki często wywoływanych funkcji możemy zapisywać w podręcznym magazynie. Dzięki temu kolejne odpowiedzi będą szybsze, a serwer będzie dużo mniej obciążony. Oczywiście możemy definiować różne czasy przechowywania wyników dla różnych zapytań.

Uniwersalność

Kluczem do logicznego oddzielenia aplikacji klienckiej od serwera jest uniwersalny interfejs. REST API pozwala na komunikację jednym językiem, niezależnym od architektury i stosu technologicznego. Interfejs definiuje niezmienny, standardowy sposób komunikacji przez HTTP, metody (GET, POST, PUT, itp) oraz nazwy w adresie URL. Parametry wejściowe mogą być przekazywane nawet jako fragment ścieżki adresu, a do komunikacji używany jest format JSON lub rzadziej XML.

Warstwy

Architektura całego systemu jest podzielona na warstwy. Każda warstwa ma określoną funkcjonalność i odpowiada za inny element. Dzięki warstwom możemy opakować starsze systemy, które nie wspierają nowych technologii i dalej wywoływać je przez REST API. Taka architektura systemu pozwala na elastyczne przesuwanie systemów, a nawet zastępowanie funkcjonalności przez inne elementy architektury.

Kod na żądanie

Najmniej znana i jedyna opcjonalna zasada REST. Umożliwia budowanie sprytnych aplikacji, w których serwer przekazuje nie tylko dane, ale również fragmenty kodu (na przykład skrypty Java Script).

Bezpieczeństwo

Bezpieczeństwo REST opiera się na mechanizmach znanych z zabezpieczania aplikacji internetowych. Dane uwierzytelniające są przekazywane w nagłówkach HTTP. Mogą to być tokeny dostępowe JWT / OAuth2, klucze API lub inne informacje. Możemy też zabezpieczyć usługi certyfikatami i kluczami na poziomie protokołu HTTPS. W zależności od scenariusza informacje uwierzytelniające są sprawdzane lokalnie bądź przez dedykowane serwery autoryzacji.

Wsparcie WSO2 Enterprise Integrator

Szyna danych WSO2 EI ma wbudowane wsparcie dla REST API. Jest to element API, który bezpośrednio realizuje koncepcję REST. W API definiujemy kontekst (ścieżkę) wywołania, parametry oraz metody wywołania. Wewnątrz API mamy dostęp do całej gamy przetwarzania i dodatkowych konektorów WSO2, dzięki czemu jesteśmy w stanie szybciej niż w innych produktach zbudować docelowe rozwiązanie.
Możemy również użyć dedykowanego narzędzia WSO2 API Manager, które wspiera cały proces życia API od pomysłu, przez prototyp po wdrażanie i utrzymywanie różnych wersji. WSO2 APIM umożliwia rejestrację klientów, subskrypcję i zarządzanie limitami wywołań.

Pomocy!

Potrzebuję wywołać REST, ale nie wiem od czego zacząć? Co to jest URI, Verb, Context? O co chodzi z tokenami? Co jest lepsze API Key czy JWT? Mamy kilkunastoletnie doświadczenie w budowaniu i wdrażaniu integracji. Daj znać, na pewno pomożemy!
Niezbędnik integracji – REST (2 z 3)
Przewiń na górę