Tôi đã nghe nhiều về Dịch vụ web và API Web, có sự khác biệt nào giữa chúng hay chúng giống nhau không?
Tôi đã nghe nhiều về Dịch vụ web và API Web, có sự khác biệt nào giữa chúng hay chúng giống nhau không?
Câu trả lời:
Dịch vụ web - đó là tiêu chuẩn được xác định bởi W3C, vì vậy chúng có thể được truy cập bán tự động hoặc tự động (WSDL / UDDI). Toàn bộ điều này dựa trên XML, vì vậy bất cứ ai cũng có thể gọi nó. Và mọi khía cạnh của dịch vụ được xác định rất rõ. Có tiêu chuẩn mô tả tham số, tiêu chuẩn truyền tham số, tiêu chuẩn phản hồi, tiêu chuẩn khám phá, v.v. Bạn có thể viết cuốn sách 2000 trang mô tả tiêu chuẩn. Thậm chí còn có một số tiêu chuẩn "bổ sung" để thực hiện những điều "tiêu chuẩn", như xác thực.
Mặc dù thực tế là việc gọi và khám phá tự động hầu như không hoạt động vì khách hàng khá kém và bạn không có gì đảm bảo thực sự rằng bất kỳ dịch vụ nào cũng có thể được gọi từ bất kỳ khách hàng nào.
API Web thường được thực hiện dưới dạng HTTP / REST, không có gì được xác định, đầu ra có thể là ví dụ. JSON / XML, đầu vào có thể là XML / JSON / hoặc dữ liệu đơn giản. Không có tiêu chuẩn cho bất cứ điều gì => không có cuộc gọi và khám phá tự động. Bạn có thể cung cấp một số mô tả trong tệp văn bản hoặc PDF, bạn có thể trả lại dữ liệu trong Windows-1250 thay vì unicode, v.v. Để mô tả tiêu chuẩn, đó là tài liệu 2 trang với một số thông tin đơn giản và bạn sẽ xác định mọi thứ khác.
Web đang chuyển sang API Web / REST. Dịch vụ web thực sự không tốt hơn API Web. Rất phức tạp để phát triển và chúng ăn nhiều tài nguyên hơn (băng thông và RAM) ... và vì tất cả các chuyển đổi dữ liệu (REQUEST-> XML-> DATA-> RESPONSE-> XML-> VALIDATION-> CONVERSION-> DATA) chậm
Ví dụ. Trong WebAPI, bạn có thể đóng gói dữ liệu, gửi dữ liệu được nén và giải nén + hủy gói trên máy khách. Trong SOAP bạn chỉ có thể nén yêu cầu HTML.
Một dịch vụ web cho phép máy liên lạc với máy qua HTTP. API web là tập hợp con của các dịch vụ web sử dụng các quy ước REST (Tóm tắt bài viết Wikipedia ). Các khái niệm chắc chắn chồng chéo. Tôi tin rằng vẫn còn một liên kết trong suy nghĩ của hầu hết mọi người về dịch vụ web -> SOAP / XML-RPC có thể gây nhầm lẫn một cách không cần thiết.
Cuối cùng, bạn sẽ phải hỏi một vài câu hỏi để làm rõ ý nghĩa của mọi người. Không phải ai cũng phân biệt hoặc sử dụng các thuật ngữ thay thế cho nhau.
Các dịch vụ web là một kiến trúc và cách tiếp cận được xác định đối với một miền có vấn đề như được W3C nêu .
Các dịch vụ web cung cấp một phương tiện tiêu chuẩn để tương tác giữa các ứng dụng phần mềm khác nhau, chạy trên nhiều nền tảng và / hoặc khung khác nhau
API Web là một khái niệm và tóm tắt các phương tiện về cách triển khai khái niệm này.
Theo thuật ngữ của cư sĩ ... API web là dành cho động cơ trong khi WS dành cho BMW N53 .