계산기 서비스는 RESTful 방식으로 모델링하는 것이 간단합니다. "CRUD"의 "R"은 "read"를 의미하며 "read"는 "compute"를 의미 할 수 없습니다. 그래서 간단한 Reverse Polish 계산기 서비스는 GET을 통해 액세스 할 수 있습니다 :
3
4
+ (URL-encoded as %2B)
멱등, 안전하고 캐시 요청의 :
는
GET https://calc.com/rpnCalc?3&4&%2B
7
단순히 위의 URI 방식은 GET 요청에 대한 세 개의 매개 변수를 추가합니다. 이것이 계산에 많은 시간이 소요되는 미친 듯이 복잡한 수학 쿼리 인 경우 이러한 쿼리를 즉시 사용할 수있는 HTTP 프록시로 라우팅하고 동일한 URI를 반복적으로 쿼리해야하는 경우 사전 계산 된 값을 즉시 반환하는 데 사용할 수 있습니다.
수행해야 할 계산의 종류에 따라 매우 복잡한 쿼리를 (요청 본문으로 쿼리를 전달하는) Calculator 리소스에 POST 할 수 있으며 서버가 URI를 "결과"리소스로 반환 할 수 있습니다 그 결과를 가져 와서 페이지를 매길 수 있습니다.
두 번째로 SOAP의 논리가 이미 완전한 의미를 갖는 경우 REST over SOAP를 사용할 때의 진정한 이점은 무엇입니까?
SOAP의 복잡한 부분을 만들지 않고 curl과 같은 명령 줄 도구를 사용하여 위의 계산기 서비스에 액세스 할 수 있습니다. 타사 XML 라이브러리 또는 SOAP 툴킷을 사용하지 않고도 초 단위로 호출을 코딩 할 수 있습니다. HTTP 프록시와 같은 상품 도구를 사용하여 결과를 캐싱하고 성능을 향상시킬 수 있습니다. SOAP 상호 운용성이나 WS-I 호환성에 대해 걱정할 필요가 없습니다. 하이퍼 링크를 올바르게 사용하면 기존 클라이언트에 영향을 미치지 않고 서비스를 향상 시키거나 개선 할 수 있으며 다시 컴파일해야합니다. 버전을 유지할 WSDL이 없으며 몇 년 동안 유지해야하는 약한 계약이 없습니다. 클라이언트는 이미 GET/PUT/POST/DELETE이하는 일을 알고 있으며, 의미를 재정의하거나 다시 문서화 할 필요가 없습니다. XML 대신 JSON을 선호한다고 결정한 API 클라이언트는 HTTP의 내장 된 내용 협상 기능을 사용하여 얻을 수 있습니다. 나는 SOAP와 웹 서비스를 가지고 이러한 것들을 절대적으로 할 수 있습니다.
안녕하세요, SOAP이 필요에 맞는다면 사용해보세요. REST를 사용하면 많은 이점이 있지만 상황에 따라 적절하지 않을 수 있습니다. 최소한 REST가 적절한 책 like this one을 제공 할 수 있는지 알아보고 전체 기사를 얻은 후에 마음을 닦으십시오.
그래서 정확히 무엇이 질문입니까? – paulsm4