Co to jest API

|

Co to jest REST API

API, czyli Application Programming Interface

Co to jest API? Pytanie, które często się pojawia, kiedy zaczynamy dotykać tematów IT. Żeby wytłumaczyć ten w istocie nieskomplikowany koncept, postaram się posłużyć kilkoma analogiami i osadzić go w najpopularniejszych technologiach. Oznacza to, że dotknę kilka pojęć, które powinny pomóc zaszufladkować ten temat w odpowiedni sposób.

Tak jak sam koncept API jest jedną z fasad tematyki IT, tak też jest on fasadą większości aplikacji, narzędzi, czy systemów, z którymi mamy styczność na co dzień.

Fasada aplikacji

Użyję analogii małego sklepu spożywczego u pani Grażyny, która jest tam ekspedientką.

Z ulicy widzimy kolorowy szyld z napisem. Na wystawie zachęcająco poukładane towary. Wchodzimy do lokalu. W środku za ladą stoi pani ekspedientka. Mamy w ręku listę zakupów od żony spisaną na kartce. Podajemy ją pani Grażynie. Ona uśmiecha się i znika na zapleczu, bądź w magazynie, by po chwili wrócić, ze wszystkimi produktami, które żona kazała kupić.

Po drugiej stronie Tenczy
Dlaczego ród Toporczyków wygasł tak nagle? Czy legendy Zamku Tenczyn w Rudnie kryją w sobie odpowiedź?
Teraz horror dostępny w promocyjnej cenie.

Pani Grażyna jest takim API

Ona nie jest graficznym interfejsem, czyli lokalem, z rozkładanymi na półkach towarami, i kolorową wystawą, która ma przykuć oko klienta. Ona jest naszym API i jest tam dla nas, żeby te klika słów z listy zakupów przeprocesować i odnaleźć towary, gdziekolwiek by się w sklepie nie znajdowały – w magazynie, na zapleczu, czy pod ladą.

Być może pani Grażyna potrzebować będzie zapytać pana Czesława w magazynie, czy kapary są. Jeśli tak, to gdzie, a jak nie ma, to kiedy będą? Potem odnajdzie pożądane produkty i przyniesie nam to czego potrzebujemy.

Co o jest API – standaryzacja

Na końcu nie interesuję nas, gdzie pani Grażyna zniknęła i czy musiała kogoś dopytać. Tak samo nie interesuje nas co API zrobi z informacją, którą od nas otrzyma. I tak samo jak pani Grażyna otrzymała od nas listę zakupów, tak i API spodziewa się listy pytań, która znajduje się w wiadomości, na jaką jest przygotowane. Najczęściej będzie to plik typu XML, albo JSON.

Pani Grażyna również nie będzie oczekiwać listy zakupów na kasecie VHS, płycie CD, czy przenośnej pamięci USB. Pani Grażyna oczekuje, albo słów które wypowiemy, albo listy spisanej na kartce.

Dalej, jeśli wręczymy pani Grażynie listę zapisaną po norwesku, albo kantońsku, to raczej nic z tego nie będzie. Pani Grażyna przygotowana będzie na język polski. Analogicznie nasz API. Nawet jeśli otrzyma wiadomość w standardzie XML, czy JSON, to musi tam być treść którą zrozumie i na którą jest przygotowana (schema). Ale to jest już kolejny krok w temacie, pewnie na oddzielny artykuł.

OKEANOS 115 - NA RATUNEK BOGU
Co, jeśli AI okażę się naturalnym etapem ewolucji? Dokąd może prowadzić?
Czy młody kapitan znajdzie odpowiedź na krańcu wszechświata?

API, czyli Lingua Universalis świata technologii

API nie zawsze były standardem. Koncept ten jest wynikiem ewolucji. Weźmy na to przykład języków, których w Europie od dawna było wiele. Tak też w świecie technologii jest ich równie dużo. Z czasem pojawiła się potrzeba wprowadzenia języka, który pomoże nam się komunikować, niezależnie od naszego języka ojczystego i to dała nam łacina.

Obecnie językiem międzynarodowym jest angielski, tak też w świecie technologii miejsce to zajęło API. Oznacza to, że niezależnie, czy jedna aplikacja jest napisana w Javie, a druga w C#, to będą się mogły z sobą komunikować przez API właśnie.

Jak to się lubi mawiać API jest agnostyczny technologicznie.

Wprowadziło to kolejny trend w przemyśle IT, a mianowicie, sprzedaży go jako produkt. Oznacza to, że każdy sam może stworzyć graficzną fasadę swojego produktu tzw. GUI i do tego w dowolnej technologii. Cała zaś logika i dostęp do danych będzie odbywał się przez API.

API a Web Service

Myślę, że ważne jest umiejscowienie tu konceptu Web Service, bo pojawia się często w kontekście API. Czy API jest tym samym co Web Service? Eksperci debatują, a dyskusjom towarzyszą emocje. Ostatecznie większość jest zgodnych do tego, że wszystkie Web Serwisy są API, ale nie wszystkie API są Web Serwisami. Wynika to przede wszystkim z definicji Web Serwisów, która narzuca użycie sieci, co w przypadku API nie jest konieczne. Ostatecznie i z praktycznej strony, uważam że nie wiele wnosi to do tematu, ale warto o tym wspomnieć.

it dla humanistów
Wszystko, co powinieneś wiedzieć o pracy w IT, by czuć się w niej komfortowo – w 100 słowach!
Znajdź rolę dla siebie!

Co to jest API – rodzaje

Są dwa wiodące standardy w tym kontekście, warte wspomnienia, a chodzi o REST i SOAP. Zatem tak po krótce:

REST

REST zwany także RESTful web API, czyli standard, który rośnie na popularności, głównie ze względu na swoją prostotę. Charakteryzuje się przede wszystkim sposobem odpytywania odpytywania o dane oraz używania wiadomości JSON do przesyłania informacji.

SOAP

Jest podejściem wypieranym przez REST, głównie ze względu na większą złożoność. Charakteryzuje się wymianą informacji zawartych w wiadomościach typu XML i uchodzi za ten bezpieczniejszy.

Co to jest API – podsumowanie

Kończy się epoka, kiedy instalowaliśmy na swoich komputerach programy. Teraz, wystarczy posiadać np. przeglądarkę internetową, z którą wejdziemy w interakcje, a ona skomunikuje się z API. Tak samo działają aplikacje z których korzystamy w telefonie. To w nich zobaczymy graficzną twarz naszego narzędzia, i dopiero ona skomunikuje się z właściwym systemem, niezależnie gdzie na świecie się on znajduje i jak wielkich mocy obliczeniowych wymaga.

Na koniec dodam, że jako taki, interfejs użytkownika nie jest konieczny do komunikowania się z API. Można to robić za pomocą ogólnodostępnych narzędzi, które pozwolą na interakcje z API, jak chociażby SOAPUI, czy POSTMAN.

Bardziej szczegółowo omawiam te koncepty w książce, Almanach Informatyczny SMART, gdzie w 200 dobranych koncepcjach i metodycznej kolejności przedstawiam pracę w produkcji oprogramowania, a także w wersji Lite, opisanej poniżej.

IT dla humanistów

Chcesz wejść do IT?

Jeśli jesteś zainteresowany pracą w IT, zachęcam do eksplorowania bloga. Dużo bardziej szczegółowo omawiam software development w książce Almanach Informatyczny – Lite.

Jej założeniem jest wprowadzenie każdego do świata IT w 100 słowach i turbo kompaktowych definicjach. Wszystko, czego potrzebujesz, żeby świadomie wybrać rolę dla siebie i czuć się komfortowo, kiedy już zaczniesz.

Powiązane wpisy:

Zobacz także:

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *