2008-09-01 4 views

답변

6

SOAP의 대안은 바이너리 형식이 아닙니다.

WS-*의 복잡성을 REST와 JSON에 유리하게 남겨두고 싶은 생각이 들었습니다. 사용하기가 훨씬 간단하고 프레임 워크를 성공적으로 사용할 필요가 없기 때문입니다. WS- * 표면적으로 풀려고하는 문제는 대부분의 사용자에게는 문제가되지 않지만 어떤 방법 으로든 복잡성을 지불해야합니다.

4

여전히 WS- * – 기반 서비스를 작성합니다. 다소 놀랍게도, 능력이 부족한 개발자와 상호 작용하려고 할 때 문제가 적었습니다. 이는 WSDL 파일을 보내면 도구를 통해 크랭크를 돌리고 호출 할 수있는 API를 얻는 방법을 알기 때문에, 두포에서 일어나는 일을 행복하게 알지 못하기 때문입니다. 고객에게 REST-ful 서비스를 제공하려면 HTTP 및 XML에 대해 이야기해야합니다. HTTP 및 XML에 대해 이야기를 시작해야합니다. 실제로는 이해하지 못하고 생각하는 것처럼 두통을 겪기 시작합니다.

즉, REST를 성공적으로 수행하려면 서비스 제공 업체와 소비자 모두 자신이하는 일을 알아야합니다. 또한 간단하게 WS-* 솔루션이 아닌 – WS-* 솔루션을 제공합니다. WS- * 기술을 사용하면 단 하나의 단서만으로도 성공할 수 있습니다.

그러나 현재의 WS 표준보다 훨씬 덜 복잡한 REST 지향 표준이 결국에는 나올 것이라고 생각합니다. 그렇게되면 유사한 도구도 사용할 수있게 될 것입니다.

+0

REST의 이점 중 하나는 HTTP 이외의 견고한 표준이 없다는 것입니다. WS- *가 부풀어 오르고 사용하기 쉬운 이유는 모든 것이 표준화되어 모든 사람의 문제를 해결하기 때문입니다. REST는 "사용자 정의"를 유지함으로써 다른 틈새 시장을 채 웁니다. – Tom

2

SOAP 레거시를 전혀 고려하지 않았습니다. REST와 SOAP은 실제로 COM/CORBA와 HTTP POST/GET의 논쟁의 연속이다. SOAP은 C와 C (계약서, 제공자, 소비자 등)로 정의 된 동일한 원칙의 업데이트 된 버전 일 뿐이다. . 그것은 단지 SOAP가 (적어도 부분적으로) 다른 두 곳이 실패한 곳에서 성공한 것처럼 보입니다 (SOAP은 더 나은 마케팅 팀을 가질 수 있습니다). SOAP은 실제로 다른 시스템에 연결하는 것을 허용하지만 실제로는 그렇지 않습니다. 선배. COM/CORBA가 수행했던 것과 동일한 단점을 여전히 겪고 있습니다. 실제로 복잡해질 수 있습니다.

REST가 현재 스타일로 돌아오고 있다고 생각합니다. 그것은 새로운 것은 아니며, 사람들은 단지 다시 한번 살펴보고 있습니다. 웹을보십시오. 그것은 REST이고 몇 년 전부터 있습니다. 5 년 후 지금부터 사람들은 과거를 뒤돌아보고 변화에 대한 필요성과 유산에 관해 똑같이 말합니다. 그것은 소프트웨어 개발의 본질입니다. 모든 것이 순환합니다.

어떤 것이 더 나은지에 대한 토론은 탭 대 공간 토론과 같을 것입니다. 다른쪽에있는 사람들이 더 낫다고 맹세합니다. 결국 결국 그들은 같은 목표를 성취합니다. 물론 어떤 상황에서는 다른 것보다 더 나은 해결책이 될 것이지만, 결국에는 100 %의 시간도 우월하지 않을 것입니다.

2

그렇게 생각합니다. RESTful 솔루션은 대다수의 유스 케이스에 대해 점점 더 유용합니다. SOAP와 다른 RPC 기술의 복잡성은 더 이상 쓸모가 없습니다.

1

우리는 SOAP를 사용하고 있었지만 두 메시징 엔드 포인트 (우리 서버에 연결된 웹에서 두꺼운 클라이언트를 제어 함)를 제어했기 때문에 XML의 "lingua franca"가 실질적인 이점을 제공하지 않는다고 결정했습니다. 대신 Google 프로토콜 버퍼를 통한 바이너리 직렬화를 실험하고 있으며 지금까지 배운 모든 것을 좋아합니다. 그것은 다소 CORBA입니다. 그러나 CORBA가했던 것처럼 심하게 만들지는 않습니다. RPC 레이어에 가장 적합한 것을 아직 찾지 못했지만 페이로드가 프로토콜 버퍼가 될 것입니다.

내가하려는 점은 대화의 양면을 제어하면 XML 세금을 우회 할 때 상당한 효율성 이점이 있다는 것입니다.

0

예, 어떤 사람들 은 여전히 ​​입니다. (그리고 이제는 2011입니다!) 주된 이유는 MS WCF가 자동으로 SOAP 바인딩을 생성한다는 것입니다. 공포.

0

문제가 무엇인지, 즉 문맥이 무엇인지 고려하지 않고 최상의 기술 솔루션이 무엇인지 정의하는 것은 불가능합니다. REST와 SOAP 모두 해당 위치에 있습니다. 트래픽이 많은 사이트와 REST에 익숙한 개발 잠재 고객이있는 경우 SOAP은 나쁜 선택이 될 수 있습니다. 주로 메시지 크기가 너무 커지게됩니다. 소규모 개발 예산을 가진 소규모 사이트가있는 경우 SOAP은 WSDL의 자동 프록시 생성으로 인해 탁월한 선택이 될 것입니다. 공정한 비교를 위해서는 REST 대화를 구현하는 데 더 많은 개발 시간이 필요하므로 더 비싸고 사장님과 매우 관련이있는 사실을 언급해야합니다.

SOAP이 더 복잡한 프로토콜 인 것은 사실이지만 내 경험상이 것은 유지 관리 문제로 해석되지 않습니다. 메시지가 HTTP를 통해 전송되고 REST 메시지처럼 쉽게 디버깅 될 수 있기 때문에 주요 플랫폼에서 사용할 수있는 SOAP 스택은 매우 견고합니다.

요구 사항에 페더레이션 메시지 보안과 같은 정교한 항목이 포함되어 있으면 SOAP의 복잡성이 당연히 이점이됩니다. 반면에 이러한 종류의 요구 사항은 내 경험에 자주 반영되지 않습니다. WS 표준위원회는 일부 YAGNI 문제에 취약했을 수 있습니다. 이제 웹 서비스 통신은 평범한 것이 었습니다. 원래 생각했던 것보다 간단 해졌습니다.