Sự khác biệt giữa API web và dịch vụ web là gì?


136

Có sự khác biệt nào giữa API webdịch vụ web không? Hay họ là một và giống nhau?




3
API là giao diện được xuất bản, trong khi dịch vụ là triển khai đang chạy trong phần phụ trợ.
Rasika Perera

1
Xin vui lòng đọc câu trả lời một cách thận trọng. Một số trong số chúng đã lỗi thời hoặc không hợp lệ
Menuka Ishan

chỉ cần thêm một lời giải thích tuyệt vời nữa - quora.com/What-is-the-difference-b between
Ashish Shetkar

Câu trả lời:


71

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.


7
Các dịch vụ web KHÔNG nhất thiết phải dựa trên giao thức SOAP.
horcrux

3
câu trả lời lỗi thời về mặt kỹ thuật
Arun Raaj

4
"ASP.NET Web API" là một khung Microsoft, không phải là "API Web".
Amir Hossein Ahmadi

câu trả lời đã lỗi thời, hãy truy cập liên kết này microsoft-techies.blogspot.com/2014/03/ từ
Ganesh Karewad

41

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.


7
Một dịch vụ web có thể được lưu trữ ở nhiều nơi, không chỉ IIS
Ignacio Soler Garcia

3
Thực tế tất cả các điểm đều sai. Tôi không thể hiểu làm thế nào 40 người dùng có thể bỏ phiếu.
horcrux

1
@horcrux Tôi đồng ý. Dịch vụ web không cần thiết là dịch vụ dựa trên SOAP.
Ryan Shillington

câu trả lời khó hiểu nhất mà tôi từng thấy.
mhrsalehi

23

API vs dịch vụ web

Chỉ cần dán tóm tắt của bài viết được liên kết:

Tóm lược:

  1. 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.

  2. 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.

  3. 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.

  4. 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ó.

  5. 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 đủ.


10
Nhưng, câu hỏi là về sự khác biệt giữa WebAPI và WebService, không phải là "API"
Kulbhushan Singh

Hơn nữa, điểm 3 là không chính xác. Nó là sai lệch, và nó chỉ giúp làm cho nhầm lẫn về chủ đề "SOAP vs. REST".
horcrux

9

để biết thêm chi tiết truy cập liên kết này Biểu đồ


2
tại sao? Từ hình ảnh này, dường như các dịch vụ web SOAP không thể được sử dụng trên điện thoại thông minh ... hoặc thậm chí trên máy tính để bàn? có thật không? ai đó đang ép bạn đọc JSON thay vì XML trên các nền tảng đó?
AndreaCi

nếu đọc xml, điều đó không có nghĩa là dịch vụ cơ sở SOAP REST cũng hỗ trợ Giá trị phân tách lệnh (CSV), Ký hiệu đối tượng JavaScript (JSON) và Phân phối thực sự đơn giản (RSS).
Adiii

7

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!


4

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.


1
Không "hoàn toàn giống nhau" nếu bây giờ có những hạn chế phải không?
Ojonugwa Jude Ochalifu

0

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 .


0

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.


-2

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.


-2

Sự khác biệt giữa Dịch vụ web và API Web được giải thích độc đáo tại đây:

/software/38691/difference-b between-web-api-and-web-service

Văn bản từ liên kết:

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.


-2

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.


Dịch vụ web là tiêu chuẩn được xác định bởi W3C, dịch vụ được ghi chép tốt cho phần mềm bên thứ 3 để tương tác thông qua XML (WSDL / UDDI). API Web là API qua HTTP, không được ghi chép tốt, có tiêu chuẩn riêng. Và API nói chung là thứ gì đó có thể hoặc không thể truy cập internet để nói chuyện với các ứng dụng khác và cũng có thể có các giao thức khác, ví dụ API cho các cuộc gọi hệ thống để nói về thiết bị đầu cuối / cmd của bạn trong HĐH.
Imam Bux

-3

Hai điều rất đơn giản để hiểu,

  1. API: Đây là một lớp trên ứng dụng có thể phục vụ yêu cầu ứng dụng khác cục bộ.
  2. Dịch vụ web: Là một API có thể phục vụ yêu cầu và phản hồi qua hệ thống từ xa của mạng qua web hoặc internet.

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


Trên địa phương cũng như trên web
Pavan T
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.