web services tutorial
Ten samouczek dotyczący usług internetowych wyjaśnia architekturę, typy i składniki usługi internetowej, a także ważne terminologie i różnice między protokołami SOAP a REST:
W tym Kompletna seria samouczków dotyczących testowania interfejsu API , zbadaliśmy wszystko Testowanie API w naszym poprzednim samouczku. Przejdź przez ten samouczek, aby zapoznać się ze standardami WSDL i UDDI oraz sposobem, w jaki przechowują i definiują usługę sieci Web.
W tym samouczku wyjaśniono również, jak usługi sieci Web działają wewnętrznie, gdy aplikacja kliencka wysyła żądanie. W tym miejscu wyjaśniono również WSS, który jest kolejną bardzo ważną koncepcją usług SOAP.
Czego się nauczysz:
Ważne terminologie w testowaniu usług internetowych
Zanim zaczniemy eksplorować usługi sieciowe, powinniśmy zapoznać się z ważnymi terminami używanymi w testowaniu usług internetowych.
Zaczynajmy!!
1) Interoperacyjność
Usługi sieci Web obsługują „Jeden kod, różne aplikacje”. Oznacza to jeden ogólny kod dla wszystkich aplikacji na różnych platformach.
Zatem interoperacyjność to proces, który ułatwia wielu aplikacjom komunikację z innymi aplikacjami znajdującymi się na innej platformie.
# 2) Uwierzytelnianie i autoryzacja
Są one używane głównie w usługach sieci Web SOAP. Ogólnie rzecz biorąc, Uwierzytelnianie oznacza zatwierdzenie czegoś, podczas gdy Autoryzacja oznacza nadanie / posiadanie prawa dostępu do czegoś.
Na przykład - Jeśli mam stronę na Facebooku, to mogę być traktowany jako uwierzytelniony użytkownik Facebooka. Natomiast jeśli masz prawo do przeglądania moich zdjęć na Facebooku, to jesteś autoryzowanym użytkownikiem.
Łącząc te dwa, możemy powiedzieć, że „Wszyscy uwierzytelnieni użytkownicy, którzy mają dostęp do zasobów, są znani jako Autoryzowani Użytkownicy tych zasobów”.
To samo dzieje się w usługach internetowych, tj. Identyfikator użytkownika i hasło, które jest używane do generowania tokena, obejmuje część uwierzytelniającą, a ten token, który zostanie użyty do wysłania żądania do serwera internetowego, obejmuje część autoryzacyjną.
# 3) Architektura luźno powiązana
Usługi sieci Web są oparte na architekturze luźno sprzężonej. Oznacza to, że interfejsy usług internetowych mają charakter dynamiczny (zmiany w określonym czasie). Ale logika klienta niekoniecznie musi się zmieniać podczas interakcji z usługą.
Ułatwia to integrację wielu programów w bardziej efektywny sposób. Jeśli była to architektura ściśle sprzężona, to za każdym razem, gdy zmienia się interfejs, należy zmienić logikę klienta, aby zsynchronizować ją z usługą.
# 4) Artefakt
Jest to termin używany w usługach sieci Web do oznaczania informacji lub danych. Nie są to całe dane, ale informacja, która może obejmować adres URL lub URI, klucz kontekstu, klucz dokumentu, ładunek lub obrazy pomocnicze.
# 5) Punkt końcowy
Jest to bardzo powszechny termin używany w każdym żądaniu usługi internetowej. To jest pełny adres URL, który trafia do wystąpienia usługi internetowej.
Na przykład - https://www.facebook.com/imsaket -> to jest pełny adres URL lub punkt końcowy, który ma facebook.com jako adres URL, a „imsaket” jest przekazywany jako klucz kontekstowy, aby jednoznacznie zidentyfikować określony adres.
teledyski youtube darmowe oprogramowanie do pobrania
# 6) Idempotent
Dzieje się tak podczas interakcji klient-serwer, w której nie ma znaczenia, ile razy trafisz na wystąpienie usługi, a serwer zawsze zwróci klientowi tę samą odpowiedź.
# 7) Marshalling and Demarshalling
Jak wiemy, hermetyzacja jest zasadą OOPS, która jest definiowana jako zawijanie kodu i danych w jedno. To samo dzieje się w usługach sieci Web SOAP. Kiedy opakowujemy lub enkapsulujemy dane w ładunek (XML), aby utworzyć wiadomość SOAP i wysłać ją na serwer, wówczas ten proces enkapsulacji nazywa się Marshalling.
Demarshalling jest po prostu odwrotnością Marshallingu. Metoda dekapsulacji lub rozpakowywania danych i kodu (XML) z komunikatu SOAP nosi nazwę „Demarshalling”.
Co to jest usługa internetowa?
Jak wspomniano wcześniej, usługi internetowe to usługi, które są dostarczane z jednego komputera do drugiego przez sieć.
Przykład usług internetowych: AWS (Amazon Web Services), która umożliwia użytkownikom online przeglądanie cen różnych przedmiotów sprzedawanych na Amazon.com i Amazon.in
Składniki usług internetowych
Poniżej wymieniono różne składniki usług internetowych.
1) MYDŁO
Usługi sieci Web używają protokołu Simple Object Access Protocol (SOAP), który używa XML jako ładunku lub treści żądania. To jest protokół stanowy ponieważ nie ma niezależnej metody dla określonego rodzaju operacji.
Wszystkie żądania i odpowiedzi są przenoszone jednocześnie przez XML i żadne niezależne metody, takie jak GET, PUT, POST lub DELETE, nie są jawnie dostarczane.
# 2) WSDL
To żądanie SOAP korzysta z Język opisu usług sieci Web (WSDL) który jest bardzo użytecznym komponentem usługi sieciowej.
Określa, gdzie faktycznie znajduje się usługa sieciowa, a także typ usługi sieci Web, która ma zostać odebrana w celu wykonania określonego żądania. Wykorzystuje to plik XML, który opisuje funkcjonalność usługi sieci Web.
# 3) UDDI
Kolejnym użytecznym komponentem jest UDDI . To oznacza Universal Description Discovery and Integration. Istnieje usługodawca, który udostępnia usługę sieciową. Dlatego w przypadku konkretnego dostawcy usług ten UDDI jest używany do opisywania, wykrywania i publikowania tych usług sieci Web.
UDDI jest odpowiedzialny za umożliwienie klientowi ustalenia (UDDI udostępnia repozytorium dla WSDL), gdzie znajduje się plik XML WSDL. W ten sposób definiuje się i opisuje usługę sieci Web.
# 4) XML-RPC
To oznacza Extensible Markup Language - Remote Procedure. Kolejnym bardzo ważnym składnikiem usługi sieciowej jest XML - RPC, który jest odpowiedzialny za wysyłanie komunikatów między systemami. Żądania i odpowiedzi mają postać XML i są wysyłane / odbierane za pośrednictwem protokołu HTTP POST.
Najlepszą cechą XML-RPC jest to, że aplikacja kliencka znajdująca się na innej platformie może komunikować się z innym serwerem. Jest coś, co nazywa się JSON-RPC, co zostało wyjaśnione w dalszej części artykułu, ponieważ nie stanowi składnika usługi sieci Web.
Architektura usługi internetowej
Architekturę usługi sieci Web można przedstawić na poniższym diagramie.
Jak już wiemy, typowa architektura usług internetowych składa się z trzech jednostek, tj. Klienta, serwera internetowego i Internetu do wykonania operacji. Operacja to nic innego jak żądanie i odpowiedź w architekturze klient-serwer.
Klient to zwykle zestaw wszystkich aplikacji lub systemów oprogramowania, które żądają usługi sieci Web, czyniąc go tym samym konsumentem usługi.
Serwer sieci Web to zestaw wszystkich aplikacji lub systemów oprogramowania udostępniających usługę sieci Web. Każda usługa sieciowa wymaga sieci do działania, co skutkuje powstaniem trzeciej jednostki zwanej Internetem.
To tylko omówienie architektury usługi sieci Web.
Schemat roboczy usługi sieci Web jest definiowany przez trzy komponenty przedstawione poniżej.
- Żądający usługi (Znajdź ())
- Usługodawca (Publikuj ())
- Rejestr usług lub repozytorium (Bind ())
Jest to wyjaśnione (szczegółowo na diagramie) w architekturze usługi SOAP.
darmowe strony z anime do oglądania online
Rodzaje usług internetowych
Poniżej opisano szczegółowo dwa rodzaje usług internetowych.
1) Usługa SOAP
SOAP Service to skrót od Simple Object Access Protocol. Usługi SOAP to usługi stanowe, które używają języka XML do tworzenia kopert. Kopertę SOAP można opisać w dwóch częściach, tj. Jedna to plik Nagłówek i treść protokołu SOAP , drugi to protokół używany do wysyłania komunikatów SOAP.
Ten nagłówek SOAP składa się z uwierzytelniania i autoryzacji, które zapewniają dostęp. Ciało znajduje się w sekcji ładunku żądania, która używa WSDL do opisu usługi sieci Web, a protokołem jest głównie HTTP (HyperText Transmission Protocol).
Bezpieczeństwo usług internetowych
Usługi SOAP mają warstwę SSL (Secure Socket Layer), która jest odpowiedzialna za unikanie wycieku danych podczas transmisji, a tym samym zapewnia szyfrowanie i deszyfrowanie.
Tymczasem usługi SOAP są bezpieczniejsze, ponieważ mają również WSS (Web Services Security), co gwarantuje brak ujawnienia podczas komunikacji między usługą a aplikacją.
Jak wszyscy wiemy, każda usługa sieciowa (w przeciwieństwie do interfejsu API sieci Web) potrzebuje sieci do wykonywania swoich operacji. W związku z tym staje się konieczne, aby usługi sieci Web zapewniały bezpieczeństwo po podłączeniu do sieci. W związku z tym usługi sieci Web mają trzy ważne elementy, które obejmują czynnik bezpieczeństwa podczas przesyłania wiadomości.
- Uwierzytelnianie i autoryzacja (Już wyjaśniono powyżej).
- Poufność: Jest to całkowicie zależne od protokołu SSL, który zapewnia szyfrowanie i deszyfrowanie koperty SOAP.
- Bezpieczeństwo sieci: Oznacza to wyodrębnienie wszystkich odpowiedzi SOAP i XML - RPC, które otrzymujesz z serwera. Na przykład, Jeśli weźmiesz dowolne narzędzie usługi sieci Web, takie jak POSTMAN lub PARASOFT, zauważysz, że w menedżerze nagłówków HTTP jest opcja ustawienia wartości Content-Type. Wartość można ustawić na Application / JSON, aby wyodrębnić wszystkie REST (ponieważ usługi SOAP nie obsługują opcji menedżera nagłówka HTTP). W ten sposób możesz przekazać typ zawartości: Application / XML w pliku ładowność się w postaci XML. Spowoduje to również wyodrębnienie SOAP i XML-RPC.
Te trzy czynniki składają się na zabezpieczenia usług sieciowych, które radzą sobie z atakami zewnętrznymi.
Architektura usługi SOAP
Każda usługa SOAP zależy od trzech jednostek, które ostatecznie tworzą architekturę usługi SOAP.
- Dostawca usługi: Wszystkie systemy oprogramowania lub aplikacje, które są częścią lub zapewniają usługę sieci Web.
- Zgłaszający serwis: Wszystkie systemy oprogramowania lub aplikacje, które są częścią żądań usługi sieci Web od Usługodawcy.
- Rejestr usług: Rejestr lub repozytorium, w którym wszystkie informacje o usłudze WWW są dostarczane przez dostawcę usług. (Już omówione w UDDI)
Wyjaśnienie
Te trzy jednostki współdziałają ze sobą w celu pomyślnego wdrożenia usługi sieci Web. Odbywa się to w trzech fazach. Pierwsza faza to Publikować() faza, w której dostawca usług podaje wszystkie szczegóły dotyczące usługi sieci Web w rejestrze usług lub repozytorium.
Druga faza to Odnaleźć() gdzie żądanie usługi głównie aplikacja kliencka znajduje szczegółowe informacje o usłudze sieciowej z repozytorium (ma również plik WSDL XML). Ostatnia faza to Wiążący() gdzie aplikacja kliencka lub requester usług synchronizuje się z usługodawcą w celu ostatecznego wdrożenia usługi internetowej.
# 2) Usługa RESTful
REST oznacza Representational State Transfer, czyli plik Bezpaństwowcy Usługa.
Nazywa się to bezstanowym, ponieważ serwer sieciowy nie przechowuje żadnych informacji o sesji klienta (czas do połączenia i wykonania aplikacji klienckiej), co oznacza, że każdy typ żądania jest traktowany i wykonywany z łatwością za pomocą wbudowanych metod REST, takich jak GET, POST, CUSTOM (PUT), DELETE, HEAD i tak dalej.
Rzeczywiście, tych metod nie ma w SOAP.
Metoda lub czasowniki
Każda metoda w REST ma swoje znaczenie. Poniżej znajduje się opis każdego z nich.
- OTRZYMAĆ: Ta metoda służy do pobierania informacji wysyłanych do serwera przy użyciu dowolnej z metod, takich jak PUT lub POST. To nie ma treści żądania. Pomyślne wykonanie da ci 200 obiektów odpowiedzi.
- POCZTA: Ta metoda służy do tworzenia dokumentu lub rekordu przy użyciu treści żądania, określonego adresu URL, klucza dokumentu, klucza kontekstu itp. To samo można pobrać za pomocą metody GET. Pomyślne wykonanie da ci 201 odpowiedź.
- POŁOŻYĆ: To jest w opcji NIESTANDARDOWE, która jest dostępna w POSTMAN lub PARASOFT. Ta metoda służy do aktualizowania dowolnego dokumentu lub rekordu, który jest już obecny. Pomyślne wykonanie zapewni odpowiedź 201 lub 200.
- KASOWAĆ: Ta metoda służy do usuwania dowolnego rekordu. Pomyślne wykonanie da ci odpowiedź 204 (bez treści).
Uwaga: Kody odpowiedzi HTTP zależą od sposobu, w jaki kodują programiści i czasami można nimi manipulować. Poniżej wymieniliśmy typowe kody odpowiedzi, które otrzymujemy z każdego typu metody.
Architektura usługi REST
Architektura usługi REST zależy od dwóch podmiotów tj. Konsumenta Usługi lub Żądającego i Usługodawcy. Usługobiorca to ten, który korzysta z Usługi sieciowej, a Usługodawca to zbiór oprogramowania lub systemu, który udostępnia Usługę sieciową.
Aplikacja kliencka, która zwykle jest konsumentem usługi, używa wbudowanych metod REST, adresu URL lub URI, wersji HTTP i ładunku (jeśli jest obsługiwany przez metodę).
SOAP vs REST
Chociaż te dwa typy usług sieci Web są używane do wykonywania żądań i odpowiedzi, różnią się one całkowicie sposobem działania.
Ich różnice są wymienione w celach informacyjnych.
- Koperta SOAP może być używana w REST, ale nie odwrotnie. Na przykład. Token użytkownika, który jest tworzony w SOAP, można przekazać w żądaniu REST pod menadżerem nagłówka HTTP -> Autoryzacja.
- SOAP jest zwykle bezpieczniejszy niż usługi REST, ponieważ usługi SOAP zapewniają WSS oprócz SSL. Ten SSL jest obecny zarówno w SOAP, jak i REST.
- SOAP jest wolniejszy niż REST, ponieważ przetwarzanie żądania zajmuje więcej czasu w SOAP ze względu na format danych XML. REST używa JSON, który jest bardzo lekki, a tym samym przyspiesza.
- SOAP nie ma żadnej wbudowanej metody, ale REST ma GET, PUT, POST itp.
- SOAP jest stanowy, podczas gdy REST jest bezstanowy.
- Treści żądań i odpowiedzi w protokole SOAP obsługują tylko format danych XML. W REST treść żądań i odpowiedzi obsługuje wiele formatów danych, takich jak JSON, XML, zwykły tekst itp.
Wniosek
W tym samouczku dotyczącym usług sieci Web wyjaśniono architekturę, składniki i typy usług sieci Web.
Dowiedzieliśmy się również o różnicach między usługami SOAP i REST, a także o innych ważnych pojęciach i terminologii związanej z usługami sieciowymi.
Mamy nadzieję, że ten samouczek pomógł Ci zrozumieć usługi sieciowe !!
gdzie jest klucz bezpieczeństwa sieci
POPRZEDNIA samouczek | NEXT Tutorial
rekomendowane lektury
- Python DateTime Tutorial z przykładami
- Samouczek Java SWING: kontener, komponenty i obsługa zdarzeń
- Samouczek dotyczący wstrzykiwania HTML: typy i zapobieganie z przykładami
- Samouczek dotyczący skryptów powłoki Unix z przykładami
- Selenium Find Element By Text Samouczek z przykładami
- Samouczek dotyczący głównych funkcji języka Python z praktycznymi przykładami
- Testowanie w parach lub samouczek testowania we wszystkich parach z narzędziami i przykładami
- Samouczek testowania konfiguracji z przykładami