W ramach kontynuacji różnych dziwnie brzmiących pojęć z pogranicza informatyki dzisiaj czas na pojęcie webservice.
Co to jest?
Webservice to w dużym uproszczeniu wyjaśniając „program działający jako strona internetowa” ująłem to celowo w cudzysłów ponieważ nie jest to taki typowy program jaki użytkownik zna ze swojego lokalnego komputera. Klasyczny program to zazwyczaj przynajmniej plik uruchomieniowy EXE, który uruchamiamy na swoim komputerze i pojawia się jakiś ekran z opcjami, które coś mają wykonać.
Jeśli chodzi o webservice to zazwyczaj jest to zestaw różnych funkcji, które dostępne są w sieci publicznej internet, do których wszyscy mają dostęp do internetu i mogą ten adres internetowy wywołać.
Czyli w ramach jednego webservice możemy umieścić różne funkcje, których zadaniem jest wykonanie określonej czynności.
Wyobraźmy sobie teraz klasyczne wykorzystanie webservice w aplikacjach WAPRO ERP.
- Jeden webservice to np. pobieranie kursów walut z banku NBP/ECB – każdy z banków na swojej stronie (serwerze stron www) publikuje funkcje, których celem jest otrzymać parametr daty dla jakiej chcemy pobrać kurs a następnie zwrócić te dane. Następnie dane są obrabiane (tu przez WAPRO ERP) i zapisane w programie. To jest klasyczny przykład prostej funkcji webservice
- Drugi bardziej skomplikowany przypadek to np. webservice Allegro znany jako WebAPI Allegro (obecnie Allegro utrzymuje 2 niezależne webservice, z którymi komunikacja odbywa się w różnych standardach). W tym przypadku udostępnione jest wiele funkcji, które mają ściśle określone działanie np. logowanie (pobiera dane do logowania i zwraca identyfikator sesji używany w innych funkcjach), wystawianie aukcji (oczekuje wprowadzenia danych do aukcji tak aby można było ją opublikować w serwisie allegro), pobieranie drzewa kategorii, pobieranie parametrów allegro, pobieranie informacji o kupującym, pobieranie informacji o sprzedanych towarach itp. Z tego webservice korzysta system do integracji z Allegro i obsługi aukcji internetowych WAPRO Aukcje.
Jeśli już wiemy czym jest webservice to jak jako klient mogę z niego korzystać?
Są 2 główne scenariusze użycia, np. pierwszy z nich to pobieranie/publikowanie danych z naszego/do naszego systemu poprzez webservice umieszczony u jakiejś firmy z którą współpracujemy. Np. przygotowywaliśmy dedykowane integracje, które polegają np. na pobieraniu cenników od dostawców naszych klientów lub składanie elektroniczne zamówień u ich dostawców.
Drugi przypadek to sytuacja odwrotna użytkownik WAPRO ERP publikuje po swojej stronie webservice dostępny dla swoich klientów, którzy mogą przy jego pomocy pobrać dane z systemu np. pobrać cennik, pobrać aktualne stany magazynowe, złożyć zamówienie na towar.
Podsumowując webservice to taki program, którego nie widać w sposób naoczny w formie interfejsu graficznego ale jest, działa i ma określone zadanie do wykonania.