許多人認為 API 是組織訪問雲計算供應商提供的服務的最佳方法。 雲消費者使用 API 作為軟體介面,以各種方式連接和使用資源,但最優或現代的途徑是使用基於 HTTP://www.aliyun.com/zixun/aggregation/14172.html">RESTful 協定的 API。 請繼續閱讀,理解 API 的概念,以及它們在 REST API 和雲計算服務中如何使用。 本文提供了多個用例來演示如何在真實世界中使用此技術。
API 入門
API 是一些軟體介面,它們針對資料處理而優化了應用程式或服務的開發。 開發人員常常通過標頭檔將 API 導入或集成到現有代碼庫中。 但是,隨著 Web 服務的誕生,開發人員開始創建 API,將發佈或使用基於 Web 的服務的能力與協力廠商系統軟體相結合。
隨著技術的不斷成熟,科技公司和職能部門已開始轉移(或者至少已經在嘗試轉移)到面向服務的體系架構 (SOA) 模型。 該模型允許使用物件導向的程式設計語言來開發 Web 服務,開發人員可適當地調用和重用這些服務。 Google Maps API 就是一個基於 Web 的 API 的示例,它允許開發人員在其應用程式或網站中適當地調用和使用此服務。
API 的結構
開發人員需要遵循最佳實踐和標準來正確地開發、發佈和使用 API。 這些最佳實踐和標準依賴于 API 針對的程式設計語言所規定的基本結構,這些語言包括 JAVA™、Microsoft® .NET、Objective-C、JavaScript Object Notation (JSON) 或可擴展標記語言 ( XML)。 圖 1 和圖 2 給出了基於 XML 的 API 的一些示例。
圖 1 是 PAID 的運送 API,它允許組織將此功能捆綁到其電子商務網站中。
圖 1. 用於運送和物流用途的 API(該圖的使用已獲得 AuctionInc 的許可)
圖 2 是 Instra 的 API,它允許組織出於基礎架構用途而直接連接到他們的功能變數名稱註冊商。
圖 2. 用於功能變數名稱託管用途的 API(該圖的使用已獲得 Instra Corporation 的許可)
除了使用的程式設計語言之外,API 還需要考慮服務本身的性質。 換句話說,如果 API 是為用戶端創建的,不是為伺服器端使用而創建的,則需要遵循不同的規則。
無論 API 是為用戶端用途而構建還是為伺服器端用途而構建,開發人員面臨的事實是,構建服務時都需要考慮高性能和安全處理。 用戶端 API 的開發人員會關注應用程式的使用者介面、審美學和外觀。 伺服器端 API 的開發人員要處理原始應用程式的高級功能或服務,考慮功能效用。 無論 API 將用於何處,如今的開發人員都傾向于使用 RESTful API,這源于這些 API 的靈活性和通用性。
REST API
RESTful API 遵循 SOA 模型,因此基於 Web 服務的軟體架構通常會通過 XML 或 JSON 將它用於集成用途。 這意味著,它們被 Internet 瀏覽器或 Web 服務器使用。 前面已經提到過,RESTful API 是一種相對較新的技術,需要開發人員擁有當前的 Web 2.0 技術的全面知識。 因此,許多缺乏更新其技術棧的動力的組織可能無法使用此產品。 可能目前未重視 RESTful API 的組織一定未考慮成為雲消費者。 這些組織可能包括法律事務所、高等教育機構和非營利集團。 但是,RESTful API 已是一個既成事實。
主要的處理和存儲資源已逐漸原理終端設備,從這種意義上講技術已兜了一圈之後又回到了原位,與大型機和啞終端盛行的時期很相像。 這源于全球化、越來越遠端或移動化的員工、無處不在的 Internet 連接,以及 SOA 和 Web 2.0 技術(比如 RESTful API)的成熟。 隨著用於資料處理任務的雲計算通過 API 加入戰團,此趨勢正在接近臨界值。