STACKJAVA

Web service là gì? So sánh RESTful với SOAP (rest và soap)

Web service là gì? So sánh RESTful với SOAP (rest và soap)

Có khá nhiều cách định nghĩa khác nhau về web service, do nó được định nghĩa bởi nhiều tổ chức khác nhau và một phần là do đã trải qua thay đổi khá nhiều.

Web Service là gì?

Web Serice là 1 ứng dụng client server giao tiếp với nhau qua giao tiếp HTTP/HTTPS.

Web Service cung cấp 1 chuẩn giao tiếp chung giữa các nền tảng, framework, ứng dụng…

Khi sử dụng web service ta chỉ quan tâm đầu vào là gì và đầu ra là gì mà không cần quan tâm tới hệ điều hành, ngôn ngữ lập trình… của ứng dụng gửi yêu cầu là gì.

Ví dụ:

Ứng dụng A cung cấp chức năng lấy thông tin của 1 user qua url là “stackjava.com/user/id“,

Đầu vào là id của user, đầu ra là thông tin của user đó.

Bây giờ ta có một ứng dụng trên mobile, trên web, trên desktop đều muốn lấy thông tin user thì chỉ cần gửi request tới ứng dụng A kèm theo id của user muốn lấy thông tin.

Ứng dụng A sẽ nhận id gửi tới và trả về kết quả mà không phân biệt request được gửi từ đâu, viết bằng ngôn ngữ gì.

Rõ ràng việc trao đổi dữ liệu giữa ứng dụng A với các ứng dụng khác không phụ thuộc vào ngôn ngữ hay môi trường,

So sánh SOAP với RESTful

SOAP (stands for Simple Object Access Protocol) và RESTful (REpresentational State Transfer) là 2 kiểu thực hiện web service khác nhau.

Sự khác nhau cơ bản giữa SOAP và RESTful là:

(Về chi tiết hoạt động của SOAP và RESTful thì mình sẽ giới thiệu trong từng bài riêng)

Code ví dụ tạo RESTful Web Service với Spring MVC

Web service là gì? So sánh RESTful với SOAP (rest và soap)

References:

https://docs.oracle.com/javaee/6/tutorial/doc/bnayk.html

https://en.wikipedia.org/wiki/Web_service

https://www.ibm.com/support/knowledge,….definition.html