• If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.
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.

Tổng quan về APIs (Application Programming Interface)

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

  • Tổng quan về APIs (Application Programming Interface)

    Khái niệm về API
    • API cho phép truy câp dữ liệu hoặc dịch vụ giữa các ứng dụng khác nhau. Đó là một bộ các quy tắc mô tả cách một ứng dụng có thể tương tác với ứng dụng khác và các hướng dẫn để cho phép tương tác xảy ra.
    • Người sử dụng gửi API request đến server yêu cầu thông tin và nhận được API response từ server cùng với thông tin được yêu cầu.
    Ví dụ:
    • API tương tự như người phục vụ trong nhà hàng.
    ​​​
    Click image for larger version  Name:	image.png Views:	0 Size:	30.6 KB ID:	427331




    Để 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 ta 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.

    Click image for larger version  Name:	image.png Views:	0 Size:	24.9 KB ID:	427326





    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.

    Click image for larger version  Name:	image.png Views:	0 Size:	31.9 KB ID:	427330




    Phân loại API
    Sự khác biệt giữa Open APIs, Internal APIs và Partner APIs:
    • Open APIs hay Public APIs: Các API này có sẵn công khai và có thể được sử dụng không bị hạn chế. Vì các API này công khai nên nhiều nhà cung cấp API yêu cầu người sử dụng nhận khóa hoặc mã thông báo trước khi sử dụng nhằm giúp kiểm soát số lượng yêu cầu API mà họ nhận được và xử lý.
    • Internal APIs: Đây là các API được sử dụng bởi một tổ chức hoặc công ty để truy cập dữ liệu và dịch vụ nội bộ.
    • Partner APIs: Đây là các API được sử dụng giữa một tổ chức hoặc công ty với đối tác để tạo thuận lợi cho việc kinh doanh giữa họ. Đối tác kinh doanh phải có giấy phép hoặc được sự cho phép để sử dụng API này.

    Các loại Web service APIs:
    Web service là dịch vụ có sẵn qua Internet, sử dụng World Wide Web. Có 4 loại Web service APIs:
    • Simple Object Access Protocol (SOAP)
    • Representational State Transfer (REST)
    • eXtensible Markup Language-Remote Procedure Call (XML-RPC)
    • JavaScript Object Notation-Remote Procedure Call (JSON-RPC)

    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ư:
    • Giao diện đơn giản.
    • Các tài nguyên được yêu cầu một cách dễ dàng.
    • Các thao tác trên tài nguyên thông qua giao diện.

    So sánh SOAP and REST

    SOAP
    • Tuân theo các quy tắt nghiêm ngặt và bảo mật tiên tiến.
    • Được điều khiển bởi hàm chức năng function.
    • Đòi hỏi nhiều băng thông.
    REST
    • Tuân theo những hướng dẫn không chặt chẻ, cho phép các nhà phát triển đưa ra khuyến nghị dễ dàng.
    • Được điều khiển bởi dữ liệu data.
    • Đòi hỏi băng thông tối thiểu.

    XML-RPC (eXtensible Markup Language-Remote Procedure Call):
    Đây là giao thức sử dụng định dạng XML để truyền dữ liệu, khác với SOAP sử dụng định dạng proprietary XML. XML-RPC sử dụng bang 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
    • Chỉ hỗ trợ text và numbers
    • Tập trung chủ yếu vào Data
    • Bảo mật thấp
    XML
    • Hỗ trợ các loại dữ liệu khác nhau như là text, numbers, images, charts, …
    • Tập trung chủ yếu vào Document
    • Bảo mật tốt
    Click image for larger version  Name:	image.png Views:	0 Size:	28.0 KB ID:	427332









    Email : vnpro@vnpro.org
    ---------------------------------------------------------------------------------------------------------------
Trung Tâm Tin Học VnPro
149/1D Ung Văn Khiêm P25 Q.Bình thạnh TPHCM
Tel : (08) 35124257 (5 lines)
Fax: (08) 35124314

Home page: http://www.vnpro.vn
Support Forum: http://www.vnpro.org
- Chuyên đào tạo quản trị mạng và hạ tầng Internet
- Phát hành sách chuyên môn
- Tư vấn và tuyển dụng nhân sự IT
- Tư vấn thiết kế và hỗ trợ kỹ thuật hệ thống mạng

Network channel: http://www.dancisco.com
Blog: http://www.vnpro.org/blog
Working...
X