API là từ viết tắt của Application Programming Interface, là một phần mềm trung gian cho phép hai ứng dụng nói chuyện với nhau. Mỗi khi bạn sử dụng một ứng dụng như Facebook, gửi tin nhắn tức thì hoặc kiểm tra thời tiết trên điện thoại của mình, bạn đang sử dụng một API.
Ví dụ về API
Khi bạn sử dụng một ứng dụng trên điện thoại di động của mình, ứng dụng đó sẽ kết nối với Internet và gửi dữ liệu đến máy chủ. Sau đó, máy chủ lấy dữ liệu đó, diễn giải nó, thực hiện các hành động cần thiết và gửi lại cho điện thoại của bạn. Sau đó, ứng dụng sẽ diễn giải dữ liệu đó và trình bày cho bạn thông tin bạn muốn theo cách có thể đọc được. Đây là API là gì - tất cả điều này xảy ra thông qua API.
Để giải thích điều này rõ hơn, chúng ta hãy lấy một ví dụ quen thuộc.
Hãy tưởng tượng bạn đang ngồi trên bàn trong một nhà hàng với thực đơn có nhiều lựa chọn để gọi món. Nhà bếp là một phần của “hệ thống” sẽ chuẩn bị món ăn của bạn. Điều còn thiếu là liên kết quan trọng để thông báo đơn đặt hàng của bạn đến nhà bếp và giao thức ăn trở lại bàn của bạn. Đó là nơi người phục vụ hoặc API đến. Người phục vụ là người đưa tin - hoặc API - nhận yêu cầu hoặc đơn đặt hàng của bạn và cho nhà bếp - hệ thống - phải làm gì. Sau đó, người phục vụ gửi phản hồi lại cho bạn; trong trường hợp này, nó là thức ăn.
Đây là một ví dụ về API ngoài đời thực. Bạn có thể quen thuộc với quá trình tìm kiếm chuyến bay trực tuyến. Cũng giống như nhà hàng, bạn có nhiều lựa chọn để lựa chọn, bao gồm các thành phố khác nhau, ngày đi và về, v.v. Hãy tưởng tượng rằng bạn đang đặt vé cho chuyến bay trên trang web của một hãng hàng không. Bạn chọn ngày và thành phố khởi hành, ngày và thành phố trở về, hạng khoang, cũng như các biến số khác. Để đặt chuyến bay, bạn tương tác với trang web của hãng hàng không để truy cập vào cơ sở dữ liệu của họ và xem liệu có chỗ nào còn trống vào những ngày đó hay không và chi phí có thể là bao nhiêu.
Tuy nhiên, nếu bạn không sử dụng trang web của hãng hàng không –– một kênh có quyền truy cập trực tiếp vào thông tin thì sao? Điều gì sẽ xảy ra nếu bạn đang sử dụng một dịch vụ du lịch trực tuyến, chẳng hạn như Kayak hoặc Expedia, dịch vụ tổng hợp thông tin từ một số cơ sở dữ liệu hàng không?
Trong trường hợp này, dịch vụ du lịch tương tác với API của hãng hàng không. API là giao diện, giống như người phục vụ hữu ích của bạn, có thể được dịch vụ du lịch trực tuyến đó yêu cầu lấy thông tin từ cơ sở dữ liệu của hãng hàng không để đặt chỗ, tùy chọn hành lý, v.v. Sau đó, API sẽ nhận phản hồi của hãng hàng không đối với yêu cầu của bạn và cung cấp ngay quay lại dịch vụ du lịch trực tuyến, sau đó sẽ hiển thị cho bạn thông tin cập nhật nhất, có liên quan.
API cung cấp một lớp bảo mật
Dữ liệu điện thoại của bạn không bao giờ được hiển thị hoàn toàn với máy chủ và tương tự như vậy, máy chủ sẽ không bao giờ được hiển thị hoàn toàn với điện thoại của bạn. Thay vào đó, mỗi người giao tiếp với các gói dữ liệu nhỏ, chỉ chia sẻ những thứ cần thiết — như đặt hàng mang về. Bạn nói cho nhà hàng biết bạn muốn ăn gì, họ cho bạn biết họ cần gì để đáp lại và cuối cùng, bạn sẽ có được bữa ăn của mình.
API đã trở nên có giá trị đến mức chúng chiếm một phần lớn doanh thu của nhiều doanh nghiệp. Các công ty lớn như Google, eBay, Salesforce.com, Amazon và Expedia chỉ là một số công ty kiếm tiền từ API của họ. Những gì “nền kinh tế API” đề cập đến là thị trường này của các API.
API hiện đại
Trong những năm qua, “API” thường được mô tả bất kỳ loại giao diện kết nối chung nào với một ứng dụng. Tuy nhiên, gần đây hơn, API hiện đại đã mang một số đặc điểm khiến chúng trở nên vô cùng hữu ích và có giá trị:
Các API hiện đại tuân thủ các tiêu chuẩn (thường là HTTP và REST), thân thiện với nhà phát triển, dễ dàng truy cập và hiểu rộng
Chúng được đối xử giống như sản phẩm hơn là mã. Chúng được thiết kế để sử dụng cho các đối tượng cụ thể (ví dụ: nhà phát triển thiết bị di động), chúng được ghi lại và được tạo phiên bản theo cách mà người dùng có thể có những kỳ vọng nhất định về bảo trì và vòng đời của nó.
Bởi vì chúng được tiêu chuẩn hóa hơn nhiều, chúng có kỷ luật mạnh mẽ hơn nhiều về bảo mật và quản trị, cũng như được giám sát và quản lý về hiệu suất và quy mô
Như bất kỳ phần mềm sản xuất nào khác, API hiện đại có vòng đời phát triển phần mềm (SDLC) của riêng nó là thiết kế, thử nghiệm, xây dựng, quản lý và lập phiên bản. Ngoài ra, các API hiện đại cũng được lập thành tài liệu để sử dụng và lập phiên bản.