it-swarm-ko.tech

웹 서비스의 경우 SOAP 또는 REST?

REST가 웹 서비스를 수행하는 더 좋은 방법입니까, 아니면 SOAP입니까? 아니면 다른 문제에 대한 다른 도구입니까? 아니면 미묘한 문제입니까? 즉, 특정 경기장에서 다른 경기장보다 약간 더 낫습니까?

특히 이러한 개념과 PHP 유니버스 및 최신 고급 웹 응용 프로그램과의 관계에 대한 정보에 감사드립니다.

380
user13276

필자는 Hewlett-Packard에서 작업 할 때 원래 사양에서 코드 생성 및 WSDL 생성을 포함하여 최초의 SOAP 서버 중 하나를 구축했습니다. SOAP을 사용하지 않는 것이 좋습니다.

약어 "SOAP"는 거짓말입니다. 단순하지 않고 객체 지향적이 아니며 액세스 규칙을 정의하지 않습니다. 틀림없이 그것은 의정서입니다. 그것은 돈 박스의 최악의 사양이며, 그는 "COM"을 범한 사람이기 때문에 매우 위업입니다.

SOAP에는 전송을 위해 REST로 수행 할 수없고 데이터 표시를 위해 JSON, XML 또는 일반 텍스트로 수행 할 수없는 유용한 기능이 없습니다. 전송 보안을 위해 https를 사용할 수 있습니다. 인증을 위해 기본 인증. 세션에는 쿠키가 있습니다. REST 버전은 더 단순하고 명확하며 빠르게 실행되며 더 적은 대역폭을 사용합니다.

XML-RPC는 요청, 응답 및 오류 프로토콜을 명확하게 정의하며 대부분의 언어에 적합한 라이브러리가 있습니다. 그러나 XML은 많은 작업에 필요한 것보다 무겁습니다.

562
mdhughes

REST는 아키텍처이고 SOAP은 프로토콜입니다.

이것이 첫 번째 문제입니다.

SOAP 응용 프로그램에서 REST 봉투를 보낼 수 있습니다.

SOAP 자체는 실제로 매우 기본적이고 단순하며,이를 매우 복잡하게 만드는 것은 WSS- * 표준입니다.

소비자가 다른 응용 프로그램 및 다른 서버 인 경우 오늘날 SOAP 프로토콜에 대한 많은 지원이 있으며 데이터 이동의 기본 사항은 기본적으로 최신 IDE에서 마우스 클릭입니다.

소비자가 RIA 또는 Ajax 클라이언트 일 가능성이 높으면 SOAP보다 단순하고 클라이언트 (특히 JSON)보다 더 고유 한 것을 원할 것입니다.

HTTP를 통해 전송 된 JSON 패킷은 반드시 REST 아키텍처 일 필요는 없으며 URL에 대한 메시지 일뿐입니다. 모두 완벽하게 작동하지만 REST 관용구에는 핵심 구성 요소가 있습니다. 그러나 두 가지를 혼동하기 쉽습니다. 그러나 HTTP 요청을한다고해서 반드시 REST 아키텍처가있는 것은 아닙니다. HTTP가 전혀없는 REST 응용 프로그램을 가질 수 있습니다 (이 경우는 드 mind니다).

따라서 SOAP로 "편리한"서버 및 소비자가있는 경우 SOAP 및 WSS 스택이 적합합니다. 더 많은 임시 작업을 수행하고 웹 브라우저와 더 나은 인터페이스를 원한다면 HTTP를 통한 일부 가벼운 프로토콜도 잘 작동 할 수 있습니다.

198
Will Hartung

REST는 기본적으로 SOAP과 다른 패러다임입니다. REST에 대한 자세한 내용은 여기를 참조하십시오. 내 아내에게 REST를 어떻게 설명했는지 .

REST는 "명사"에 초점을 맞추고 적용 할 수있는 "동사"의 수를 제한함으로써 약간의 패러다임 변화입니다. 명사. 허용되는 동사는 "get", "put", "post"및 "delete"입니다. 이것은 많은 다른 동사가 많은 다른 명사 (즉, 다른 함수)에 적용될 수있는 SOAP과 다릅니다.

REST의 경우 네 개의 동사는 해당 HTTP 요청에 맵핑되고 명사는 URL로 식별됩니다. 이로 인해 상태 관리가 SOAP보다 훨씬 투명 해져서 서버의 상태와 클라이언트의 상태가 불분명합니다.

실제로이 대부분은 사라지지만 REST는 보통 JSON 로 결과를 반환하는 간단한 HTTP 요청을 나타내지 만 SOAP는 더 XML을 전달하여 통신하는 복잡한 API. 둘 다 장단점이 있지만 필자의 경험으로는 SOAP에서 얻는 전체 기능이 거의 필요하지 않기 때문에 일반적으로 REST가 더 나은 선택이라는 것을 알았습니다.

102
toluju

2012 년 질문에 대한 요약 :

REST가 실제로 잘 작동하는 영역은 다음과 같습니다.

  • 제한된 대역폭 및 리소스. 반환 구조는 실제로 어떤 형식 (개발자 정의)으로되어 있음을 기억하십시오. 또한 REST 접근 방식은 표준 GET, PUT, POST 및 DELETE 동사를 사용하므로 모든 브라우저를 사용할 수 있습니다. REST는 오늘날 대부분의 최신 브라우저가 지원하는 "XMLHttpRequest"객체를 사용할 수 있다는 점을 기억하십시오. AJAX의 추가 보너스가 추가됩니다.

  • 완전한 상태 비 저장 작업. 작업을 계속해야하는 경우 REST가 최선의 방법이 아니며 SOAP가 더 적합 할 수 있습니다. 그러나 상태 비 저장 CRUD (만들기, 읽기, 업데이트 및 삭제) 작업이 필요한 경우 REST입니다.

  • 캐싱 상황. REST 접근 방식의 완전히 상태 비 저장 작업으로 인해 정보를 캐시 할 수있는 경우 이는 완벽합니다. 위의 세 가지 방법 중 많은 솔루션을 다루고 있습니다.

그렇다면 왜 SOAP를 고려해야할까요? 다시 한 번, SOAP은 상당히 성숙하고 잘 정의되어 있으며 완전한 사양이 제공됩니다. REST 접근 방식은 그저 접근 방식이며 개발을 위해 널리 개방되어 있으므로 다음과 같은 경우 SOAP가 훌륭한 솔루션입니다.

  • 비동기 처리 및 호출. 응용 프로그램에 보장 된 수준의 안정성과 보안이 필요한 경우 SOAP 1.2는 이러한 유형의 작업을 보장하기위한 추가 표준을 제공합니다. WSRM – WS-Reliable Messaging과 같은 것들.

  • 공식 계약. 양측 (제공자 및 소비자)이 교환 형식에 동의해야하는 경우 SOAP 1.2는 이러한 유형의 상호 작용에 대한 엄격한 사양을 제공합니다.

  • Stateful operations. 응용 프로그램에 상황 정보 및 대화 상태 관리가 필요한 경우 SOAP 1.2에는 WS * 구조에 이러한 사항 (보안, 트랜잭션, 조정 등)을 지원하기위한 추가 사양이 있습니다. ). 비교적 REST 접근 방식은 개발자가이 사용자 지정 배관을 구축하게합니다.

http://www.infoq.com/articles/rest-soap-when-to-use-each

59
PmanAce

SOAP 현재 서비스 계층 모두에 대해 많은 상용구 코드를 생성하고 특정 WSDL에서 클라이언트를 생성하는 더 나은 도구의 이점을 가지고 있습니다.

REST 더 간단하고, 결과적으로 유지 관리가 쉬워지고, 웹 아키텍처의 중심에 있으며, 더 나은 프로토콜 가시성을 제공하며 WWW 자체의 크기로 확장되는 것으로 입증되었습니다. 거기에있는 일부 프레임 워크는 REST on Rails와 같은 Ruby 서비스를 구축하는 데 도움이되고 일부는 ADO.NET Data Services와 같은 클라이언트 작성에 도움이됩니다. 그러나 대부분의 경우 공구 지원이 부족합니다.

44
Mark Cidade

SOAP는 툴링 관점에서 유용하다. WSDL은 툴에 의해 쉽게 소비되기 때문이다. 따라서 원하는 언어로 웹 서비스 클라이언트를 생성 할 수 있습니다.

REST는 AJAX'y 웹 페이지에서 잘 작동합니다. 요청을 단순하게 유지하면 JavaScript에서 직접 서비스를 호출 할 수 있으며 매우 유용합니다. 응답 XML에 네임 스페이스가 없도록하십시오. 브라우저가 그 네임 스페이스에 질식하는 것을 보았습니다. 따라서 xsi : type은 아마도 당신을 위해 작동하지 않을 것입니다. 지나치게 복잡한 XML 스키마는 없습니다.

REST는 성능이 더 좋은 경향이 있습니다. REST 응답을 생성하는 코드의 CPU 요구 사항은 SOAP 프레임 워크가 표시하는 것보다 낮은 경향이 있습니다. 또한 서버 측에 XML 생성 덕이 정렬되어 있으면 XML을 클라이언트로 효과적으로 스트리밍 할 수 있습니다. 따라서 데이터베이스 커서 행을 읽는다고 가정하십시오. 행을 읽을 때 행을 XML 요소로 형식화하고이를 서비스 소비자에게 직접 작성합니다. 이렇게하면 XML 출력을 쓰기 전에 메모리에있는 모든 데이터베이스 행을 수집 할 필요가 없습니다. 동시에 읽고 쓸 수 있습니다. REST를 위해 스트리밍을 작동 시키려면 새로운 템플릿 엔진 또는 XSLT를 살펴보십시오.

반면에 SOAP는 도구로 생성 된 서비스에서 큰 얼룩으로 생성 된 다음 작성하는 경향이 있습니다. 이것은 절대 사실이 아닙니다. 첨부 파일을 사용하는 것과 같이 SOAP에서 스트리밍 특성을 얻는 방법이 있습니다.

내 의사 결정 과정은 다음과 같습니다. 소비자가 서비스를 쉽게 도구화하고 작성하는 메시지가 중소형 (10MB 이하)이고 추가 CPU를 구울 염려가 없다면 서버에서 순환하면 SOAP를 사용합니다. 웹 브라우저에서 AJAX에 서비스를 제공해야하거나 스트리밍해야하거나 응답이 엄청 나면 REST로 이동합니다.

마지막으로 WS-Security 및 상태 저장 웹 서비스와 같이 SOAP를 중심으로 구축 된 훌륭한 표준이 많이 있습니다. 올바른 도구를 사용하는 경우 연결할 수 있습니다. 그런 종류의 물건은 실제로 차이를 만들고 약간의 털이 많은 요구 사항을 충족시키는 데 도움이 될 수 있습니다.

40
Dave Woldrich

나는 이것이 오래된 질문이라는 것을 알고 있지만 내 대답을 게시해야합니다. 어쩌면 누군가가 유용하다고 생각할 것입니다. SOAP보다 REST을 (를) 추천하는 사람이 몇 명인지 믿을 수 없습니다. 나는이 사람들이 개발자가 아니거나 실제로 합리적인 규모의 REST 서비스를 구현 한 적이 없다고 가정 할 수 있습니다. REST 서비스를 구현하면 SOAP 서비스를 구현하는 것보다 많은 시간이 걸립니다. 그리고 결국 그것은 훨씬 더 지저분 해집니다. 내가 SOAP 99 %를 선택한 이유는 다음과 같습니다.

1) REST 서비스를 구현하는 데 SOAP 서비스를 구현하는 것보다 시간이 오래 걸립니다. 모든 현대 언어/프레임 워크/플랫폼이 WSDL에서 읽고 프록시 클래스와 클라이언트를 출력하는 도구가 있습니다. REST 서비스 구현은 수작업으로 이루어지며 설명서를 읽으십시오. 또한이 두 가지 서비스를 구현하는 동안 실제 스키마 나 참조 문서가 없기 때문에 파이프를 통해 무엇이 돌아올 지에 대해 "추측"해야합니다.

2) 어쨌든 XML을 반환하는 REST 서비스를 작성하는 이유는 무엇입니까? 유일한 차이점은 REST를 사용하면 각 요소/속성이 나타내는 유형을 알지 못한다는 것입니다. 자신이 직접 구현하여 필드에서 문자열이 나오지 않기를 바랍니다. 생각은 항상 정수였습니다. SOAP는 WSDL을 사용하여 데이터 구조를 정의하므로 이는 쉬운 일이 아닙니다.

3) SOAP에서 SOAP Envelope의 "오버 헤드"가 있다는 불만을 들었습니다. 이 시대에 우리는 실제로 몇 바이트에 대해 걱정할 필요가 있습니까?

4) REST을 사용하면 URL을 브라우저에 넣고 데이터를 볼 수 있다는 주장을 들었습니다. REST 서비스가 단순 인증을 사용하거나 인증을 사용하지 않는 경우에는 물론입니다. 예를 들어 Netflix 서비스는 요청을 제출하기 전에 서명하고 인코딩해야하는 OAuth를 사용합니다.

5) 각 리소스에 대해 "읽을 수있는"URL이 필요한 이유는 무엇입니까? 서비스를 구현하기 위해 도구를 사용하는 경우 실제 URL에 관심이 있습니까?

계속해야합니까?

29
Josh M.

필자가 작성한 대부분의 응용 프로그램은 서버 측 C # 또는 Java 또는 WinForms 또는 WPF의 데스크톱 응용 프로그램입니다. 이러한 응용 프로그램은 REST가 제공 할 수있는 것보다 더 풍부한 서비스 API를 필요로합니다. 또한 웹 서비스 클라이언트를 만드는 데 몇 분 이상 걸리지 않습니다. WSDL 처리 클라이언트 생성 도구를 사용하면 클라이언트를 구현하고 비즈니스 가치를 추가 할 수 있습니다.

이제 일부 자바 스크립트 아약스 호출에 대해 명시 적으로 웹 서비스를 작성한다면 아마도 REST에있을 것입니다. 클라이언트 기술을 알고 JSON을 활용하기 위해서입니다. 제 생각에는 자바 스크립트에서 사용되는 웹 서비스 API는 아마도 복잡하지 않아야합니다.이 유형의 복잡성은 서버 측에서 더 잘 처리되는 것처럼 보입니다.

이것으로 자바 스크립트를위한 SOAP 클라이언트가 있습니다. jQuery에 하나가 있다는 것을 알고 있습니다. 따라서 SOAP 할 수있다 자바 스크립트에서 활용 JSON 문자열을 반환하는 REST 서비스만큼 좋지 않습니다. 따라서 임의의 수의 클라이언트 기술과 사용에 융통성이있을 정도로 복잡하고 복잡한 웹 서비스를 원한다면 SOAP을 사용합니다.

19
Travis Heseman

REST를 먼저 사용하는 것이 좋습니다. Java를 사용하는 경우 JAX-RS 및 Jersey 구현을 살펴보십시오. REST는 많은 언어에서 훨씬 간단하고 쉽게 조작 할 수 있습니다.

이 스레드에서 다른 사람들이 말했듯이 SOAP의 문제는 다른 WS- * 사양이 들어올 때의 복잡성이며 WSDL, XSD, SOAP의 잘못된 부분을 벗어나면 수많은 interop 문제가 있다는 것입니다. WS- 어드레싱 등.

REST v SOAP 토론을 판단하는 가장 좋은 방법은 인터넷을 살펴 보는 것입니다. 웹 공간, Google, Amazon, ebay, Twitter 등의 모든 주요 플레이어는 SOAP API보다 RESTful API를 사용하고 선호합니다.

REST를 사용하는 또 다른 멋진 방법은 웹 응용 프로그램과 REST 프런트 엔드간에 많은 코드와 인프라를 재사용 할 수 있다는 것입니다. 예 : JAX-RS 및 암시 적 뷰와 같은 프레임 워크를 사용하면 일반적으로 HTML과 XML 및 JSON을 리소스로 렌더링하는 것이 매우 쉽습니다. 웹 브라우저를 사용하여 RESTful 리소스를 쉽게 사용할 수 있습니다.

17
James Strachan

돈 박스가 농담으로 SOAP을 만들었을 것입니다- '웹을 통해 RPC 메소드를 호출 할 수 있습니다 can '고 오늘 그가 부풀린 것을 깨닫고 신음합니다 웹 표준의 악몽이되었습니다 :-)

REST는 훌륭하고 간단하며 어디에서나 빠르고 쉽게 구현할 수 있습니다 (표준보다 '표준'). REST를 사용하십시오.

16
gbjbaanb

둘 다 자신의 자리가 있다고 생각합니다. 내 의견으로는 :

SOAP : WS- *가 의미가있는 기초 계층에서 레거시/중요 시스템과 웹/웹 서비스 시스템 사이의 통합을위한 더 나은 선택 (보안, 정책 등).

RESTful : 최상위 계층 (공개 API를 사용하는 자바 스크립트)에서 공개 API를 사용하여 웹 사이트 간의 통합을위한 더 나은 선택입니다.

15
irobson

언급되지 않은 한 가지는 SOAP 엔벨로프는 본문 부분뿐만 아니라 헤더도 포함 할 수 있다는 것입니다. 이를 통해 XML의 전체 표현성을 사용하여 대역 외 정보를 보내고받을 수 있습니다. 내가 아는 한 REST는 HTTP 헤더 및 결과 코드로 제한합니다.

(또, REST 서비스와 함께 쿠키를 사용하여 "헤더"유형의 대역 외 데이터를 보낼 수 있습니까?

13
John Saunders

XML-RPC를 간과하지 마십시오. 가벼운 솔루션을 사용하고 있다면 몇 페이지의 텍스트로 정의되고 최소량의 코드로 구현 될 수있는 프로토콜에 대해 언급해야 할 것이 많습니다. XML-RPC는 수년 동안 사용되어 왔지만 한동안 유행을 벗어났습니다. 그러나 미니멀리스트 어필은 늦게 부활 한 것으로 보입니다.

10
Cruachan

미묘한 차이가 있습니다.

다른 시스템이 서비스와 인터페이스해야하는 경우 계약, WSDL 및 SOAP 표준에 대한 "확인"계층으로 인해 많은 클라이언트가 SOAP에 대해 더 만족할 것입니다.

시스템을 호출하는 일상적인 시스템의 경우 간단한 HTML 호출을 수행 할 때 SOAP는 불필요한 오버 헤드가 많다고 생각합니다.

9
cynicalman

REST는 Roy Fielding이 발명하고 그의 논문에 설명되어 있습니다 건축 스타일과 네트워크 기반 소프트웨어 아키텍처의 설계 . Roy는 또한 월드 와이드 웹을 통한 문서 전송을 정의하는 프로토콜 인 HTTP 의 주요 저자입니다. HTTP는 RESTful 프로토콜입니다. 개발자가 "REST 웹 서비스 사용"에 대해 이야기 할 때 "HTTP 사용"이라고 말하는 것이 더 정확할 것입니다.

SOAP는 HTTP 요청/응답 내부에서 터널링하는 XML 기반 프로토콜이므로 SOAP를 사용하더라도 REST도 사용합니다. SOAP가 기본 HTTP에 중요한 기능을 추가하는지 여부에 대한 논쟁이 있습니다.

웹 서비스를 작성하기 전에 HTTP를 공부하는 것이 좋습니다. 홀수는 스펙에 이미 정의 된 기능으로 요구 사항을 구현할 수 있으므로 다른 프로토콜이 필요하지 않습니다.

8
Chris Broski

나는 같은 문제를보고있다. 실제로 REST는 빠르고 쉬운 호출이고 응답이 적고 디버깅에 유용합니다 (URL을 브라우저로 펌핑하고 응답을 보는 것보다 낫습니다).

그러나 REST가 떨어지는 것처럼 보이는 것은 표준이 아니라는 사실과 관련이 있습니다 (표준으로 구성되어 있음에도 불구하고). 대부분의 프로그래밍 라이브러리에는 WSDL을 검사하여 SOAP 기반 서비스를 소비하는 데 필요한 클라이언트 코드를 자동으로 생성하는 방법이 있습니다. 지금까지 REST 기반 웹 서비스를 사용하는 것은 가능한 호출과 일치하는 인터페이스를 작성하는보다 적절한 접근 방식으로 보입니다. 수동 http 요청을 한 후 응답을 구문 분석하십시오. 이것은 그 자체로 위험 할 수 있습니다.

SOAP의 장점은 일단 WSDL이 발행되면 비즈니스는 인터페이스 변경을 계약으로 설정하는 논리 대립 구조를 구성하여 wsdl을 변경할 수 있다는 것입니다. manouvre를위한 공간이 없습니다. 해당 WSDL에 대해 모든 요청의 유효성을 검증 할 수 있습니다. 그러나 WSDL이 REST 서비스를 올바르게 설명하지 않기 때문에 통신 인터페이스에 동의하는 정의 된 방법이 없습니다.

비즈니스 관점에서 이것은 의사 소통을 해석과 변화에 대해 개방적인 것으로 보이며 이는 나쁜 생각처럼 보입니다.

이 스레드에서 맨 위의 '답변'은 SOAP이 단순 객체 지향 액세스 프로토콜을 나타내지 만 위키를 보면 O는 객체 지향이 아님을 의미합니다. 그들은 다른 것입니다.

이 게시물이 매우 오래되었다는 것을 알고 있지만 내 조사 결과에 응답해야한다고 생각했습니다.

7
Exitos

좋은 질문입니다 ... 나는 당신을 타인으로 이끌고 싶지 않기 때문에 다른 사람들의 대답에 당신도 많이 열려 있습니다. 저에게는 실제로 오버 헤드 비용과 API 사용에 달려 있습니다. 클라이언트 소프트웨어를 만들 때 웹 서비스를 사용하는 것을 선호하지만 SOAP의 무게는 마음에 들지 않습니다. REST는 무게가 가볍지 만 클라이언트 관점에서 작업하는 것을 좋아하지 않습니다.

다른 사람들의 생각이 궁금합니다.

6
cranley

이 포드 캐스트 를 들으십시오. 당신이 듣지 않고 답을 알고 싶다면, 그것의 REST. 그러나 나는 정말로 듣는 것을 추천합니다.

6
Mark Beckwith

내 일반적인 규칙은 브라우저 웹 클라이언트가 서비스에 직접 연결되도록하려면 REST를 사용해야한다는 것입니다. 백엔드 서비스간에 구조화 된 데이터를 전달하려면 SOAP를 사용하십시오.

SOAP는 때때로 설정하기가 매우 어려울 수 있으며 간단한 웹 클라이언트 및 서버 데이터 교환에 너무 과도합니다. 불행히도, 내가 본 (그리고 배운) 가장 간단한 프로그래밍 예제는이 인식을 다소 강화합니다.

즉, 데이터 워크 플로 (엔터프라이즈 소프트웨어 생각)에 의해 구동되는 더 큰 프로세스의 일부로 여러 SOAP 서비스를 결합하기 시작하면 SOAP이 빛을 발합니다. 이것은 주식 가격을 가져 오는 것과 같은 간단한 SOAP 작업이 일반적으로 그렇지 않은 경우 자체적으로 수행하는 작업에 대해 지나치게 복잡하기 때문에 많은 SOAP 프로그래밍 예제가 전달하지 못하는 것입니다. 보다 큰 프로세스에 의해 스크립팅되는 입력 및 출력을위한 세트 데이터 포맷을 갖는 특정 기능을 상세히 설명하는 기계 판독 가능 API를 제공하는 맥락에서 제공된다.

최종 제품이 어떻게 사용되는지에 대한 전체적인 맥락에서 제시하지 않고 SOAP의 장점을 보여주기가 어렵 기 때문에 실제로 SOAP의 평판이 나빠서 슬프다.

6
Rick Sarvas

SOAP 웹 서비스에 대한 서비스 지향 접근 방식을 구현합니다. 이는 메소드와 동사가 서비스와 상호 작용하는 기본 방법입니다. REST 객체 (또는 명사)가 중심이되는 자원 지향적 접근법을 취합니다.

4

하나의 빠른 포인트-전송 프로토콜 및 오케스트레이션;

속도, 안정성 및 보안상의 이유로 SOAP over TCP를 사용합니다. 여기에는 오케스트레이션 된 머신 대 머신 서비스 (ESB) 및 외부 서비스가 포함됩니다. 서비스 정의를 변경하면 오케스트레이션에서 WSDL 변경으로 인한 오류가 발생하고 즉시 명백해지며 재 구축/배포 할 수 있습니다.

REST (으)로 동일한 작업을 수행 할 수 있는지 확실하지 않습니다. 수정 또는 과정을 기다리는 중입니다! REST를 사용하여 서비스 정의를 변경하십시오. 400 (또는 무엇이든)을 리턴 할 때까지 그에 대해 아무것도 알지 못합니다.

3
BlueChippy

다른 시스템과 언어 사이의 상호 운용성을 찾고 있다면 확실히 REST로 갈 것입니다. 예를 들어 .NET과 Java간에 SOAP 작업을 시도하는 데 많은 문제가있었습니다.

2
neu242

나는 그들 중 어느 것이 더 빠르다는 벤치 마크를 만듭니다! 나는이 결과를 본다 :

1000 회 요청 :

  • REST가 3 초 걸렸습니다
  • SOAP는 7 초 걸렸다

10,000 건의 요청 :

  • REST는 33 초 걸렸다
  • SOAP는 69 초 걸렸다

1,000,000 건 요청 :

  • REST는 62 초 걸렸습니다
  • SOAP는 114 초 걸렸다
2
Sonador

오래된 질문이지만 오늘날에도 여전히 관련이 있습니다 .... 엔터프라이즈 공간의 많은 개발자들이 여전히 그것을 사용하고 있기 때문입니다.

저는 IoT (Internet of Things) 솔루션을 설계하고 개발하는 작업을 수행했습니다. 여기에는 클라우드와 통신하는 소형 임베디드 장치 용 코드 개발이 포함됩니다.

REST은 현재 널리 수용되고 유용하며 웹에 대한 사실상의 표준과 거의 동일하며 Microsoft도 Azure 전체에 REST 지원을 포함하고 있습니다. SOAP에 의존해야한다면 소형 임베디드 장치에 비해 너무 크고 부피가 크고 성가신 것처럼해야 할 일을 할 수 없었습니다.

REST는 단순하고 깨끗하며 작습니다. 소형 임베디드 장치에 이상적입니다. 나는 WSDL을 보내는 웹 개발자와 일할 때 항상 비명을 지른다. 왜 이것이 효과가 없는지, 왜 그들이 REST를 배워야하는지에 대한 교육 캠페인을 시작해야 할 것입니다.

0
Remixed123

1. 내 경험에서. REST는 이미 작성된 URL에 액세스 할 수있는 옵션을 제공한다고 말하고 싶습니다. 예를 들어 Google의 단어 검색. 해당 URL은 REST의 웹 서비스로 사용될 수 있습니다. SOAP에서는 자체 웹 서비스를 작성하고 SOAP 클라이언트를 통해 액세스 할 수 있습니다.

  1. REST는 text, JSON, XML 형식을 지원합니다. 따라서 두 응용 프로그램 간 통신에보다 다양한 기능을 제공합니다. SOAP는 메시지 통신을 위해 XML 형식 만 지원합니다.
0
Shalini Baranwal