Khi bạn tiếp xúc với lập trình viên, có thể bạn đã nghe nói về API và cách chúng có thể được sử dụng để thực hiện một số tác vụ và lấy dữ liệu. Nhưng API thực chất là gì, và tại sao chúng được tạo ra?
1. API là gì?
API là viết tắt của Application Programming Interface (Giao diện lập trình ứng dụng), là cách để các chương trình khác nhau làm việc cùng nhau theo nhiều cách khác nhau.
API không phải là một ngôn ngữ lập trình. Các hàm API tương tự như các hàm thông thường khác.
API đã tồn tại lâu đời, được sử dụng trong nhiều loại ứng dụng và phần mềm khác nhau. Thế hệ API mới nhất – Web API – có thể được dùng cho bất kỳ hệ thống nào (hệ điều hành, cơ sở dữ liệu, hệ thống web, thư viện ứng dụng, ...) thậm chí cả phần cứng máy tính.
Hãy bắt đầu với một ví dụ rất đơn giản, không liên quan đến công nghệ thông tin. Khi bạn đến nhà hàng gọi món, bạn tương tác với nhân viên phục vụ. Bạn có thể gọi món ăn, đồ uống, hỏi về thực đơn, yêu cầu và thanh toán hóa đơn.
Trong ví dụ này, nhân viên phục vụ như một người bảo vệ, một tấm chắn bảo vệ bạn khỏi những thứ phức tạp diễn ra phía sau hậu trường. Bạn không cần phải lo lắng về bếp, lò nướng, bát đĩa, quản lý nguyên liệu hay pha chế đồ uống. Anh ta là giao diện giữa bạn và tất cả các dịch vụ mà nhà hàng cung cấp, cho bạn một cách để giao tiếp với nhà hàng trong khi vẫn được che chắn khỏi sự phức tạp bên trong.
Theo cách đó, nhân viên phục vụ có thể được xem như API của nhà hàng. Và qua ví dụ này, bạn có thể trực quan hiểu được tại sao API lại hữu ích.
2. API hoạt động như thế nào?
Trong ví dụ nhà hàng, nhân viên phục vụ có thể cung cấp cho bạn thông tin về tình trạng đơn hàng mà bạn không cần phải vào bếp.
API về cơ bản là một cánh cửa vào ứng dụng của chúng ta. Qua cánh cửa này, các ứng dụng bên thứ ba có thể truy cập tất cả dữ liệu và tính năng mà chúng ta xây dựng mà không cần chúng ta phải cung cấp mã code riêng.
Giả sử ứng dụng bên ngoài muốn truy cập một số dữ liệu hoặc tính năng chúng ta đã xây dựng. Nó sẽ gửi một yêu cầu API. Yêu cầu API được gửi dưới dạng một thông điệp HTTP đơn giản.
Có một số loại phương thức HTTP phổ biến có thể dùng: Post, Get, Put, Patch, Delete. Các phương thức này tương ứng với các thao tác CRUD: Create (Tạo), Read (Đọc), Update (Cập nhật) và Delete (Xóa).
-
Phương thức Post tạo mới dữ liệu trên ứng dụng web
-
Yêu cầu Get đọc thông tin từ ứng dụng
-
Put cập nhật thông tin trên ứng dụng
-
Patch cũng cập nhật thông tin trên ứng dụng, khác với Put ở chỗ Put thay thế toàn bộ thông tin, Patch chỉ chỉnh sửa một phần
-
Delete xóa thông tin
Trong ví dụ này, chúng ta dùng thông điệp HTTP Get để yêu cầu thông tin.
Sau khi yêu cầu API được gửi đi, ứng dụng sẽ gửi lại phản hồi. Phản hồi thường được gửi về ứng dụng dưới dạng JSON hoặc XML.
Đó là cách API hoạt động ở mức cơ bản. Để hiểu rõ hơn, hãy cùng lấy một ví dụ dễ liên tưởng hơn.
Ví dụ, chúng ta có một ứng dụng thời tiết với mạng lưới các trạm thời tiết lớn trên toàn thế giới. Ứng dụng tùy chỉnh của chúng ta là một ứng dụng di động. Với hầu hết mọi người, việc xây dựng một mạng lưới trạm thời tiết toàn cầu và tổng hợp tất cả thông tin đó gần như là điều không thể. Nhưng đó chính là vẻ đẹp của API. Bất cứ ai cũng có thể tạo một ứng dụng di động rồi sử dụng API để yêu cầu dữ liệu từ ứng dụng thời tiết đã tồn tại. Ứng dụng di động của chúng ta gửi một yêu cầu API Get đến ứng dụng thời tiết. Dưới đây là ví dụ một yêu cầu API dùng Open Weather Map API.
Chúng ta có một URL đơn giản như sau:https://api.openweathermap.org/data/2.5/weather?q={tên thành phố}&appid={API key}
URL này có một số trường. Một trường là nơi ứng dụng nhập tên thành phố, trường còn lại là API key. API key thường được yêu cầu để ứng dụng có thể theo dõi số lượng yêu cầu được gửi và đảm bảo bạn không gửi quá nhiều yêu cầu spam.
Khi ứng dụng nhận được yêu cầu này, nó sẽ phản hồi với dữ liệu được yêu cầu. Chúng ta có thể lập trình ứng dụng di động để nhận thông tin này và hiển thị giao diện người dùng đẹp mắt.
3. Các loại API
Nếu phân loại theo ngành công nghệ thông tin, API có các loại:
3.1. Web API
Loại API rất phổ biến, các website lớn thiết kế các ứng dụng web với hệ thống API để giúp bạn kết nối, lấy hoặc cập nhật dữ liệu. Ví dụ: Facebook, Google cung cấp hệ thống API để kết nối, truy xuất hoặc cập nhật dữ liệu. Hầu hết API web được thiết kế theo chuẩn RESTful, dữ liệu thường ở định dạng JSON, XML hoặc các dạng khác.
3.2. API hệ điều hành
Windows và Linux cung cấp tài liệu API chỉ định các hàm, phương thức, giao thức kết nối, giúp lập trình viên tạo phần mềm tương tác với hệ điều hành.
3.3. API thư viện ứng dụng (framework)
API mô tả và chỉ định các thao tác thư viện cung cấp. API có thể có nhiều cách triển khai khác nhau. API cũng cho phép chương trình viết bằng một ngôn ngữ sử dụng thư viện viết bằng ngôn ngữ khác.
Nếu phân loại theo quyền truy cập, API chia thành:
3.4. Open API
Công khai, truy cập không giới hạn.
3.5. Partner API
Cần cấp quyền hoặc giấy phép đặc biệt để truy cập.
3.6. Internal API
Chỉ dùng cho hệ thống nội bộ (công ty, tổ chức). Các nhóm phát triển nội bộ dùng để cải tiến sản phẩm hoặc dịch vụ dành riêng cho nhân viên.
4. Các giao thức và kiến trúc API
4.1. REST (RESTful API)
Viết tắt của Representational State Transfer, truyền dữ liệu bằng định dạng JSON nhẹ. Phần lớn API công khai sử dụng REST vì hiệu năng nhanh, đáng tin cậy và dễ mở rộng.
4.2. SOAP (Simple Object Access Protocol)
Có từ cuối những năm 1990, dùng XML để truyền dữ liệu, yêu cầu quy tắc nghiêm ngặt và bảo mật cao nên dùng băng thông lớn hơn. Không có khả năng cache, yêu cầu truyền thông nghiêm ngặt.
4.3. XML-RPC (Extensible Markup Language - Remote Procedure Calls)
Dùng XML cụ thể để client gửi yêu cầu HTTP đến server thực thi XML-RPC và nhận phản hồi HTTP.
4.4. JSON-RPC
Tương tự XML-RPC nhưng dùng JSON thay vì XML, client gọi một phương thức từ xa trên hệ thống.
5. Kết luận
Tổng quan, API là công cụ quan trọng với doanh nghiệp nhiều ngành nghề. API giúp công ty mở rộng quy mô, thúc đẩy đổi mới sáng tạo, tiếp cận khách hàng rộng hơn. Như Forbes nói, “Thắng hay thua phụ thuộc vào khả năng kết nối với các ứng dụng, thiết bị và dịch vụ bên ngoài,” và từ góc độ kỹ thuật, API giúp điều đó xảy ra.
Như đã thấy, API đang thúc đẩy làn sóng đổi mới tập trung vào dịch vụ chia sẻ. Phần mềm Hidemyacc có Open API được công bố trên internet và chia sẻ miễn phí, cho phép chủ sở hữu dịch vụ truy cập mạng mở quyền truy cập toàn cầu cho người dùng.
Tải Hidemyacc và bắt đầu dùng thử 7 ngày ngay!
Nếu bạn có câu hỏi, bình luận hay góp ý, vui lòng liên hệ qua Telegram, Skype hoặc Facebook Messenger để được hỗ trợ.