Có sự khác biệt nào giữa API web và dịch vụ web không? Hay họ là một và giống nhau?
Có sự khác biệt nào giữa API web và dịch vụ web không? Hay họ là một và giống nhau?
Câu trả lời:
Một dịch vụ web thường cung cấp WSDL từ đó bạn có thể tự động tạo ra các ứng dụng khách. Dịch vụ web dựa trên giao thức SOAP . ASP.NET Web API là một khung Microsoft mới hơn giúp bạn xây dựng các giao diện dựa trên REST . Phản hồi có thể là JSON hoặc XML, nhưng không có cách nào để tự động tạo ứng dụng khách vì API Web không cung cấp mô tả dịch vụ như WSDL từ Dịch vụ web. Vì vậy, nó phụ thuộc vào yêu cầu của bạn mà một trong những kỹ thuật bạn muốn sử dụng. Có lẽ ngay cả WCF phù hợp với yêu cầu của bạn tốt hơn, chỉ cần nhìn vào tài liệu MSDN.
Sự khác biệt cơ bản giữa Dịch vụ web và API Web
Dịch vụ web:
1) Đây là một dịch vụ dựa trên SOAP và trả về dữ liệu dưới dạng XML.
2) Nó chỉ hỗ trợ giao thức HTTP.
3) Nó không phải là nguồn mở nhưng có thể được sử dụng bởi bất kỳ khách hàng nào hiểu XML.
5) Nó yêu cầu một giao thức SOAP để nhận và gửi dữ liệu qua mạng, vì vậy nó không phải là một kiến trúc trọng lượng nhẹ.
API web:
1) API Web là một dịch vụ dựa trên HTTP và trả về dữ liệu JSON hoặc XML theo mặc định.
2) Nó hỗ trợ giao thức HTTP.
3) Nó có thể được lưu trữ trong một ứng dụng hoặc IIS.
4) Nó là nguồn mở và nó có thể được sử dụng bởi bất kỳ khách hàng nào hiểu JSON hoặc XML.
5) Nó có kiến trúc trọng lượng nhẹ và tốt cho các thiết bị có băng thông hạn chế, như thiết bị di động.
Chỉ cần dán tóm tắt của bài viết được liên kết:
Tóm lược:
Tất cả các dịch vụ Web là API nhưng tất cả các API không phải là dịch vụ Web.
Các dịch vụ web có thể không thực hiện tất cả các hoạt động mà API sẽ thực hiện.
Một dịch vụ Web chỉ sử dụng ba kiểu sử dụng: SOAP, REST và XML-RPC để liên lạc trong khi API có thể sử dụng bất kỳ kiểu nào để liên lạc.
Dịch vụ web luôn cần một mạng cho hoạt động của nó trong khi API không cần mạng cho hoạt động của nó.
API tạo điều kiện giao tiếp trực tiếp với ứng dụng trong khi dịch vụ Web là ...
Đọc thêm: Sự khác biệt giữa API và dịch vụ web | Sự khác biệt giữa | API so với dịch vụ web http: //www.differenceb between.net/t Technology / internet / default-b between-api-and-web-service / # ixzz3e3WxplAv
Xem liên kết trên để có câu trả lời đầy đủ.
Dịch vụ web nếu bạn muốn là API Web. Cụ thể API Web thường có nghĩa là dịch vụ web RESTful (dựa trên HTTP) và Dịch vụ web thường có nghĩa là SOAP + WSDL (+ HTTP hoặc SMTP hoặc JMS ..).
Về mặt dịch vụ web RESTful trái ngược với Dịch vụ web (WSDL, SOAP) nhưng gần đây, nó đã được giới thiệu thuật ngữ dịch vụ Web RESTful (với chữ hoa 'W') có nghĩa là RESTful + WSDL + SOAP ..
Kiểm tra biểu đồ này để biết sự khác biệt giữa ba khái niệm: http://www2.mokabyte.it/cms/figureproviderservlet?figureId=IUS-6NS-OBV_7f000001_19624184_5621ef4e--Fig02.jpg
Hy vọng nó giúp!
Dịch vụ web hoàn toàn giống với API Web - chỉ bị giới hạn hơn một chút về định dạng dữ liệu cơ bản. Cả hai đều sử dụng giao thức HTTP và cả hai đều cho phép tạo các dịch vụ RESTful. Và đừng quên các giao thức khác như JSON-RPC - có thể chúng phù hợp hơn.
Trong ngữ cảnh của ASP.Net, API Web là Trình điều khiển có lớp cơ sở là ApiControll và không sử dụng Chế độ xem. Dịch vụ web là một lớp có nguồn gốc từ WebService và có thế hệ WSDL tự động. Theo mặc định, nó là một api SOAP, nhưng bạn cũng có thể sử dụng JSON bằng cách thêm ScriptServiceAttribution .
API và dịch vụ web phục vụ như một phương tiện truyền thông.
Sự khác biệt duy nhất là một dịch vụ Web tạo điều kiện cho sự tương tác giữa hai máy qua mạng. API hoạt động như một giao diện giữa hai ứng dụng khác nhau để chúng có thể giao tiếp với nhau . API là một phương thức mà các nhà cung cấp bên thứ ba có thể viết các chương trình có giao diện dễ dàng với các chương trình khác. Dịch vụ web được thiết kế để có giao diện được mô tả theo định dạng có thể xử lý bằng máy thường được chỉ định trong Ngôn ngữ mô tả dịch vụ web (WSDL)
Tất cả các dịch vụ Web là API nhưng không phải tất cả các API đều là dịch vụ Web.
Một dịch vụ web chỉ là một API được bọc trong HTTP.
Bài viết ở đây cung cấp kiến thức tốt về dịch vụ web và API.
Chà, TMK có thể đúng trong thế giới của Microsoft, nhưng trong thế giới của tất cả các phần mềm bao gồm Java / Python / etc, tôi tin rằng không có sự khác biệt. Chúng giống nhau.
/software/38691/difference-b between-web-api-and-web-service
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.
Tất cả các Dịch vụ Web là API nhưng tất cả API không phải là Dịch vụ web, API được hiển thị trên Web được gọi là dịch vụ web.
Hai điều rất đơn giản để hiểu,
Lưu ý: Tất cả Dịch vụ web là API nhưng không phải tất cả API 'là dịch vụ web