Я вже реалізував API REST і мені дуже сподобався. Загалом, коли ви реалізуєте REST через SOAP, ваш клієнт / сервер має більше ортогонального значення, тобто ви можете набагато вільніше змінювати сервер, не впливаючи на своїх клієнтів. Ця ортогональність обумовлена використанням більш абстрактного та вже чітко визначеного зв'язку через дієслова HTTP. Крім того, використання гіперпосилань, вбудованих у ваші відповіді REST, полегшує розширення та розширення вашого API відносно безболісно. Клієнти повинні дотримуватися цих вбудованих посилань, щоб дістатися до нових ресурсів, як, наприклад, людина переходитиме до посилань на веб-сторінці, щоб «отримати детальну інформацію» для отримання додаткової інформації.
З урахуванням сказаного, у мене були співробітники, які мені сказали, що вони повинні використовувати SOAP, і вони весь час скаржилися на це. Тому я трохи детальніше розібрався з двома.
Загалом, я виявив, що REST добре підходить для високорозподілених програм , коли у вас є сотні, тисячі або мільйони клієнтів . Одна з причин - вищезазначена ортогональність, інша - кешування, яке ви отримуєте безкоштовно, оскільки ви використовуєте HTTP.
SOAP може бути швидшим шляхом, коли вам потрібен менший API для клієнта або двох швидко, і ви не надто переживаєте про масштабованість. Можливо, вам також краще підійде, якщо у вас немає архітектури, структурованої навколо ресурсів , оскільки це може зайняти певний час, щоб реструктурувати додаток, щоб навіть можна було реалізувати REST.