Główne różnice między SOAP i RESTful web services w Javie [duplikat]

To pytanie ma już odpowiedź tutaj:

Kolejne pytanie do tego posta :

Na razie mam małe pojęcie o różnicach między SOAP i RESTful Services.

Moje pytanie brzmi, Kiedy powinienem używać mydła, a kiedy powinienem używać RESTful; które z nich jest "lepsze", jeśli chodzi o do wydajności/szybkości lub obsługi żądań?

Implementuję po raz pierwszy w RESTful (java) i chcę wiedzieć więcej na ten temat; miałem już do czynienia z SOAP.

 239
Author: Community, 2010-01-25

11 answers

Odpoczynek prawie zawsze będzie szybszy. Główną zaletą SOAP jest to, że zapewnia mechanizm dla usług do opisania siebie klientom i reklamowania ich istnienia.

REST jest znacznie lżejszy i może być zaimplementowany przy użyciu prawie każdego narzędzia, co prowadzi do mniejszej przepustowości i krótszej krzywej uczenia się. Jednak klienci muszą wiedzieć, co wysłać i czego się spodziewać.

Ogólnie rzecz biorąc, gdy publikujesz API do świata zewnętrznego, które jest albo złożone lub może się zmienić, mydło będzie bardziej przydatne. Poza tym odpoczynek jest zazwyczaj lepszym rozwiązaniem.

 239
Author: dj_segfault,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-01-25 13:59:11

REST vs SOAP Web Services

Widzę, że wiele nowych usług internetowych jest wdrażanych przy użyciu REST styl architektury w dzisiejszych czasach, a nie mydła. Lets step back a po drugie i wyjaśnij, czym jest odpoczynek.

Co to jest REST Web Service

Skrót REST oznacza Reprezentacyjny Transfer Państwa, to zasadniczo oznacza, że każdy unikalny adres URL jest reprezentacją jakiegoś obiekt. Zawartość tego obiektu można uzyskać za pomocą protokołu HTTP GET, to usuń go, następnie możesz użyć posta, umieścić lub usunąć, aby zmodyfikować obiekt (w praktyce Większość serwisów używa do tego posta).

Kto korzysta z odpoczynku?

Wszystkie usługi internetowe Yahoo korzystają z REST, w tym Flickr, del.icio.us API używa it, pubsub, bloglines, technorati oraz eBay i Amazon miej Usługi internetowe zarówno dla odpoczynku, jak i mydła.

Kto używa mydła?

Google konsekwentnie wdraża swoje usługi internetowe do użycie SOAP, z wyjątkiem Bloggera, który używa XML-RPC. Będziesz znajdź Usługi internetowe SOAP w wielu programach dla przedsiębiorstw, jak również.

Reszta vs mydło

Jak zapewne zauważyliście firmy, o których wspomniałem, które korzystają z REST api nie istnieje od bardzo dawna, a ich API wyszło to roku życia. Więc odpoczynek to zdecydowanie modny sposób na tworzenie stron www usługi, jeśli tworzenie serwisów WWW mogłoby być kiedykolwiek modne (spójrzmy prawdzie w oczy używasz mydła do mycia i odpoczywasz, gdy twój zmęczony). Główne zalety usług internetowych REST to:

Lightweight-niewiele dodatkowych znaczników XML czytelnych dla człowieka Łatwe do zbudowania-nie wymaga zestawów narzędzi SOAP ma również pewne zalety:

Łatwy w użyciu-czasem sztywny, przylega do narzędzia rozwoju umowy do korzystania z usług internetowych, jego czasami a podrzucać pomiędzy, które jest łatwiejsze. Na przykład Google AdWords web serwis jest naprawdę trudny do konsumpcji (w CF tak czy inaczej), używa Mydło nagłówki i wiele innych rzeczy, które sprawiają, że jest to trochę trudne. Na converse, Amazon REST web service może być czasami trudne do analizować, ponieważ może być wysoce zagnieżdżony, a schemat wynikowy może się różnić trochę w oparciu o to, czego szukasz.

Jaką architekturę wybierzesz upewnij się, że jest łatwa dla programistów aby uzyskać do niego dostęp, i dobrze udokumentowane.

Freitag, P. (2005). REST vs SOAP Web Services (pol.). Pobrano z http://www.petefreitag.com/item/431.cfm on Czerwiec 13, 2010

 67
Author: salman khalid,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-07-12 10:29:08

Mydło

Simple Object Access Protocol (SOAP) standard język XML definiujący architekturę komunikatów i formaty komunikatów, jest używany przez serwisy WWW zawiera opis operacji. WSDL jest językiem opartym na XML do opisywania usług internetowych i dostępu do nich. będzie działać na SMTP, HTTP, FTP itp. Wymaga wsparcia middleware, dobrze zdefiniowanego mechanizmu do definiowania usług takich jak WSDL+XSD, ws-Policy SOAP zwróci dane oparte na XML

REST Representational State Transfer (RESTful) Web services. są to Usługi internetowe drugiej generacji. RESTful web services komunikują się poprzez HTTP niż usługi oparte na SOAP i nie wymagają komunikatów XML ani definicji interfejsu WSDL service-API. dla REST nie jest wymagane oprogramowanie pośredniczące tylko wsparcie HTTP jest potrzebne.WADL Standard, REST może zwracać XML, zwykły tekst, JSON, HTML itp

 43
Author: kapil das,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-19 06:39:40

Odpoczynek jest architekturą. Odpoczynek da wyniki czytelne dla człowieka. Reszta jest bezpaństwowa. Usługi REST są łatwo cacheable.

Mydło jest protokołem. Może działać na serwerach JMS, FTP, Http.

 41
Author: Kalidoss.M,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-07-12 05:14:29
  1. REST nie ma definicji interfejsu WSDL [Web Description Language].

  2. Reszta jest nad HTTP, ale SOAP może być nad dowolnymi protokołami transportowymi, takimi jak HTTP, FTP, SMTP, JMS itp.

 34
Author: CharithJ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-04 12:12:58

Reszta VS mydło

Mydło:

► soap jest prostym protokołem dostępu obiektowego, który działa na TCP / UDP / SMTP.
► SOAP odczyt i zapis wiadomości odpowiedzi żądania w formacie XML.
► SOAP używa interfejsu do definiowania usług.
► SOAP jest bezpieczniejsze, ponieważ ma własne bezpieczeństwo i dobrze zdefiniowane standardy.
► SOAP stosuje RPC i styl dokumentu do definiowania usług internetowych.
► SOAP używa soap-UI jako narzędzi klienta do testowania.

Reszta

► reszta jest reprezentacyjna transfer stanu, który wykorzystuje podstawowe protokoły HTTP.
► Reszta jest bezpaństwowa.
► REST to styl architektoniczny, który jest używany do opisu i definiowania usług internetowych.
► REST może odczytywać i zapisywać wiadomości odpowiedzi żądania w JSON / XML / Plain HTML.
► REST używa URI dla każdego Zasobu używanego w usłudze internetowej.Zasobem może być metoda tekstu obrazu itp.
► REST używa zestawu czasowników takich jak GET, POST, PUT, DELETE HTTP.
► Odpoczynek jest łatwy do opracowania i łatwy w zarządzaniu w porównaniu z mydłem UI.
► REST ma lekkie narzędzia Klienta lub wtyczki, które można łatwo zintegrować wewnątrz przeglądarki.
► Usługi REST są w stanie buforować.

 21
Author: Waqas Ahmed,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-07 06:42:52
  • REST oznacza Representational State Transfer gdzie SOAP oznacza Simple Object Access Protocol .

  • SOAP definiuje własne Bezpieczeństwo gdzie jako REST dziedziczy zabezpieczenia z transport podstawowy.

  • SOAP nie obsługuje obsługi błędów, ale REST ma wbudowany błąd obsługa .

  • REST jest lekki i nie wymaga parsowania XML . Odpoczynek może spożywać każdy klient, nawet sieć przeglądarka z Ajax i Javascript. REST zużywa mniej przepustowości , nie wymaga nagłówka SOAP dla każdej wiadomości.

    • REST jest przydatny dla każdego protokołu, który dostarcza URI. Zignoruj punkt 5 dla odpoczynku, jak wspomniano poniżej na zdjęciu.

Mydło a odpoczynek

 20
Author: IRSHAD,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-06 06:26:08

Różnica między odpoczynkiem a mydłemTutaj wpisz opis obrazka

 10
Author: yogesh wadhwa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-09 06:14:48

Soap Web-services:

  1. jeśli Twoja aplikacja wymaga gwarantowanego poziomu niezawodności i bezpieczeństwa, SOAP oferuje dodatkowe standardy, aby zapewnić tego typu działanie.
  2. Jeśli obie strony (usługodawca i konsument usług) muszą uzgodnić format wymiany, to SOAP podaje sztywne specyfikacje dla tego typu interakcji.

RestWeb-Usługi:

  1. Totally stateless operations: for stateless CRUD (Create, Read, Update, and Delete) szef.
  2. sytuacje buforowania: Jeśli informacje muszą być buforowane.
 8
Author: Sudhakar_Jayaraman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-11-07 07:09:56

SOAP web service zawsze wykonuje operację POST, podczas gdy za pomocą REST można wybrać określone metody http,takie jak GET,POST,PUT, DELETE. Przykład: aby uzyskać element za pomocą SOAP należy utworzyć request xml, ale w przypadku REST można po prostu podać id elementu w samym adresie url.

 6
Author: Anil Kumar B,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-29 13:18:58

Reszta jest łatwiejsza w użyciu i bardziej elastyczna.W przeciwieństwie do SOAP, REST nie musi używać XML do dostarczania odpowiedzi. Możemy znaleźć Usługi internetowe oparte na REST, które wypisują dane w Command Separated Value (CSV), JavaScript Object Notation (JSON) i Really Simple Syndication (RSS). Możemy uzyskać dane wyjściowe w formie, która jest łatwa do przetworzenia w języku, którego potrzebujemy dla naszej aplikacji.REST jest bardziej wydajny(używaj mniejszych formatów wiadomości), Szybki i bliższy innym sieciom technologie w filozofii projektowania

 2
Author: vidya k n,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-28 04:27:12