Odpowiedzi:
WSDL to dokument XML opisujący usługę WWW. W rzeczywistości oznacza język opisu usług internetowych.
SOAP to protokół oparty na języku XML, który umożliwia wymianę informacji między aplikacjami za pośrednictwem określonego protokołu (na przykład HTTP lub SMTP). Jest skrótem od Simple Object Access Protocol i używa XML jako formatu wiadomości do przekazywania informacji.
REST to styl architektoniczny systemów sieciowych i oznacza Representational State Transfer. Sam w sobie nie jest standardem, ale używa standardów, takich jak HTTP, URL, XML itp.
"A WSDL is an XML document that describes a web service. It actually stands for Web Services Definition Language."
To naprawdę nie wyjaśnia, co to jest ...
The current version of WSDL is WSDL 2.0. The meaning of the acronym has changed from version 1.1 where the "D" stood for "Definition".
Przykład: Mówiąc prosto, jeśli masz serwis internetowy kalkulatora.
WSDL: WSDL zawiera informacje o funkcjach, które można zaimplementować lub udostępnić klientowi. Na przykład: dodawanie, usuwanie, odejmowanie i tak dalej.
SOAP: gdzie, tak jak używając SOAP, faktycznie wykonujesz akcje takie jak doDelete (), doSubtract (), doAdd (). Więc SOAP i WSDL to jabłka i pomarańcze. Nie powinniśmy ich porównywać. Oba mają różne funkcje.
Dlaczego używamy SOAP i WSDL: do niezależnej od platformy wymiany danych.
EDYCJA: W normalnym codziennym życiu przykład:
WSDL: Kiedy idziemy do restauracji, widzimy pozycje menu, to są WSDL.
Klasy proxy: Teraz po obejrzeniu pozycji menu podejmujemy decyzję (przetwarzamy nasz umysł na temat tego, co zamówić): Więc zasadniczo tworzymy klasy proxy w oparciu o dokument WSDL.
SOAP: Następnie, kiedy faktycznie zamawiamy jedzenie na podstawie Menu: Oznacza to, że używamy klas proxy do wywoływania metod obsługi, które są wykonywane przy użyciu protokołu SOAP. :)
Za każdym razem, gdy ktoś wspomina o SOAP / WSDL, myślę o obiektach i klasach zdefiniowanych w xml ...
„Używasz protokołu SOAP w taki sam sposób, jak dowolnej klasy PHP. Jednak w tym przypadku klasa nie istnieje w lokalnym systemie plików aplikacji, ale w zdalnej witrynie, do której można uzyskać dostęp przez http.” ... „Jeśli myślimy o używaniu usługi SOAP jako po prostu kolejnej klasy PHP, wówczas dokument WSDL jest listą wszystkich dostępnych metod i właściwości klas”.
..i kiedy ktoś mówi o REST, myślę o poleceniach HTTP (metodach żądań), takich jak POST, GET i DELETE
SOAP -> SOAP (Simple object access protocal) to protokół na poziomie aplikacji stworzony do interakcji między maszynami. Protokół określa standardowe zasady. Wszystkie strony korzystające z danego protokołu powinny przestrzegać zasad protokołu. Podobnie jak TCP, rozwija się w warstwie transportowej. Protokół SOAP będzie rozumiany przez warstwę aplikacji (każda aplikacja obsługująca SOAP - Axis2, .Net).
Komunikat WSDL -> SOAP składa się z SoapEnevelope-> SoapHeader i SoapBody. Nie określa, jaki byłby format wiadomości? jakie są obsługiwane przez niego transporty (HTTP, JMS)? Bez tych informacji każdemu klientowi, który chce korzystać z określonej usługi sieciowej, trudno jest skonstruować komunikat SOAP. Nawet jeśli to zrobią, nie będą pewni, będzie działać przez cały czas. WSDL jest ratunkiem. WSDL (język opisu usługi sieci Web) definiuje operacje, formaty komunikatów i szczegóły transportu dla komunikatu SOAP.
REST -> REST (Reprezentacyjny transfer stanu) jest oparty na transporcie. W przeciwieństwie do SOAP, który jest ukierunkowany na akcje, REST dotyczy bardziej zasobów. REST lokalizuje zasoby za pomocą adresu URL (przykład -http: // {serverAddress} / workers / workersNumber / 12345) i zależy od protokołu transportowego (z HTTP - GET, POST, PUT, DELETE, ...) dla akcji do wykonania na zasobach. Usługa REST lokalizuje zasób na podstawie adresu URL i wykonuje akcję na podstawie zlecenia transportu. Jest bardziej oparty na stylu architektonicznym i konwencjach.
Nie będziesz „po prostu” rozumieć czegoś złożonego.
WSDL jest językiem opartym na XML do opisu usługi WWW. Opisuje komunikaty, operacje i informacje o transporcie sieciowym używane przez usługę. Te usługi internetowe zwykle używają protokołu SOAP, ale mogą używać innych protokołów.
Kod WSDL jest odczytywalny przez program, więc może być używany do generowania całości lub części kodu klienta niezbędnego do wywołania usługi WWW. To właśnie oznacza nazywanie usług internetowych opartych na SOAP „samoopisującymi się”.
REST nie jest w ogóle powiązany z WSDL.
SOAP to skrót od Simple (sic) Object Access Protocol. Miał być sposobem wykonywania zdalnych wywołań procedur do zdalnych obiektów poprzez wysyłanie XML przez HTTP.
WSDL to język opisu usługi sieci Web. Żądanie kończące się na „.wsdl” skierowane do punktu końcowego spowoduje wyświetlenie komunikatu XML opisującego żądanie i odpowiedź, których może oczekiwać użycie. Opisuje umowę między usługą a klientem.
REST używa protokołu HTTP do wysyłania wiadomości do usług.
SOAP to specyfikacja, REST to styl.
Wikipedia podaje, że „Język opisu usług sieci Web jest językiem opartym na XML, który zapewnia model opisu usług internetowych”. Innymi słowy, WSDL jest usługą sieciową, podobnie jak javadoc do biblioteki java.
Jednak naprawdę słodką rzeczą w WSDL jest to, że oprogramowanie może generować klienta i serwer przy użyciu WSDL.
REST jest lekki pod względem kodowania, znacznie bardziej przydatny w przypadku lekkich urządzeń, tj. Nieregulowanych API.
REST jest niezależny od formatu. XML, HTML, JSON - wszystkie opcje są dostępne.
REST zapewnia możliwość przesyłania komunikatów w 2 punktach (nie jest to zaskakujące, ponieważ REST oznacza REpresentational State Transfer), w którym interakcja WSDL / SOAP jest interakcją wielopunktową.
REST nie wymaga nowego rozszerzenia dla komunikatów XML, podczas gdy w WSDL / SOAP tak jest.
WSDL / SOAP używa wielu protokołów transportowych, REST opiera się tylko na HTTP. Dlatego WSDL / SOAP może być używany jako sposób RESTful, jednak proste żądania mogą być nadmiernie skomplikowane / ciężkie.
Prosta analogia: REST jest jak motoboy, który dostarcza jedzenie łatwo i szybko. Rozszerzony XML WSDL / SOAP bardziej przypomina dostawę UPS, bardziej ustrukturyzowane i poważne rzeczy, ale wiąże się z kosztami.
Kilka jasnych wyjaśnień (dla SOAP i WSDL) można również znaleźć tutaj.
Dokument WSDL opisuje usługę WWW. Określa lokalizację usługi i metody usługi przy użyciu następujących głównych elementów: typy danych używane w usłudze sieciowej elementy danych dla każdej operacji opisują operacje, które mogą być wykonywane, oraz wiadomości.
SOAP (Simple Object Access Protocol) to protokół przesyłania wiadomości, który umożliwia programom działającym w różnych systemach operacyjnych komunikowanie się przy użyciu protokołów http i xml.