unity wiedza

Integracje to nie tylko szyny danych czy frameworki integracyjne, ale szereg zróżnicowanych rozwiązań stosowanych by osiągnąć określone korzyści lub cele. Jednym z takich „niestandardowych” elementów jest API Management. Do czego służy to rozwiązanie?


Application programming interface, czyli interfejs programistyczny aplikacji to ściśle określony zestaw reguł, dotyczących sposobu komunikowania się programów komputerowych między sobą. W kontekście API Management mówimy o web API, czyli o tych API, które komunikują się poprzez protokół HTTP. Należą do nich m.in. REST czy SOAP.

Zarządzanie API z różnych punktów widzenia

Wymagania dotyczące tego, jak powinno wyglądać zarządzanie API, mogą być diametralnie różne. Przykładowo, z punktu widzenia developera, można oczekiwać takich elementów jak zarządzanie dostępem do API, monitorowanie użycia, zarządzanie cyklem życia API czy limitowanie dostępu do API (np. w przypadku zbytniego obciążenia systemu).

Z drugiej strony, z punktu widzenia konsumenta potrzebujemy wiedzieć, z jakich API możemy korzystać, gdzie możemy znaleźć definicję/kontrakt, na jaki endpoint powinniśmy wysłać request czy gdzie możemy przetestować usługę i zweryfikować, czy poprawnie skomunikowaliśmy się z API.

Jeszcze inne potrzeby względem zarządzania API mają organizacje. W przypadku firm mogą to być:

  • self service – samodzielne zarządzanie API polegające na ujednoliconym sposobie udostępniania API (zarówno wewnętrznie jak i na zewnątrz), 
  • zwiększenie widoczności własnych API  np. poprzez rozszerzenia udostępnianego API otwierając się na nowe kanały sprzedaży.  
  • przywiązanie konsumentów do już opublikowanych usług, 
  • zapewnienie bezpieczeństwa usług, 
  • monetyzacja API (API Economy) – czerpanie korzyści finansowych w wyniku udostępniania API.

Wyżej wspomniane potrzeby można realizować na dwa sposoby: poprzez implementację danych mechanizmów w kodzie lub korzystając z dedykowanych narzędzi. Niniejszy wpis skupiony jest wokół tego drugiego sposobu – czyli wyspecyfikowanych rozwiązań klasy API Management.

Funkcjonalności API Management

Do funkcjonalności, które posiadają rozwiązania tej klasy należą m.in.:

  • portal API – miejsce (najczęściej strona internetowa), gdzie API  publikowane, gdzie upubliczniane są jego definicje, endpointy oraz inne informacje, pozwalające na korzystanie z danego API,  
  • autoryzacja/autentykacja nakładana na API, 
  • analityka, która pomaga zweryfikować, jak często dane API jest wykorzystywane, kto z niego korzysta i w jakich warunkach to przebiega, 
  • limitacje, nakładane na pewne sposoby korzystania z API, 
  • load balancing, czyli równoważenie obciążenia API, 
  • role i uprawnienia do zarządzania cyklem życia API, czyli funkcjonalność umożliwiająca ustanowienie w organizacji określonych osób, odpowiedzialnych za poszczególne elementy, związane z zarządzaniem API. 

 WSO2 API Management i inne rozwiązania integracyjne

Przykładami rozwiązań API Management są takie produkty jak WSO2 API Management, IBM API Management, Mulesoft API Gateway, Axwey, Kong.

W artykule po krótce zostało przedstawione rozwiązanie WSO2 API Management, które z powodzeniem wykorzystujemy w różnych projektachDość szczególną cechą WSO2 jest sposób licencjonowania produktów. Wszystkie produkty WSO2 (uwzględniając WSO2 API Management)  w pełni open source’owe. Płatne jest jedynie wsparcie producenta.

Rozwiązania WSO2 oparte są na framework’ach OSGI, ułatwiających budowanie aplikacji modułowychWeb UI jest osadzony na Apache Tomcat, czyli kontenerze aplikacji webowych. Istnieje też możliwość podłączenia WSO2 API Management do zewnętrznego identity providera. Pod względem funkcjonalnym WSO2 API Management wspiera wszystkie potrzeby i oczekiwania jakie zostały przedstawiony w niniejszym wpisie.

Warto też zwrócić uwagę na kilka wad tego rozwiązania. Należą do nich m.in. niewielkie community, niezbyt precyzyjne opisy błędów oraz ciężki debug, brak dedykowanego wsparcia dla GraphQL, czy widoczne niedopracowanie niektórych elementów, np. brak możliwości reverse proxy dla portalu analityki. W przypadku tego narzędzia może pojawić się również problem z odpowiednią konfiguracją bardziej skomplikowanych elementów. Możliwości dostosowania i modyfikacji tego rozwiązania są dość duże, ale ze względu na wzajemne powiązania poszczególnych funkcji ich poprawna konfiguracja wymaga zaawansowanej znajomość produktu.

Jeżeli zainteresowała Ciebie tematyka API Management i chcesz dowiedzieć się więcej o związanych z nią usługach, zapraszamy do zapoznania się z naszą ofertą z zakresu integracji systemów IT.

Wyrażam zgodę na przetwarzanie danych osobowych na zasadach określonych w polityce prywatności. Jeśli nie wyrażasz zgody na wykorzystywanie cookies we wskazanych w niej celach, w tym do profilowania, prosimy o wyłącznie cookies w przeglądarce lub opuszczenie serwisu. więcej

Akceptuj