REST 서비스와 SOAP 서비스 중에서 선택하는 방법에 대한 가이드?

StackOverflow https://stackoverflow.com/questions/28950

  •  09-06-2019
  •  | 
  •  

문제

REST와 SOAP 사이의 결정을 내리는 데 대한 문서 또는 가이드에 대한 링크가있는 사람이 있습니까?나는이 두 가지를 모두 이해하지만, 보안과 같은 핵심 결정 사항에 대한 참고 자료를 찾고 있습니다.

도움이 되었습니까?

해결책

Google의 첫 번째 히트작 은 상당히 포괄적 인 것 같습니다.

여기서 문제는 둘 중 한 사람의 옹호자가 너무 많다는 것입니다. 인터넷 검색을 통해 찬반 양론을 더 많이 처리하고 스스로 결정을 내리는 것이 더 나을 수 있습니다.

어려운 것처럼 들리지만 궁극적으로 이러한 종류의 디자인 결정은 개발자 / 아키텍트에 의해 결정되며 99 %의 경우 문제 영역이 결정 요인이됩니다. (또는 적어도 그래야합니다), 인터넷에 대한 가이드가 아닙니다.

다른 팁

메시지 아키텍처 및 메시지 형식을 정의하는 XML 언어 인 SOAP (Simple Object Access Protocol) 표준은 작업에 대한 설명을 포함하는 웹 서비스에서 사용됩니다. WSDL은 웹 서비스와 이에 액세스하는 방법을 설명하는 XML 기반 언어입니다. SMTP, HTTP, FTP 등에서 실행됩니다. 미들웨어 지원이 필요하며 WSDL + XSD와 같은 서비스를 정의하기 위해 잘 정의 된 메커니즘이 필요합니다. WS-Policy SOAP는 XML 기반 데이터를 반환합니다 SOAP는 보안 및 안정성에 대한 표준을 제공합니다

RESTful (Representational State Transfer) 웹 서비스. 2 세대 웹 서비스입니다. RESTful 웹 서비스는 SOAP 기반 서비스보다 HTTP를 통해 통신하며 XML 메시지 또는 WSDL 서비스 API 정의가 필요하지 않습니다. REST의 경우 미들웨어가 필요하지 않으며 HTTP 지원 만 필요합니다. WADL Standard, REST는 XML, 일반 텍스트, JSON, HTML 등을 반환 할 수 있습니다

많은 유형의 클라이언트가 RESTful 웹 서비스를 사용하는 동시에 서버 측을 발전시키고 확장하는 것이 더 쉽습니다. 클라이언트는 서비스의 일부 또는 모든 측면을 사용하고 다른 웹 기반 서비스와 매시업하도록 선택할 수 있습니다. 라코 디스

REST는 기존 웹 사이트와 쉽게 통합 할 수있는 서비스입니다.

SOAP에는 보안 및 안정성에 대한 표준을 제공하고 다른 WS 준수 클라이언트 및 서버와 상호 운용되는 일련의 프로토콜이 있습니다. SOAP 웹 서비스 (예 : JAX-WS)는 비동기 처리 및 호출을 처리하는 데 유용합니다.

복잡한 API의 경우 SOAP가 더 유용합니다.

나는 REST와 SOAP를 모두 유사한 기능을 구현하는 데 사용할 수 있다고 생각하지만 일반적으로 SOAP의 특정 기능이 필요할 때 사용해야하며 REST의 장점으로 인해 일반적으로 최상의 옵션이됩니다.그러나 REST와 SOAP는 모두 "웹 서비스"라고도하며 하나는 다른 서비스 대신에 자주 사용되지만 완전히 다른 접근 방식입니다.REST는 클라이언트-서버 애플리케이션을 구축하기위한 아키텍처 스타일입니다.SOAP는 두 끝점간에 데이터를 교환하기위한 프로토콜 사양입니다.

저는 + Rob Cooper의 게시물에 매우 동의합니다.예, 옹호자들이 너무 많습니다. 비누와 휴식의 차이점 을 나열했습니다.

REST와 SOAP 사이를 결정하는 데 도움이되는 좋은 흐름도가 있습니다.

흐름도 링크 : https://drive.google.com/ file / d / 0B3zMtAq1Rf-sdVFNdThvNmZWRGc / 편집

기사 링크 : https://www.linkedin.com/pulse/20140818062318-7933571-soap-vs-rest-flowchart-to-determine-the-right-web-services-protocol -당신의 필요에 따라

이 결정을 내리는 데 사용하는 다른 두 가지 요소는 다음과 같습니다.

1) 서비스 클라이언트에 XML (예 : JSON) 이외의 미디어 유형이 필요합니까? 그렇다면 REST를 사용하십시오.

2) 서비스의 클라이언트가 항상 애플리케이션 / 서버가됩니까 (예 : RIA 또는 AJAX 클라이언트가 아님). 그렇지 않은 경우 AJAX를 사용할 때 REST 서비스를 사용하기가 더 쉽기 때문에 REST에 의존합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top