Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.

Announcement

Collapse
No announcement yet.

Các loại API

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Các loại API


    🔌 APIs trong hệ thống hiện đại: Giao tiếp, mô tả và quản trị


    Trong thế giới DevOps và kiến trúc hiện đại, APIs đóng vai trò như những điểm tiếp xúc (touchpoints) quan trọng giữa các hệ thống, dịch vụ, microservices và frontend. Việc hiểu rõ các loại API phổ biến, cùng với công nghệ và ngôn ngữ mô tả tương ứng, là nền tảng cho việc thiết kế, tích hợp, bảo mật và giám sát hệ thống hiệu quả.
    1. Các công nghệ API phổ biến hiện nay

    🧱 SOAP (Simple Object Access Protocol)
    • Mô tả: SOAP là một giao thức API dựa trên XML và có tính nghiêm ngặt cao, thường được sử dụng trong các hệ thống kế thừa (legacy).
    • Đặc điểm kỹ thuật:
      • Chỉ hỗ trợ XML.
      • Phụ thuộc vào định nghĩa schema thông qua XSD (XML Schema Definition).
      • Giao tiếp qua HTTP hoặc SMTP.
    • Trường hợp sử dụng: Hệ thống tài chính, nghiệp vụ phức tạp cần tính toàn vẹn và kiểm soát chặt chẽ dữ liệu.
    • 🔗 SOAP W3C Spec
    ⚙️ REST (Representational State Transfer)
    • Mô tả: REST là một phong cách kiến trúc sử dụng các phương thức HTTP (GET, POST, PUT, DELETE...) và thường truyền dữ liệu qua JSON.
    • Lợi ích:
      • Nhẹ hơn SOAP.
      • Dễ tích hợp với các hệ thống frontend hiện đại.
      • Hỗ trợ bởi Swagger/OpenAPI để tạo tài liệu API tự động và tương tác.
    • Trường hợp sử dụng: Microservices, hệ thống web/mobile hiện đại.
    • 🔗 OpenAPI
    🔍 GraphQL
    • Mô tả: Ngôn ngữ truy vấn API mạnh mẽ, cho phép client yêu cầu đúng dữ liệu cần thiết – không thiếu, không thừa.
    • Lợi ích:
      • Truy vấn linh hoạt.
      • Giảm overfetching và underfetching.
      • Phù hợp với ứng dụng có UI phức tạp hoặc dữ liệu phân tán.
    • Trường hợp sử dụng: Dashboard, ứng dụng di động, frontend nhiều widget.
    • 🔗 GraphQL Official

    2. Tài liệu API – Không thể thiếu cho phát triển và bảo mật


    Một trong những lợi thế lớn của các hệ thống API hiện đại là khả năng mô tả chi tiết hành vi, cấu trúc và xác thực dữ liệu. Đây là chìa khóa cho việc phát triển CI/CD pipelines, API security testing (như dùng Postman/Newman, OWASP ZAP), và governance. ✅ OpenAPI/Swagger
    • OpenAPI Specification (OAS) hiện là tiêu chuẩn được chấp nhận rộng rãi nhất.
    • Cho phép tạo mock server, kiểm thử tự động, và validate schema API.
    • 🔗 Swagger
    • 🔗 OAS GitHub
    🧾 WSDL (Web Services Description Language)
    • Dùng cho SOAP APIs.
    • Xây dựng dựa trên XML, mô tả các endpoint, message type, binding, etc.
    • Phổ biến trong hệ thống kế thừa.
    • 🔗 WSDL Primer
    🧩 WADL (Web Application Description Language)
    • XML-based, được sử dụng để mô tả RESTful APIs (dù hiện tại ít dùng hơn Swagger).
    • 🔗 WADL Spec

    3. Khi nào nên dùng gì?
    SOAP Hệ thống kế thừa, dịch vụ tài chính Bảo mật cao, định nghĩa chặt Cồng kềnh, chỉ hỗ trợ XML
    REST Web/mobile apps, microservices Linh hoạt, dễ tích hợp, tài liệu hóa tốt Cần quản lý version, dữ liệu thừa/thếu
    GraphQL UI phức tạp, real-time data Truy vấn linh hoạt, giảm payload Đòi hỏi client phức tạp hơn

    🔐 Lưu ý về bảo mật APIs trong DevOps pipelines
    • Đảm bảo xác thực & phân quyền (OAuth2, JWT, mTLS...).
    • Tắt các endpoint thử nghiệm/mặc định (như /swagger-ui, /actuator).
    • Quét lỗ hổng API tự động bằng các công cụ như OWASP ZAP, Burp Suite, hoặc tích hợp vào CI/CD.
    • Giới hạn tốc độ và IP để ngăn abuse.

    ✨ Kết luận

    Click image for larger version

Name:	API Type.jpg
Views:	3
Size:	218.9 KB
ID:	429627
    Là DevOps, bạn không chỉ triển khai hạ tầng – bạn xây dựng và bảo vệ đường ống truyền thông tin giữa các thành phần. APIs là xương sống của giao tiếp đó. Hãy chọn công nghệ phù hợp, tài liệu hóa tốt và tích hợp bảo mật vào pipeline CI/CD của bạn.
    Đặng Quang Minh, CCIEx2#11897 (Enterprise Infrastructure, Wireless), DEVNET, CCSI#31417

    Email : dangquangminh@vnpro.org
    https://www.facebook.com/groups/vietprofessional/
Working...
X