DMCA.com Protection Status

So sánh API với Web Service  quan tâm

Được viết bởi: KNV

Cập nhật lúc 11:11 ngày 26/08/2018

So sánh API với Web Service

 

API là là một giao diện mà một hệ thống máy tính hay ứng dụng cung cấp để cho phép các yêu cầu dịch vụ có thể được tạo ra từ các chương trình máy tính khác, và/hoặc cho phép dữ liệu có thể được trao đổi qua lại giữa chúng. Chẳng hạn, một chương trình máy tính có thể (và thường là phải) dùng các hàm API của hệ điều hành để xin cấp phát bộ nhớ và truy xuất tập tin. Nhiều loại hệ thống và ứng dụng hiện thực API, như các hệ thống đồ họa, cơ sở dữ liệu, mạng, dịch vụ web, và ngay cả một số trò chơi máy tính. Đây là phần mềm hệ thống cung cấp đầy đủ các chức năng và các tài nguyên mà các lập trình viên có thể rút ra từ đó để tạo nên các tính năng giao tiếp người- máy như: các trình đơn kéo xuống, tên lệnh, hộp hội thoại, lệnh bàn phím và các cửa sổ. Một trình ứng dụng có thể sử dụng nó để yêu cầu và thi hành các dịch vụ cấp thấp do hệ điều hành của máy tính thực hiện. Hệ giao tiếp lập trình ứng dụng giúp ích rất nhiều cho người sử dụng vì nó cho phép tiết kiệm được nhiều thời gian tìm hiểu các chương trình mới, do đó khích lệ mọi người dùng nhiều ứng dụng hơn.

Web Service là một khái niệm rộng hơn so với khái niệm web thông thường. Nó là sự kết hợp các máy tính cá nhân với các thiết bị khác, các cơ sở dữ liệu và các mạng máy tính để tạo thành một cơ cấu tính toán ảo mà người sử dụng có thể làm việc thông qua các trình duyệt mạng. Các Web Service thường cung cấp các dữ liệu thô mà nó khó hiểu đối với đa số người dùng thông thường, chúng thường được trả về dưới dạng XML hoặc JSON. Hiện nay, web service trở thành dịch vụ mạnh mẽ, cung cấp lợi ích cho cả doanh nghiepj, khách hàng, cá nhân, trong nhiều lĩnh vực thực tế: thông tin thương mại, dịch vụ du lịch, tỉ giá, chứng khoán...

API và Web Service hoạt động như một phương tiện giao tiếp. Sự khác biệt duy nhất là một Web Service là tạo điều kiện cho sự tương tác giữa hai máy trên 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à phương thức tạo điều kiện cho các nhà cung cấp bên thứ ba có thể viết các chương trình giao diện dễ dàng giao tiếp với các chương trình khác. Một Web Service được thiết kế để có một giao diện được mô tả trong một đị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). Thông thường, "HTTP" là giao thức được sử dụng phổ biến nhất để giao tiếp. Web Service cũng sử dụng SOAP, REST và XML-RPC như một phương tiện giao tiếp. API có thể sử dụng bất kỳ phương tiện giao tiếp nào để bắt đầu tương tác giữa các ứng dụng. Ví dụ, các lời gọi hệ thống được gọi bằng cách sử dụng các ngắt chương trình (interrupt) của API hạt nhân Linux.

Một API xác định chính xác các phương thức cho một chương trình phần mềm để tương tác với một chương trình phần mềm khác. Khi hành động này (API) liên quan đến việc gửi dữ liệu qua mạng, thì đó chính là bạn đã sử dụng một Web Service. Một API thường liên quan đến các chức năng gọi từ bên trong một chương trình phần mềm.

Trong trường hợp các ứng dụng Web, API được sử dụng là dựa trên web. Các ứng dụng dành cho máy tính để bàn như bảng tính và tài liệu từ sử dụng VBA và API dựa trên COM không liên quan đến Web Service. Một ứng dụng máy chủ như Joomla có thể sử dụng một API dựa trên nền PHP trong máy chủ không yêu cầu Web Service.

Một Web Service chỉ đơn thuần là một API được bao bọc trong HTTP. API không phải lúc nào cũng cần dựa trên web. Một API bao gồm một bộ đầy đủ các quy tắc và thông số kỹ thuật cho một chương trình phần mềm làm theo để tạo điều kiện tương tác. Web Service có thể không chứa một bộ thông số kỹ thuật hoàn chỉnh và đôi khi có thể không thực hiện được tất cả các tác vụ có thể thực hiện được từ API hoàn chỉnh.

 

Các API có thể được hiển thị theo một số cách bao gồm: các đối tượng COM, các tệp DLL và .H trong ngôn ngữ lập trình C / C ++, các tệp JAR hoặc RMI trong Java, XML qua HTTP, JSON qua HTTP, vv. dịch vụ để lộ API hoàn toàn thông qua mạng.

Tóm lược:

1. Tất cả các Web Service là các API nhưng tất cả các API không phải là các dịch vụ Web.

2. Các Web Service có thể không thực hiện tất cả các hoạt động mà một API sẽ thực hiện.

3. Web Service chỉ sử dụng ba kiểu sử dụng: SOAP, REST và XML-RPC cho giao tiếp trong khi API có thể sử dụng bất kỳ kiểu giao tiếp nào.

4. Web Service luôn cần mạng (network) để hoạt động trong khi API không cần.

5. Một API tạo điều kiện giao tiếp trực tiếp với một ứng dụng.

6. Web service hỗ trợ truyền dữ liệu qua định dạng XML trong khi API hỗ trợ cả XML và JSON.