什么是API,以及API是如何工作的?
API是我們數字世界的關鍵組成部分,每天每分鐘都能實現數十億次數字體驗。
API代表應用程序編程接口,它是一個軟件中介,允許兩個應用程序相互交談。換句話說,API是將您的請求交付給您請求的提供商,然后將響應發回給您的信使。
API定義了獨立于各自實現的功能。這允許這些實現和定義在不相互妥協的情況下發生變化。因此,一個好的API通過提供構建塊可以更容易地開發程序。
當開發人員創建代碼時,由于API的可重用性,他們通常不會從頭開始。API使開發人員能夠使用少量代碼使重復但復雜的進程高度可重用。通過API重用,開發人員可以減少重復但復雜的流程,并大幅加快其應用程序開發流程。
業務方要求IT團隊交付的內容與實際可以完成的內容之間的差距往往很大。通過API重用,開發人員有能力擴展交付,以縮小差距并滿足業務需求。
API的重用,開發人員不必每次生成新程序或項目時都從頭開始重新發明編寫代碼的輪子。
API抽象如何實現速度和敏捷性
API的主要優勢之一是,它們允許在一個系統和另一個系統之間抽象功能。API端點將消耗的應用程序與提供服務的基礎設施解耦。只要服務提供商交付給端點的規范保持不變,依賴該API的應用程序就不應該注意到端點背后基礎設施的更改。
這使得服務提供商在服務產品方面具有靈活性。例如,如果API背后的基礎設施涉及數據中心的物理服務器,服務提供商可以輕松切換到在云中運行的虛擬服務器。
如果在這些服務器上運行的軟件(如信用卡處理軟件)是用Java編寫的,例如,在基于Oracle的Java應用程序服務器上運行,服務提供商可以將其遷移到在Windows Azure上運行的Node.js(服務器端Javascript)。
傳統點對點集成的方式,連接流十分混亂,需要消耗大量時間和資源來維護。API引導的集成允許系統像將插頭插入插座一樣輕松更改,因此您可以專注于構建可組合的企業服務總線。
API是如何工作的?
想象一下餐廳里的服務員。您,客戶,坐在桌旁,有多種選擇,廚房是履行您訂單的供應商。
你需要一個鏈接來將你的訂單傳達給廚房,然后把你的食物送回你的桌子上。不可能是廚師,因為他們在廚房里做飯。你需要一些東西來連接點菜的客戶和準備食物的廚師。這就是服務員(或API)。
服務員接您的訂單,送到廚房,告訴廚房該怎么做。然后,它會將回應,在這種情況下,食物,還給你。此外,如果API設計正確,就能確保您的訂單不會崩潰!
API的真實例子
API在現實世界中是如何使用的?以下是API經濟工作中一個非常常見的場景:預訂航班。
當您在線搜索航班時,您有一個選項菜單可供選擇。您選擇出發城市和日期、返回城市和日期、客艙等級以及其他變量,如您的膳食、座位或行李要求。
要預訂航班,您需要與航空公司的網站互動,以訪問航空公司的數據庫,以查看這些日期是否有任何座位,以及根據日期、航班時間、航線受歡迎程度等可能收取的費用。
您需要從航空公司的數據庫中訪問該信息,無論您是從網站還是從匯總多家航空公司信息的在線旅行服務與之互動。或者,您可能正在從手機訪問信息。無論如何,您需要獲取信息,因此應用程序必須與航空公司的API交互,使其能夠訪問航空公司的數據。
API是一個接口,與您有幫助的服務員一樣,通過互聯網運行并將您正在使用的應用程序的數據傳遞到航空公司的系統。然后,它還會接受航空公司對您的請求的響應,并直接返回您正在使用的旅行應用程序。此外,通過流程的每個步驟,它促進了應用程序與航空公司系統之間的互動——從座位選擇到付款和預訂。
API對應用程序、數據和設備之間的所有交互都做同樣的事情。它們允許將數據從系統傳輸到系統,創造連接的體驗。API提供了訪問任何應用程序數據或設備的標準方式,無論是訪問金蝶、用友等應用程序,還是從手機購物。
API的類型
有幾種不同類型的API需要熟悉。例如,您可能聽說過類中的Java API或接口,這些接口允許對象在Java編程語言中相互交談。除了以程序為中心的API外,還有Web API,如簡單對象訪問協議(SOAP)、遠程過程調用(RPC),以及可能最受歡迎的(至少在名義上)表示狀態傳輸(REST)。新的API技術和風格今天繼續出現,例如GraphQL、AsyncAPI、以及國內領先的iPaaS平臺——數環通等。根據數環通的數據,有超過20000+個公開可用的API,以及數千個私人API,公司用于擴展其內部和外部功能。
更多API資源
雖然我們已經介紹了什么是API以及它們如何工作的基礎知識,但關于API還有很多東西需要學習!查看我們的API資源,了解更多定義以及設計和管理最佳實踐。
API管理>>>http://www.bus6a.cn/blog/8540
API工具>>>http://www.bus6a.cn/blog/8534
如果您有興趣了解更多信息,請查看我們關于定義、設計和管理的API資源。您還可以了解API如何推動一種新型業務: