대화식 브라우저 이외의 것으로 구동되는 REST 인터페이스의 상태는 그리 좋지 않습니다. HATEOAS는 좋은 원칙이지만, 매우 강인한 사람들을 지향하는 인터페이스로 연결되며 서비스 개발자에게 서비스를 제공하는 사용자 인터페이스의 부담을 초래하는 경향이 있습니다.
WADL 자체는 그리 크지 않습니다. 실제로 서비스의 의미를 충분히 포착하지 못하여 도구를 만들 수 있습니다. 물론 이것은 일반적으로 어려운 문제입니다. WSDL은 충분한 정보를 거의 공개하지 않으며 문제에 더 많은 노력을 기울였습니다 (충분한 정보를 첨부 할 수는 있지만 실제로는 거의하지 않습니다).
그러나 동료 직원이 서비스에 대한 REST 인터페이스를 사용하는 라이브러리에서 몇 달을 보냈으며 동일한 서비스에 대한 WSDL 설명 인터페이스 [*] 는 몇 초 안에 거의 동일한 품질로 자동 툴링되었습니다. 나머지 길을가는 것은 랩핑 수업을 쓰는 날이었습니다. 제한된 크기의 샘플을 기반으로 한 나의 직감은 복잡한 서비스에서 모든 취성을 제거 할 수 없다는 것입니다. 서비스의 의미는 시간이 지남에 따라 필연적으로 진화하고 REST는 인간을위한 인터페이스를 구동하는 데 더 좋고 SOAP은 더 좋습니다. 인터페이스 라이브러리 (거의 모든 언어에 적합한 WSDL / SOAP 클라이언트 툴링이 있음). 두 가지를 모두 수행 할 수있는 고급 스러움이 없다면 가장 집중해야 할 클라이언트에 따라 중점을 두어야합니다.
WADL에 많은 노력을 기울이지 않았지만 REST 프레임 워크가 당신을 위해 그것을 만들면 (Apache CXF가 이것을 수행) 그것을 제공하지 않을 특별한 이유는 없습니다. 코드를 제거하려는 사람은 누구나 WSDL + SOAP을 원할 것입니다.
[*] 문제의 서비스 작성자로서, 두 인터페이스가 동일한 작업을 지원했으며 (공통 기본 추상 모델이 있음) 두 인터페이스 유형 모두에 대해 "자연적인"스타일을 가지고 있다고 말할 수 있습니다. 서비스 측면에서는 REST를 사용하는 것이 쉽고 SOAP을 사용하는 것이 더 쉬운 경우가 분명했습니다.