Я реализовал REST API и мне очень понравилось. В целом, когда вы реализуете REST поверх SOAP, ваш клиент / сервер становится более ортогональным, что означает, что вы можете намного более свободно менять сервер, не затрагивая ваших клиентов. Эта ортогональность обусловлена использованием более абстрактной и уже четко определенной коммуникации через HTTP-глаголы. Кроме того, использование гиперссылок, встроенных в ваши ответы REST, облегчает расширение и расширение вашего API относительно безболезненно. Предполагается, что клиенты переходят по этим встроенным ссылкам, чтобы получить доступ к новым ресурсам, как если бы человек переходил по ссылкам на веб-странице, чтобы «углубиться» для получения дополнительной информации.
С учетом сказанного у меня было несколько сотрудников, которым сказали, что они должны использовать SOAP, и они постоянно жаловались на это. Так что я начал исследовать два более подробно.
В общем, я обнаружил, что REST хорошо подходит для сильно распределенных приложений , когда у вас есть сотни, тысячи или миллионы клиентов . Одна из причин - вышеупомянутая ортогональность, другая - кеширование, которое вы получаете бесплатно, поскольку используете HTTP.
SOAP может быть более быстрым способом, когда вам нужен более быстрый API для клиента или двух, и вы не слишком беспокоитесь о масштабируемости. Это может также подойти вам лучше, если у вас нет архитектуры, которая структурирована вокруг ресурсов , потому что вам может потребоваться некоторое время, чтобы реструктурировать приложение, чтобы даже иметь возможность реализовать REST.