Wszystko, co musisz wiedzieć o API – część 2

Autor 5 stycznia, 202212 kwietnia, 2022Integracja i przetwarzanie danych
API FME

Application Programming Interface – Interfejs programowania aplikacji (API), jest swojego rodzaju punktem styku i komunikacji różnych serwisów. API umożliwiły zupełnie nowy i bezpieczny sposób korzystania z danych i wywołały rewolucję w sposobie dostarczania usług. API są obecnie niezbędne, jeśli myślimy o tworzeniu nowych rozwiązań i odnoszeniu sukcesów na współczesnym, bardzo konkurencyjnym, dynamicznie rozwijającym i zmieniającym się rynku.

Polecamy także przeczytać 1 część artykułu o API.

Po co tworzyć API?

API są obecnie traktowane jak rodzaj towaru. Powstają całe serwisy, które oferują gotowe API dostosowane do wymogów różnych branż i celów. Gotowe API oferuje wielu dostawców, jak np. AWS czy Azure. Problem nie leży więc w samym tworzeniu API, a w tym, jak połączyć API z danymi.

To zadanie może wydawać się skomplikowane i niekiedy wymaga zmian w kodzie źródłowym. Tak przynajmniej wyglądał ten proces, zanim pojawiły się narzędzia pomagające korzystać z API w bardziej przystępny sposób. Jednym z nich jest Platforma FME, która pozwala wykorzystać API do połączenia się z wieloma źródłami danych, bez konieczności pisania kodu.

Czy korzystanie z API bez konieczności kodowania to na pewno rozwiązanie dla mnie?

Możliwości tworzenia i hostowania API bez użycia kodu brzmi jak najlepsza z możliwych opcji – API łączymy ze zbiorami danych za pomocą kilku operacji i bez potrzeby programowania otrzymujemy bezpieczne i pewne połączenie. Niestety są sytuacje w których to, skąd inąd bardzo wygodne rozwiązanie, nie będzie najlepszym wyjściem.

Warto już na początku zadać sobie kilka pytań, które pomogą rozstrzygnąć, czy API bez kodowania (codeless) będzie odpowiadać naszym potrzebom. Bo chociaż jest to narzędzie, które dostarcza wielu możliwości, znacznie utrudnia wszelkie zmiany, które chcielibyśmy wprowadzić rękami programistów.

Bezkodowe API jest dla Ciebie, jeśli:

  • W swoim zespole nie masz programistów i chcesz obsłużyć cały proces z poziomu GUI (Graphical User Interface).
  • Najważniejsze jest dla Ciebie szybkie rozwiązanie – prawdopodobnie dane API wykorzystasz tylko w jednym projekcie, więc nie zależy Ci na tym, aby móc później wprowadzać kolejne zmiany.
  • Jeśli tworzysz prototyp serwisu – zamiast udostępniania użytkownikom wersji beta, posłuż się API. Jeśli uda Ci się przekonać użytkowników do włączenie Twojego API w ich codzienną pracę, szanse, że zostaną z Tobą na dłużej będą znacznie większe niż gdyby była to po prostu wersja testowa serwisu.

Bezserwerowe i niewymagające ingerencji w kod API nie sprawdzą się u Ciebie, jeśli Twoim zamierzeniem jest tworzyć rozbudowane API, którego zadaniem będzie obsługa licznej rzeszy użytkowników i milionów zapytań. Takie rozwiązania wymagają większej kontroli z Twojej strony i możliwości swobodnej optymalizacji, a więc ingerencji programistów.

Wykorzystanie API w FME

Migracja danych z użyciem API i narzędzia takiego jak FME przebiega według kilku ogólnych kroków (które opisywaliśmy bardziej szczegółowo w pierwszej części artykułu), z tym że zestaw narzędzi i funkcjonalności, którymi dysponuje FME, sprawia, że migracja i integracja API jest prosta i przebiega szybko.

FME pozwala:

  • tworzyć przepływy pracy z użyciem wizualnego języka programowania wykorzystującego transformery,
  • podglądać dane w trakcie pracy z nimi,
  • wysyłać żądania API,
  • tworzyć dowolne połączenia,
  • budować elastyczne i powtarzalne procesy.

Jakie funkcje FME przydadzą się do tworzenia i korzystania z API w FME?

Przyjrzyjmy się najbardziej przydatnym i najpopularniejszym transformerom w FME, służącym do wykorzystania API do migracji danych. Transformery pozwalają na odczytanie danych w przepływie pracy, ich kontrolę i ewentualną naprawę. Kilka transformerów odgrywa szczególnie ważną rolę podczas masowej migracji danych z wykorzystaniem API:

  • HTTPCaller – komunikacja API to żądania HTTP. Transformer HTTPCaller pozwala na wykonanie żądania do określonego adresu URL, użycie Web Connections z przechowywanymi danymi uwierzytelniającymi, wysyłanie treści wiadomości, a nawet wykonywanie dynamicznych żądań w oparciu o dane w przestrzeni roboczej.
  • JSONTemplater – bardzo często dane i informacje udostępniane poprzez API przechowywane są w formacie JSON. JSONTemplater pozwala generować odpowiednio sformatowany JSON dla żądań na podstawie wartości atrybutów FME.
  • FeatureMerger i FeatureJoiner – te transformery są niezbędne do łączenia powiązanych ze sobą cech, zbiorów danych i metadanych z różnych źródeł. Są bardzo przydatne, gdy trzeba połączyć dane z zapytań API z danymi lokalnymi lub dane pochodzące z kilku zapytań API.
  • Sampler – pomaga zawęzić dane do wybranego podzbioru do testowania i walidacji zanim wykorzystamy większą ilość lub wszystkie dane w API.
  • AttributeManager – to transformer o bardzo szerokim spektrum zastosowań. Można go użyć do mapowania schematów, czyszczenia atrybutów czy obliczeń pola. Podczas pracy z API, częstą praktyką jest budowanie adresów URL, żądań, a nawet parametrów zapytań za pomocą transformera AttributeManager przed wysłaniem żądania za pomocą HTTPCaller.

Narzędzia do wizualnej inspekcji danych – jest to kilka funkcji, które razem pozwalają śledzić na podglądzie dane na żywo i w dowolnym miejscu procesu. Umożliwia to budowanie przepływu pracy krok po kroku oraz testowanie i naprawianie poszczególnych transformerów, nie tracąc z oczu wprowadzanych zmian.

Narzędzie uwierzytelniania – kluczową częścią pracy z API jest uwierzytelnianie. Web Connections pozwalają na uwierzytelnianie poprzez najbardziej popularne formy: token, OAuth 2.0 lub HTTP Basic.

Gdzie możemy korzystać z API i w jakim celu?

Wiele firm czy organizacji udostępnia swoje usługi, dane lub informacje poprzez API umieszczone na ich stronach www. Po odpowiednim połączeniu się przy użyciu FME (lub dodaniu kodu do strony), można skorzystać z określonych usług tych dostawców, a także udostępnić taki serwis na własnej stronie.

Przyjrzyjmy się kilku przykładom: Narodowemu Bankowi Polskiemu, Airport Info oraz Głównemu Inspektoratowi Ochrony Środowiska:

Narodowy Bank Polski

Na stronie NBP znajdziemy API pozwalające na pobranie informacji o średnim kursie walut oraz cen złota. Każde z API posiada swój opis, z którego dowiemy się do czego służy, co oznaczają poszczególne elementy oraz jak zbudować zapytanie, by wykorzystać API u siebie w serwisie.

API udostępnione na stronie NBP pozwalają na śledzenie na bieżąco średnich kursów wybranych przez nas walut, a także przeprowadzenie bardziej szczegółowych operacji – np. sprawdzenie średniego kursu walut dla wybranego okresu.

Wzory zapytań o kurs pojedynczej waluty
Przykład zapytania o obowiązujący kurs waluty dla franka szwajcarskiego (CHF)

Airport Info

Dzięki temu API, możemy za sprawą kilku prostych operacji pobrać i wyświetlić na mapie lokalizację wszystkich interesujących nas lotnisk wraz z podstawowymi informacjami: pełną nazwą, adresem, stroną internetową, współrzędnymi geograficznymi. Zapytania o konkretne lotnisko tworzone są w oparciu o międzynarodową listę kodów lotnisk – IATA, ICAO.

Przykład zapytania o dane wybranego lotniska

Główny Inspektorat Ochrony Środowiska

Główny Inspektorat Ochrony Środowiska udostępnia na swojej stronie API pozwalające śledzić stan powietrza w całej Polsce. Dostarcza dane ogólne dla wszystkich punktów pomiarowych, jak i bardziej szczegółowe zestawy danych dla poszczególnych lokalizacji.

Udostępnianie listy stacji pomiarowych GIOŚ badających stan powietrza
Udostępnianie danych z wybranej stacji pomiarowej i odczytanie wartości dla poszczególnych zanieczyszczeń.

Więcej o opisanych API oraz o tym, jak z nich skorzystać, dowiesz się z nagrania webinaru Jak połączyć się z dowolnym API bez konieczności kodowania

Szerokie wykorzystanie API zapoczątkowało zupełnie nowy sposób komunikowania się oprogramowania i stało się krokiem w kierunku epoki współdzielenia i budowania cyfrowego świata, który jest siecią wzajemnie połączonych systemów. Dane stały się szeroko dostępne, a API działają jak furtka do zasobów firmy, którymi ta może dzielić się w bezpieczny sposób.

Dało to szerokie pole do innowacji i zapoczątkowało lawinowy rozwój nowych usług. Obecnie API to już nie technologiczna nowinka, a niemal podstawowe narzędzie przy tworzeniu usług.

Dzięki API oraz technologii przetwarzania danych, jaką oferuje choćby FME, nie jesteśmy ograniczeni do jednego systemu i możemy dowolnie dobierać usługi, które najlepiej pasują do naszych aktualnych potrzeb.

API są niezbędne, jeśli myślimy o rozwoju biznesu, dlatego warto lepiej je poznać. Dobrze także przyjrzeć się narzędziom do ich tworzenia, możliwościom, jakie dają i wiedzieć, z jakimi ograniczeniami wiąże się ich użycie.

Zastanawiasz się, czy wykorzystanie API i FME ma sens w przypadku Twojego biznesu? Chcesz dowiedzieć się więcej na temat możliwości Platformy? Nasi eksperci FME chętnie rozwieją Twoje wątpliwości.

Opowiedz nam o swoich wyzwaniach