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.
Spis treści
ToggleCzym 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.
- 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.
- API partnerskie, które umożliwiają integrację z bazami danych firm partnerskich, dystrybutorów lub klientów.
- 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: