Để thực sự hiểu cách API có thể được sử dụng để cung cấp dữ liệu và dịch vụ, chúng tôi sẽ xem xét hai tùy chọn để đặt vé máy bay. Tùy chọn đầu tiên sử dụng trang web của một hãng hàng không cụ thể. Sử dụng trang web của hãng hàng không, người dùng nhập thông tin để yêu cầu đặt chỗ. Trang web tương tác trực tiếp với cơ sở dữ liệu riêng của hãng hàng không và cung cấp cho người dùng thông tin phù hợp với yêu cầu của người dùng.
Một trang web du lịch có thể truy cập cùng thông tin này, không chỉ từ một hãng hàng không cụ thể mà nhiều loại hãng hàng không. Trong trường hợp này, người dùng nhập thông tin đặt phòng tương tự. Trang web dịch vụ du lịch tương tác với các cơ sở dữ liệu hàng không khác nhau bằng các API được cung cấp bởi mỗi hãng hàng không. Dịch vụ du lịch sử dụng từng API của hãng hàng không để yêu cầu thông tin từ hãng hàng không cụ thể đó và sau đó nó sẽ hiển thị thông tin từ tất cả các hãng hàng không trên trang web của hãng. API hoạt động như một loại tin nhắn giữa ứng dụng yêu cầu và ứng dụng trên máy chủ cung cấp dữ liệu hoặc dịch vụ. Thông báo từ ứng dụng yêu cầu đến máy chủ nơi lưu trữ dữ liệu được gọi là lệnh gọi API.
Phân loại API:
Sự khác biệt giữa API mở (Open APIs), API nội (Internal APIs) và API cho đối tác (Partner APIs):
Các dịch vụ truy cập API qua web:
Web service là dịch vụ có sẵn qua Internet, sử dụng World Wide Web. Có 4 loại Web service APIs:
SOAP (Simple Object Access Protocol):
Đây là giao thức sử dụng XML làm định dạng để truyền dữ liệu. Chức năng chính của SOAP là xác định cấu trúc của các thông điệp và phương thức giao tiếp.
REST (Representational State Transfer):
REST không phải là một giao thức như các Web service khác mà nó là một tập hợp các nguyên tắc kiến trúc có một số đặc điểm nhất định như là giao diện đơn giản, các tài nguyên được yêu cầu một cách dễ dàng và các thao tác trên tài nguyên thông qua giao diện.
So sánh SOAP and REST:
SOAP
REST
XML-RPC (eXtensible Markup Language-Remote Procedure Call):
Đây là giao thức sử dụng định dạng chung XML để truyền dữ liệu, khác với SOAP sử dụng định dạng riêng biệt XML. XML-RPC sử dụng băng thông tối thiểu và đơn giản hơn nhiều so với SOAP.
JSON-RPC (JavaScript Object Notation-Remote Procedure Call):
Giao thức này tương tự như XML-RPC nhưng thay vì sử dụng định dạng XML để truyền dữ liệu thì JSON-RPC sử dụng định dạng JSON.
So sánh JSON-RPC and XML-RPC :
JSON
XML