최근에 저는 이전 웹 서비스 SOAP/REST 이전 시대를 가져 와서 현재 웹 서비스 "표준"과 동등한 수준으로 끌어 올릴 임무가 주어졌습니다. 그것은 매우 직설적 인 서비스, HTTP (s) POST XML, XML을 매우 메시지 중심의 서비스로 처리합니다.우리는 REST가있는 둥근 구멍에 사각형의 못을 넣으려고하는 개발자입니까?
"웹"서비스에 대한 두 가지 가장 인기있는 옵션은 SOAP과 REST입니다 ... WS- 기술적으로 완벽하게 내 응용 프로그램에 딱 맞는 SOAP 말하기, 그것은 손으로 아주 무거운 느낌이지만
아무도 * 기능은 정말 없습니다 필요합니다. SSL과 간단한 사용자 이름/암호 인증을 수행하는 것이 좋지만 WS - *! @ $ @ $ @ 1 !!! 누가 그것을 필요로합니까?! 글쎄, 적어도 나는 사람들에게 조의를 표한다. (올바른 시나리오에서는 기술이 훌륭하다고 나는 확신한다.)
이제 나는 라이트 웨이트 같아서 REST를 좋아한다. 사실 Jersey와 같이 매우 인기있는 REST 프레임 워크를 사용하고 웹 서비스의 모든 단일 기능을 구현할 수있었습니다. 사실 나는 수천 줄의 코드 줄에서 100 줄의 코드를 결합하기 위해 코드 기반을 줄였습니다. 명백한 많은 수동 작업은 XML을 구문 분석하고 올바른 함수 호출 등으로 매핑하기 위해 기존 서비스에서 수행되고있었습니다.
REST에는 어떤 문제가 있습니까?
높은 수준에서? 정말로 (암소가 집에 올 때까지 앉아서 단점을 주장 할 수는 없습니다.) 그리고이 포스트/질문은 SOAP 대 REST의 화염 전쟁이 아닙니다. 그런데 왜 대부분이 길로 내려 가기로 결정 했습니까?
Jersey와 REST를 사용하여 서비스의 100 %를 구현할 수 있었지만, "REST"의 모든 규칙을 깨뜨릴 수있었습니다. 그것은
- 그것은 이름을 제공하지 않습니다 자원
- 그것은 더 복잡 다음 CRUD
- 모든 것이
- 모두 반환하는 POST 200로 OK
그러나 그것은 환상적으로 작동합니다! :) 그러나 나는 규칙을 어 기고 있습니다 : P
예를 들어, 내 응용 프로그램은 수백 개의 "오류"코드가 있습니다. REST 녀석들은 400 Bad Request에 대한 맵을 말하고 당신의 이유를 몸에 담기를 좋아합니다. 하지만 XML 응답에서 코드를 반환하기 만하면 왜 그런지 말할 수 있습니다. 클라이언트 (개발자)가 왜 하나의 코드를 간단히 파싱 할 수 있는지 혼동하는 이유는 무엇입니까?
SOAP가 무겁고 REST가 CRUD 및 리소스 지향 응용 프로그램에보다 중점을 둔 것처럼 보인다면 경량 웹 서비스에 대한 옵션은 무엇입니까? XMLRPC? 왜 사람들은 REST에 꽂혀 있거나 왜 놓쳤습니까?
즐거움을 시작합시다! :)
+1 - "즐거움을 시작합시다" – IDWMaster
당신이하고있는 일은 전혀 멈추지도 않습니다. "모든 규칙을 어기십시오". 당신은 정말로 HTTP를 사용하고 있습니다. 네가 그걸로 괜찮다면, 그렇게해라. 당신을 위해 일하는 것을 사용하십시오 ... – Pete
누가 REST가 CRUD에 대한 것이 었습니까? –