Sự khác biệt giữa dịch vụ web và API là gì? Là sự khác biệt nhiều hơn giao thức được sử dụng để truyền dữ liệu? cảm ơn.
Sự khác biệt giữa dịch vụ web và API là gì? Là sự khác biệt nhiều hơn giao thức được sử dụng để truyền dữ liệu? cảm ơn.
Câu trả lời:
API (Giao diện lập trình ứng dụng) là phương tiện để bên thứ ba có thể viết mã có giao diện với mã khác. Dịch vụ web là một loại API, một loại hầu như luôn hoạt động trên HTTP (mặc dù một số, như SOAP, có thể sử dụng các phương tiện vận chuyển thay thế, như SMTP). Các định nghĩa của W3C chính thức đề cập rằng Web Services không nhất thiết sử dụng HTTP, nhưng điều này là hầu như luôn luôn như vậy và thường được giả định trừ nêu khác.
Để biết ví dụ về các dịch vụ web cụ thể, hãy xem SOAP , REST và XML-RPC . Để biết ví dụ về một loại API khác, một loại được viết bằng C để sử dụng trên máy cục bộ, hãy xem API hạt nhân Linux .
Theo như giao thức, API dịch vụ web hầu như luôn sử dụng HTTP (do đó là phần Web) và chắc chắn liên quan đến giao tiếp qua mạng. API nói chung có thể sử dụng bất kỳ phương tiện giao tiếp nào họ muốn. Ví dụ, API kernel của Linux sử dụng Interrupts để gọi các cuộc gọi hệ thống bao gồm API của nó cho các cuộc gọi từ không gian người dùng.
Về cơ bản, dịch vụ web là một phương thức giao tiếp giữa hai máy trong khi API là lớp tiếp xúc cho phép bạn lập trình chống lại thứ gì đó.
Bạn rất có thể có một API và phương thức tương tác chính với API đó là thông qua một dịch vụ web.
Các định nghĩa kỹ thuật (lịch sự của Wikipedia) là:
Giao diện lập trình ứng dụng (API) là một tập hợp các thường trình, cấu trúc dữ liệu, lớp đối tượng và / hoặc giao thức được cung cấp bởi các thư viện và / hoặc các dịch vụ hệ điều hành để hỗ trợ xây dựng các ứng dụng.
Một dịch vụ Web (cũng là Dịch vụ Web) được W3C định nghĩa là "một hệ thống phần mềm được thiết kế để hỗ trợ tương tác giữa máy với máy có thể tương tác qua mạng"
Trong một cảm giác chung một webservice LÀ một API qua HTTP. Họ thường sử dụng JSON hoặc XML, nhưng cũng có một số cách tiếp cận khác.
API là một giao diện được xuất bản xác định cách thành phần A giao tiếp với thành phần B.
Ví dụ: Doubleclick có API Java được xuất bản cho phép người dùng thẩm vấn các bảng cơ sở dữ liệu để lấy thông tin về chiến dịch quảng cáo trực tuyến của họ.
ví dụ: gọi GetNumberClicks (tên người dùng)
Để triển khai API, bạn phải thêm tệp Doubleclick .jar vào đường dẫn lớp. Cuộc gọi là địa phương.
Dịch vụ web là một dạng API trong đó giao diện được xác định bằng phương tiện của WSDL. Điều này cho phép gọi từ xa một giao diện qua HTTP.
Nếu Doubleclick triển khai giao diện của họ dưới dạng dịch vụ web, họ sẽ sử dụng thứ gì đó giống như Axis2 chạy bên trong Tomcat.
Người dùng từ xa sẽ gọi dịch vụ web
ví dụ: gọi GetNumberClicksWebService (tên người dùng)
và dịch vụ GetNumberClicksWebService sẽ gọi GetNumberClicks tại địa phương.
API (Giao diện lập trình ứng dụng), bản thân biểu mẫu đầy đủ gợi ý rằng Giao diện cho phép bạn lập trình cho ứng dụng của mình với sự trợ giúp hoặc hỗ trợ của một số Giao diện ứng dụng khác hiển thị một số chức năng hữu ích cho ứng dụng của bạn.
Ví dụ: hiển thị tỷ giá hối đoái được cập nhật trên trang web của bạn sẽ cần một số Giao diện của bên thứ ba để lập trình trừ khi bạn có kế hoạch để có cơ sở dữ liệu của riêng mình với tỷ giá tiền tệ và cập nhật thường xuyên giống nhau. Nhóm chức năng này là khi đã có sẵn với một số người khác và khi họ muốn chia sẻ nó với những người khác, họ phải có một điểm cuối để liên lạc với những người khác quan tâm đến các tương tác đó để họ triển khai nó trên web bằng phương tiện web- dịch vụ. Điểm cuối này không có gì ngoài giao diện của ứng dụng của họ mà bạn có thể lập trình dựa trên API.
Hãy nghĩ về dịch vụ web như một api web. API là một thuật ngữ chung hiện nay vì vậy một dịch vụ web là một giao diện cho chức năng, thường liên quan đến kinh doanh, mà bạn có thể nhận được từ mạng qua nhiều giao thức khác nhau.
Kiểm tra http://en.wikipedia.org/wiki/Web_service này
Vì liên kết được đề cập sau đó API Web là một sự phát triển trong các dịch vụ Web rất có thể liên quan đến Web 2.0, trong khi các dịch vụ dựa trên SOAP được thay thế bằng truyền thông dựa trên REST. Lưu ý rằng các dịch vụ REST không yêu cầu các định nghĩa API dịch vụ XML, SOAP hoặc WSDL nên điều này khác với dịch vụ web truyền thống.
một ví dụ khác: dịch vụ web google map api vs google direction api, trong khi trước đây phục vụ (cung cấp) tệp javascript cho trang web (sau đó có thể được sử dụng làm api để tạo chức năng mới), sau này là dịch vụ web Rest cung cấp dữ liệu ( ở định dạng json hoặc xml), có thể được xử lý (nhưng không được sử dụng theo nghĩa api).