BizMentor

IT

Czym jest API i dlaczego jest bohaterem w świecie IT? REST, SOAP, architektura

Dzisiaj omówię temat API (Application Programming Interface) – interfejsu programowania aplikacji, który jest kluczowym elementem łączącym różne systemy informatyczne. Bez niego funkcjonowanie w świecie IT byłoby bardzo trudne, dlatego lubię określać API mianem bohatera w IT.

Czym jest API?

API to zbiór protokołów i definicji, które umożliwiają integrację różnych produktów i usług, bez potrzeby wnikania w ich wewnętrzne struktury i działanie. Dzięki temu możemy pobierać z tych systemów potrzebne dane, bez konieczności zaglądania do ich wnętrza. Można powiedzieć, że API to forma umowy pomiędzy dwoma systemami, w której określamy, w jaki sposób będą one ze sobą komunikować się oraz wymieniać informacje. Dzięki temu zapytanie wysłane z jednego systemu do drugiego będzie skutkować określoną odpowiedzią, zgodnie z ustalonym wcześniej protokołem.

Do czego potrzebne jest API?

Przede wszystkim, biznes i technologia rozwijają się bardzo szybko. Gdybyśmy musieli edytować i zmieniać systemy, na których pracujemy za każdym razem, gdy pojawi się jakaś aktualizacja potrzebna dla biznesu, to byłoby to bardzo czasochłonne i kosztowne. Na przykład, gdy wdrażamy nowy pion w naszej firmie lub chcemy się połączyć i zintegrować z nowym sprzedawcą, lub dystrybutorem naszych produktów, musielibyśmy za każdym razem dołączać systemy tej jednostki do naszego ekosystemu. Dlatego ważne jest, żeby operować na punktach styku, czyli wystawiać sobie takie protokoły i aplikacje, które umożliwiają rozmowę między systemami. W ten sposób musimy tylko zadbać o odpowiednią integrację, bez konieczności ingerowania w konkretne elementy systemów. To właśnie tworzenie takich rozwiązań typu Cloud Native, który rozwinąłem w osobnym artykule wpisuje się w temat API. Dzięki interfejsom API i mikroserwisom możemy integrować różne systemy informatyczne na poziomie infrastruktury.

Przykłady wykorzystania API

Dzięki temu rozwiązaniu, biznesy nie muszą samodzielnie tworzyć każdej funkcjonalności od zera, co pozwala na zaoszczędzenie czasu, zasobów i kosztów. Wystarczy, że skorzystają z dostępnych już funkcjonalności przez zintegrowanie swojego systemu z systemami innych dostawców przez interfejs API. Otwarte API umożliwiają na przykład tworzenie nowych produktów i usług opartych na Google Maps.  Oszczędzamy czas i pieniądze na tworzeniu i utrzymywaniu własnej infrastruktury związanej z mapami. Dodatkowo, korzystając z API Google Maps, możemy uzyskać dostęp do zaawansowanych funkcjonalności związanych z mapami, takich jak wyszukiwanie miejsc, nawigacja czy wyświetlanie informacji o punktach na mapie.

Wykorzystanie API w łańcuchu dostaw

Integracja systemów informatycznych za pomocą API ma ogromne znaczenie dla strony internetowej, szczególnie jeśli wiele podmiotów bierze w tym udział. Przykładem może być producent, dystrybutor i sklepy zoologiczne, które oferują różne produkty dla zwierząt. Korzystanie z API umożliwia producentowi dostarczenie informacji o swoich produktach i stanie magazynowym dystrybutorowi, a ten z kolei może integrować je z innymi dystrybutorami i ich produktami, aby zoptymalizować swoje systemy. Właściciel sklepu zoologicznego może skorzystać z wielu różnych dystrybutorów i ich produktów, a integracja za pomocą API pozwala mu na łatwe korzystanie z różnych baz produktów i monitorowanie stanów magazynowych. Ponadto, dzięki integracji za pomocą API, każdy podmiot może dowolnie wprowadzać zmiany w swoim systemie informatycznym, a przepływ danych jest dostępny praktycznie bez zakłóceń. To pozwala na bardziej stabilne i bezpieczne działanie całego ekosystemu i przepływ informacji. Cały system jest bardziej efektywny, a koszty jego utrzymania są mniejsze.

Rodzaje API

Wyróżniamy trzy rodzaje interfejsów API pod względem ich dostępności. 

  1. API zamknięte, które są najbardziej prywatne i bezpieczne, gdzie lista odbiorców jest najbardziej ograniczona, a dostęp ogranicza się tylko do organizacji wewnętrznej. Te interfejsy są przydatne, gdy chcemy zintegrować różne systemy logistyczne, księgowe, sprzedażowe lub CRM. 
  2. API partnerskie, które umożliwiają integrację z bazami danych firm partnerskich, dystrybutorów lub klientów. 
  3. API publiczne, które umożliwiają innym firmom lub osobom korzystanie z naszych danych i funkcji w celu tworzenia aplikacji i biznesów. Przykładem tego typu interfejsów są mapy Google, które umożliwiają tworzenie nowych biznesów i pośredników sprzedaży. W ten sposób sklepy i dystrybutorzy mogą wystawiać swoje produkty w dodatkowych miejscach, a pośrednicy mogą zintegrować informacje o produktach z różnych sklepów w jednym miejscu, tworząc porównywarki cen i tematyczne sklepy.

SOAP i REST — technologie wykorzystywane w API

Jeśli chodzi o technologie związane z interfejsami programowania aplikacji, najczęściej wyróżnia się dwa rodzaje: SOAP i REST. SOAP to zdefiniowany protokół, który ustandaryzował przepływ informacji między systemami. REST to natomiast zbiór koniecznych wymagań, które muszą być spełnione przez API, aby uznać je za standard RESTowy. Choć REST wymaga więcej zasad, to pozostawia również więcej przestrzeni na dopasowanie rozwiązania do konkretnej sytuacji, dlatego łatwiej i szybciej się go wdraża. Ostatnio zyskuje on na popularności. W obszarze tworzenia API z wykorzystaniem REST pojawia się również temat OpenAPI, czyli rozszerzenia umożliwiającego tworzenie agnostycznych językowo i technologicznie interfejsów API. Programiści tworzący oprogramowanie w różnych językach technologicznych mogą dzięki temu tworzyć API niezależnie od użytej technologii, co ułatwia pracę i zapewnia współpracę z różnymi systemami.

Architektura API — SOA i Mikroserwisy

Jeśli chodzi o architekturę infrastruktury API, możemy wyróżnić  SOA i Mikroserwisy. SOA — Service Oriented Architecture, to nowocześniejsze podejście do monolitycznych systemów, gdzie każda zmiana wymagała zmian w innych modułach. SOA jest bardziej modularna, ale wciąż zawiera pewną dozę kaskadowości. Natomiast oparcie API o mikroserwisy polega na tym, że każda usługa lub produkt jest osobnym serwisem, co oznacza, że zmiana w jednym module nie wymaga zmian w innych modułach. To podejście jest bardziej wydajne, efektywne i zyskuje na popularności.

Obejrzyj film:

About Przemysław Koper
Avatar photo

Przemysław Koper

W 2014 aplikowałem do Travelex na stanowisko Kasjera Walutowego. Na spotkaniu rekrutacyjnym obecny Prezes Euronetu zaproponował mi stanowisko Team Leadera.

W 2022 dołączyłem do Espeo Sofware, a rok później przejąłem stery firmy jako Prezes Zarządu. Jako lider i hiring manager pracuję już od blisko 10 lat. W tym czasie zrekrutowałem ponad 30 osób na stanowiska i specjalistyczne i liderskie.

Brałem udział w dziesiątkach procesów rekrutacyjnych i setkach spotkań z kandydatami. Zarówno w dużych, jak i małych firmach oraz tych nastawionych na intensywny rozwój, jak i odwrotnie – na stabilność i optymalizację.

Od 2 lat prowadzę program edukacyjny BizMentor, gdzie regularnie rozmawiam z ludźmi szukającymi pracy czy budującymi swoją pozycję na rynku.

Od wielu lat należę do społeczności C-level, jestem w ciągłym, stałym kontakcie z zarządami, managerami, liderami z innych firm, z którymi regularnie wymieniam się wiedzą i informacją. I to daje mi szerokie, kompleksowe rozumienie rynku.

I dokładnie tym się z Tobą dzielę w kursie. Przepis na sekretny sos, ponad 2h konkretnych informacji od kuchni, których nie znajdziesz nigdzie indziej!
poprzedni artykuł
następny artykuł