Khác biệt giữa API và web service

Khác biệt giữa API và web service
API và web service đều hoạt động với vai trò như là một phương tiện giao tiếp, nhưng giữa chúng vẫn tồn tại những điểm khác biệt nhất định.

API là gì?

API (application programming interface - giao diện lập trình ứng dụng) là một tập hợp bao gồm các phương thức trung gian, tạo điều kiện cho phép hai phần mềm khác nhau có thể tương tác và trao đổi dữ liệu qua lại, mà không cần sự can thiệp từ bất kỳ người dùng nào. 

Một API sẽ bao gồm đầy đủ những thông số kỹ thuật, giúp quá tình tương tác và tích hợp của người dùng được thuận lợi nhất.

Và không phải lúc nào API cũng cần dựa trên web.

Khác biệt giữa API và web service

Web service là gì?

Web service là dạng tài nguyên hoạt động trên cơ sở có mạng và chỉ đơn thuần là một API được gói trong HTTP.

Nó bao gồm các giao thức và tiêu chuẩn mở HTTP/HTTPS, được dùng để liên kết dữ liệu giữa những phần mềm - ứng dụng xây dựng từ nhiều ngôn ngữ lập trình khác nhau.

Mô hình web service được xây dựng trên nền tảng cơ bản là XML HTTP, trong đó có:

  • SOAP: Là giao thức truy cập đối tượng đơn giản.
  • UDDI: Mô tả, xuất bản và tìm kiếm web service toàn cầu.
  • WSDL: Là ngôn ngữ mô tả web service.

Ngoài ra, thiết kế giao diện của web service cũng phải đảm bảo sao cho nó được mô tả ở một định dạng mà máy tính có khả năng xử lý.

Để nâng cao hiệu suất, web service còn có thể được tích hợp với SOA.

Khác biệt giữa API và web service

Khác biệt giữa API và web service

Điểm giống nhau

Cả API và web service đều truy cập thông qua HTTP/HTTPS, cho phép nhà cung cấp cũng như khách hàng giao tiếp qua lại.

Điểm khác nhau

APIWEB SERVICE
Là mã nguồn mở, hoạt động dựa trên XML.Không phải là mã nguồn mở và có khả năng khám phá JSON/XML.
Mọi API đều không phải là web service.Mọi web service đều là API.
Sử dụng bất kỳ chuẩn nào trong quá trình giao tiếp.Sử dụng 03 chuẩn chính (SOAP, REST, XML-RPC) trong quá trình giao tiếp.
Hoạt động được ngay cả khi không có mạng.Hoạt động được chỉ khi có mạng. 
Được lưu trữ trong ứng dụng hoặc IIS.Được lưu trữ trên IIS.
Phù hợp với các thiết bị hạn chế băng thông.Khá nặng, cần SOAP phục vụ cho việc gửi và nhận các dữ liệu mạng.
Đóng vai trò như một giao diện giữa 02 ứng dụng khác nhau để chúng có thể tương tác qua lại.Cho sự tương tác giữa 02 máy qua mạng.

Bên cạnh đó, đôi khi web service cũng không có khả năng thực hiện hết tất cả mọi hành động của một API hoàn chỉnh.

Khác biệt giữa API và web service