평신도의 관점에서 REST와 SOAP의 차이점은 무엇입니까?


대답 1:

SOAP (Simple Object Access Protocol) 및 REST (Representational State Transfer)는 모두 웹 서비스 통신 프로토콜입니다.

SOAP는 REST가 아키텍처 스타일 인 프로토콜입니다. 간단히 말해 REST는 데이터에 액세스하고 SOAP는보다 표준화 된 메시징 패턴 세트를 통해 조작을 수행합니다. 그러나 대부분의 경우 REST 또는 SOAP을 사용하여 구성 방식에 약간의 차이가 있지만 동일한 결과를 얻을 수 있습니다 (둘 다 무한대로 확장 가능).

SOAP에 대한 REST의 장점

REST는 단순성을 위해 HTTP를 사용하는 것 외에도 SOAP에 비해 여러 가지 다른 이점을 제공합니다.

  • REST는보다 다양한 데이터 형식을 허용하지만 SOAP는 XML 만 허용합니다 .JSON과 결합하면 (일반적으로 데이터와 더 잘 작동하고 더 빠른 구문 분석을 제공함) REST는 일반적으로 작업하기가 더 쉬운 것으로 간주됩니다 .JSON 덕분에 REST는 브라우저에 대한 더 나은 지원을 제공합니다 REST는 Yahoo, Ebay, Amazon 및 Google과 같은 주요 서비스에 가장 자주 사용되는 프로토콜입니다 .REST는 일반적으로 더 빠르고 대역폭을 덜 사용합니다. 또한 사이트 인프라를 리팩터링 할 필요없이 기존 웹 사이트와 쉽게 통합 할 수 있습니다. 이를 통해 개발자는 사이트를 처음부터 다시 작성하는 데 시간을 소비하지 않고 더 빠르게 작업 할 수 있습니다. 대신, 단순히 추가 기능을 추가 할 수 있습니다.

SOAP Over REST의 장점

두 프로토콜 중 하나를 사용하여 대부분의 결과를 얻을 수 있기 때문에 때로는 개인 취향의 문제입니다. 그러나 SOAP가 더 적합한 경향이있는 사용 사례가 있습니다. 예를 들어,보다 강력한 보안이 필요한 경우 SOAP의 WS-Security 지원이 유용 할 수 있습니다. 데이터 개인 정보 보호 및 무결성에 대한 몇 가지 추가 보증을 제공합니다. 또한 SSL (SOAP 및 REST에서 모두 지원)에서 제공하는 지점 간이 아닌 중개자를 통한 ID 확인을 지원합니다.

SOAP의 또 다른 장점은 실패한 통신을 보상하기 위해 내장 재시도 로직을 제공한다는 것입니다. 반면에 REST에는 내장 메시징 시스템이 없습니다. 통신이 실패하면 클라이언트는 다시 시도하여 처리해야합니다. REST에 대한 표준 규칙 세트도 없습니다. 즉, 양 당사자 (서비스 및 소비자)는 내용과 컨텍스트를 모두 이해해야합니다.

SOAP의 다른 장점은 다음과 같습니다.

  • SOAP의 표준 HTTP 프로토콜을 사용하면 SOAP 프로토콜 자체를 수정하지 않고도 방화벽과 프록시에서 더 쉽게 작동 할 수 있습니다. 그러나 복잡한 XML 형식을 사용하기 때문에 ICE 및 COBRA와 같은 미들웨어에 비해 속도가 느려지는 경향이 있으며, 거의 필요하지 않지만 일부 사용 사례는 HTTP로 달성 할 수있는 것보다 더 큰 트랜잭션 안정성을 요구합니다 (이 경우 REST를 제한 함) 생산 능력). ACID 호환 트랜잭션이 필요한 경우 SOAP를 사용하는 것이 좋습니다. 경우에 따라 SOAP 서비스를 설계하는 것이 실제로 REST에 비해 덜 복잡 할 수 있습니다. 컨텐트와 컨텍스트를 유지 관리해야하는 복잡한 작업을 지원하는 웹 서비스의 경우 SOAP 서비스를 설계하려면 트랜잭션, 보안, 신뢰 및 기타 요소에 대한 응용 프로그램 계층의 코딩이 덜 필요합니다. SOAP는 다른 프로토콜과 기술을 통해 확장 성이 뛰어납니다. WS-Security 외에도 SOAP는 WS-Addressing, WS-Coordination, WS-ReliableMessaging 및 기타 여러 웹 서비스 표준을 지원하며 전체 목록은 W3C에서 찾을 수 있습니다.

나는 가능한 한 간단하게 만들려고 노력했다.

행복한 학습 :)