Tôi đã triển khai API REST trước đây và tôi thực sự thích nó. Nói chung khi bạn triển khai REST qua SOAP, máy khách / máy chủ của bạn có nghĩa trực giao hơn , bạn có thể tự do thay đổi máy chủ nhiều hơn mà không ảnh hưởng đến (các) máy khách của bạn. Tính trực giao này là do sử dụng một giao tiếp trừu tượng hơn và đã được xác định rõ hơn thông qua các động từ HTTP. Ngoài ra, việc sử dụng các siêu liên kết được nhúng trong các phản hồi REST của bạn giúp mở rộng và phát triển API của bạn tương đối dễ dàng hơn. Khách hàng phải theo các liên kết được nhúng này để đến các tài nguyên mới như con người sẽ theo các liên kết trên trang web để 'đi sâu vào' để biết thêm thông tin.
Như đã nói, tôi đã có một số đồng nghiệp được thông báo rằng họ phải sử dụng SOAP và họ đã phàn nàn về điều đó mọi lúc. Vì vậy, tôi đã đi vào nghiên cứu hai chi tiết hơn một chút.
Nói chung những gì tôi thấy là REST rất phù hợp cho các ứng dụng phân tán cao , khi bạn có hàng trăm, hàng ngàn hoặc hàng triệu khách hàng . Một lý do là tính trực giao được đề cập ở trên, một lý do khác là bộ nhớ đệm mà bạn nhận được miễn phí vì bạn đang sử dụng HTTP.
SOAP có thể là cách nhanh hơn để đi khi bạn cần một API nhỏ hơn cho một hoặc hai khách hàng một cách nhanh chóng và bạn không quá lo lắng về khả năng mở rộng. Nó cũng có thể phù hợp với bạn hơn nếu bạn không có kiến trúc được cấu trúc xung quanh các tài nguyên , bởi vì có thể bạn sẽ mất một thời gian để cơ cấu lại ứng dụng của mình để thậm chí có thể triển khai REST.