Concepts
Hệ thống APIM bao gồm các thực thể và thành phần chính làm việc cùng nhau để hỗ trợ quản lý API trong toàn bộ vòng đời. Phần này định nghĩa từng khái niệm, vai trò của nó trong hệ thống và cách nó đóng góp vào việc phát triển, xuất bản và tiêu thụ API.
Quản lý API
Definition: Quản lý API là một người dùng hệ thống chịu trách nhiệm định nghĩa, cấu hình và duy trì các API trong suốt vòng đời của chúng.
System Location: Sử dụng APIM Console cho tất cả các nhiệm vụ cấu hình và quản lý.
Key Responsibilities:
- Phát triển và đăng ký các dịch vụ backend
- Định nghĩa các điểm cuối và thông số kỹ thuật API
- Viết và quản lý tài liệu API
- Cấu hình định tuyến và thực thi chính sách
- Xuất bản API đến các cổng được chỉ định
Người dùng API
Definition: Người dùng API là một nhà phát triển hoặc nhóm ứng dụng tiêu thụ các API được xuất bản trên nền tảng.
System Location: Tương tác với hệ thống thông qua Cổng thông tin Nhà phát triển và các ứng dụng frontend.
Key Responsibilities:
- Truy cập và xem xét tài liệu API
- Yêu cầu quyền truy cập API và thông tin xác thực
- Tích hợp API vào các ứng dụng frontend (Web/Mobile)
- Giám sát việc sử dụng và quản lý token API
Dịch vụ Backend
Definition: Một dịch vụ backend là logic kinh doanh cốt lõi hoặc đơn vị xử lý dữ liệu mà API cung cấp.
System Location: Nằm ngoài hệ thống APIM nhưng được đăng ký và truy cập thông qua nó.
Function:
- Nhận và xử lý các yêu cầu API
- Trả về dữ liệu có cấu trúc hoặc kết quả dịch vụ cho khách hàng thông qua cổng
Ứng dụng Frontend
Definition: Một ứng dụng web hoặc di động hướng tới người tiêu dùng sử dụng API để cung cấp chức năng kinh doanh cho người dùng cuối.
System Location: Được xây dựng và vận hành bên ngoài bởi Người dùng API.
Function:
- Gửi các yêu cầu có cấu trúc đến Cổng API
- Nhận và hiển thị phản hồi API cho người dùng cuối
- Đóng vai trò là giao diện khách hàng cho các tương tác dựa trên API
Cổng API
Definition: Cổng API là một thành phần runtime cốt lõi chịu trách nhiệm thực thi các chính sách, định tuyến lưu lượng và xử lý các cuộc gọi API.
System Location: Được đặt giữa các ứng dụng frontend và các dịch vụ backend.
Key Functions:
- Xác thực và xác minh các yêu cầu API đến
- Áp dụng các chính sách yêu cầu và phản hồi (ví dụ: giới hạn tốc độ, chuyển đổi)
- Định tuyến các yêu cầu đến dịch vụ backend thích hợp
- Hỗ trợ sao chép, khả năng mở rộng và cách ly giữa nhiều dự án
APIM Console (Cổng quản lý API)
Definition: APIM Console là giao diện quản lý chính để quản lý các API, chính sách, cổng và dự án.
Target Users: Người quản lý API, Quản trị viên nền tảng
Key Functions:
- Định nghĩa, đăng ký và xuất bản API
- Cấu hình các chính sách và quy tắc truy cập
- Tạo và quản lý các Cổng API
- Giám sát việc sử dụng API, hiệu suất và nhật ký hệ thống
Cổng thông tin Nhà phát triển
Definition: Cổng thông tin Nhà phát triển là một nền tảng tự phục vụ cho Người dùng API để khám phá, tìm hiểu và truy cập các API đã được xuất bản.
Target Users: Các nhóm nội bộ, nhà phát triển đối tác, người tiêu dùng bên ngoài
Key Functions:
- Duyệt các API và tài liệu có sẵn
- Yêu cầu quyền truy cập API và quản lý thông tin xác thực
- Theo dõi việc sử dụng cá nhân và trạng thái phê duyệt
- Đóng vai trò là giao diện cho sự hợp tác Open API
Cổng Kiểm tra API
Definition: Một công cụ chuyên dụng để kiểm tra các API trong thời gian thực bằng cách sử dụng mô phỏng yêu cầu/phản hồi.
Target Users: Cả Người quản lý API và Người dùng API
Key Functions:
- Gửi các yêu cầu mẫu với các tham số và tiêu đề
- Xác thực tính chính xác chức năng của các API
- Sử dụng các phương pháp xác thực như API Key hoặc Token
- Gỡ lỗi hành vi API trước khi sử dụng trong sản xuất
Cổng Quản lý Thuê bao (Quản lý Người dùng)
Definition: Cổng Quản lý Thuê bao cung cấp khả năng quản lý người dùng và dự án cho các quản trị viên cấp nền tảng.
Target Users: Các quản trị viên cấp hệ thống
Key Functions:
- Tạo và quản lý người dùng và dự án
- Gán vai trò, quyền cho người dùng
- Gán người dùng vào các dự án
API
Definition: Một API (Giao diện lập trình ứng dụng) là đơn vị dịch vụ chính được cung cấp cho người tiêu dùng thông qua nền tảng APIM.
System Location: Được đăng ký và xuất bản trong APIM Console, truy cập thông qua các Cổng
Attributes:
- Được định nghĩa bằng Swagger/OpenAPI
- Kết nối với một dịch vụ backend
- Chịu sự quản lý vòng đời và các chính sách
- Được tiêu thụ bởi các ứng dụng frontend hoặc các hệ thống bên ngoài
Tài liệu API
Definition: Tài liệu kỹ thuật có cấu trúc mô tả cách tiêu thụ một API.
System Location: Được tạo trong APIM Console và xuất bản lên Cổng thông tin Nhà phát triển
Contents Include:
- Mô tả các điểm cuối và phương thức
- Tham số đầu vào và cấu trúc đầu ra
- Các yêu cầu xác thực và ví dụ sử dụng
Chính sách API
Definition: Một Chính sách API là một tập hợp các quy tắc điều chỉnh cách các yêu cầu và phản hồi API được xử lý bởi Cổng API. Những chính sách này kiểm soát quyền truy cập, bảo mật, chuyển đổi dữ liệu và hành vi lưu lượng.
Policy Placement: Các chính sách được áp dụng ở hai giai đoạn khác nhau trong luồng API:
- Inbound Policies (Request Policies): Áp dụng trước khi yêu cầu đến dịch vụ backend. Mục đích:
- Xác thực người gọi (ví dụ: API Key, Token, OAuth)
- Chuyển đổi hoặc tiền xử lý các yêu cầu, chẳng hạn như xác thực tiêu đề, tải trọng hoặc định dạng tham số.
- Áp dụng giới hạn tốc độ và thực thi hạn ngạch
- Thực hiện quyết định định tuyến hoặc làm phong phú tiêu đề
- Outbound Policies (Response Policies): Áp dụng sau khi phản hồi được trả về từ backend nhưng trước khi nó đến tay Người dùng API. Mục đích:
- Che giấu dữ liệu nhạy cảm trong thân phản hồi
- Chuyển đổi định dạng phản hồi (ví dụ: XML sang JSON)
- Thêm hoặc sửa đổi tiêu đề phản hồi
- Ghi lại nội dung phản hồi hoặc mã trạng thái
- Được cấu hình trong APIM Console
- Được thực thi động bởi Cổng API
Khi một Người dùng API gửi một yêu cầu, Cổng đầu tiên áp dụng các chính sách vào để kiểm tra xác thực và tính hợp lệ. Khi yêu cầu được định tuyến đến backend và một phản hồi được tạo ra, các chính sách ra ngoài được áp dụng để đảm bảo phản hồi tuân thủ các yêu cầu về bảo mật, định dạng hoặc ghi nhật ký trước khi nó được trả về cho ứng dụng frontend.
Quản lý Đa Cổng
Definition: Khả năng định nghĩa và vận hành nhiều cổng, với mỗi dự án giới hạn ở một cổng duy nhất.
Purpose and Benefits:
- Cách ly lưu lượng giữa các dự án
- Khả năng mở rộng thông qua các triển khai cụ thể cho tài nguyên
- Hỗ trợ cập nhật cuốn chiếu và kiểm soát sao chép
- Triển khai linh hoạt theo nhóm, phòng ban hoặc thuê bao
Vòng đời API
Definition: Quy trình từ đầu đến cuối của việc tạo, triển khai và vận hành API.
Lifecycle Stages:
- Phát triển dịch vụ backend
- Định nghĩa và tài liệu API
- Tạo cổng và thiết lập chính sách
- Xuất bản API
- Kiểm tra và tích hợp frontend
- Thực thi yêu cầu/phản hồi trong runtime
- Giám sát và kiểm soát phiên bản
Luồng Yêu cầu và Phản hồi API
Definition: Trình tự runtime thực tế mà một cuộc gọi API theo từ người tiêu dùng đến nhà cung cấp và ngược lại.
Flow Steps:
- Ứng dụng frontend gửi yêu cầu đến Cổng API
- Cổng áp dụng các chính sách yêu cầu
- Yêu cầu được định tuyến đến dịch vụ backend
- Phản hồi được tạo ra và trả về
- Cổng áp dụng các chính sách phản hồi
- Phản hồi cuối cùng được gửi đến ứng dụng frontend