Thứ Năm, 13 tháng 10, 2016

Căn bản về RESTful Web services

REST định nghĩa các quy tắc kiến trúc để bạn thiết kế Web services chú trọng vào tài
nguyên hệ thống, bao gồm các trạng thái tài nguyên được định dạng như thế nào và được chuyển tải qua HTTP thông qua số lượng lớn người dùng và được viết bởi những ngôn ngữ khác nhau. Nếu tính theo số dịch vụ mạng sử dụng, REST đã nổi lên trong vài năm qua như là một mô hình thiết kế dịch vụ chiếm ưu thế. Trong thực tế, REST đã có những ảnh hưởng lớn và gần như thay thế SOAP và WSDL vì nó đơn giản và dễ sử dụng hơn rất nhiều.
REST là một bộ quy tắc để tạo ra một ứng dụng Web Service, mà nó tuân thủ 4 nguyên tắc thiết kế cơ bản sau:

  1. Sử dụng các phương thức HTTP một cách rõ ràng
  2. Phi trạng thái
  3. Hiển thị cấu trúc thư mục như các URls
  4. Truyền tải JavaScript Object Notation (JSON), XML hoặc cả hai.

Nguyên tắc 1: Sử dụng các phương thức HTTP một cách rõ ràng
Thiết lập một ánh xạ 1-1 giữa các hành động: tạo, đọc, cập nhật và xoá (CRUD) các quá trình vận hành và các phương thức HTTP:



  • POST (HttpPost) – Tạo một tài nguyên trên máy chủ
  • GET (HttpGet) – Truy xuất một tài nguyên
  • PUT (HttpPut) – Thay đổi trạng thái một tài nguyên hoặc để cập nhật nó
  • DELETE (HttpDelete) – Huỷ bỏ hoặc xoá một tài nguyên



Nguyên tắc 2: Phi trạng thái
Ta xem mô hình giữa trạng thái và phi trạng thái để dễ so sánh:
Mô hình phi trạng thái:
h68-2Mô hình trạng thái:
h68-1Nguyên tắc 3: Hiển thị cấu trúc thư mục như URls
Cấu trúc địa chỉ của RESTful service:



  • Giấu các đuôi tài liệu mở rộng của bản gốc trong máy chủ (.jsp, .php, .asp).
  • Để mọi thứ là chữ thường (thực ra là không phân biệt, nhưng cũng nên tuân thủ để khỏi phải nhớ HOA-thường lung tung).
  • Thay thế các khoảng trống bằng gạch chân hoặc gạch nối (một trong hai loại).
  • Tránh các chuỗi yêu cầu.
  • Thay vì sử dụng mã (404 Not Found) khi yêu cầu địa chỉ cho một phần đường dẫn thì luôn luôn cung cấp một trang mặc định hoặc tài nguyên như một phản hồi.



Nguyên tắc 4: Chuyển đổi JavaScript Object Notation (JSON) và XML hoặc cả hai.



 - Là một bản tóm tắt các thuộc tính của những thứ trong mô hình dữ liệu hệ thống.
 - Định dạng dữ liệu mà ứng dụng và trao đổi dịch vụ trong mức đáp ứng yêu cầu/ phản hồi hoặc trong phần thân của HTTP.
 - Các chủ thể trong mô hình dữ liệu có liên quan với nhau.
 - Cấu trúc dịch vụ sao cho nó tận dụng được phần đầu chấp nhận HTTP có sẵn bên trong – một loại MIME



Kết Luận:REST đã nổi lên trong vài năm qua như là một mô hình thiết kế dịch vụ chiếm ưu thế. Trong thực tế, REST đã có những ảnh hưởng lớn và gần như thay thế SOAP và WSDL vì nó đơn giản và dễ sử dụng hơn rất nhiều. Với REST hệ thống không chỉ dễ mở rộng, dễ bảo trì mà còn linh động trong việc cung cấp các kiểu ứng dụng với các dữ liệu khác nhau.



Không có nhận xét nào:

Đăng nhận xét