如何定義良好的API?
互聯(lián)網(wǎng)成功的核心原因在于幾個關(guān)鍵的協(xié)議標準:IP、TCP、UDP和DNS。當(dāng)廠商和供應(yīng)商就這些標準達成一致,并加以實施時,互聯(lián)網(wǎng)的潛力就爆發(fā)出來了。
其原因很簡單:開發(fā)者不必關(guān)心如何實現(xiàn)這些構(gòu)件。他們在定義明確的協(xié)議之上構(gòu)建,并假定底層平臺會處理所有的細枝末節(jié)。
今天,我們假設(shè)HTTP是這些協(xié)議之一;它是可用的,并且會以一種可靠的、可預(yù)測的方式行事。這一假設(shè)得到了HTTP幾乎無處不在的事實的支持。網(wǎng)絡(luò)--以及大部分的移動世界--都運行在HTTP上。智能設(shè)備、聯(lián)網(wǎng)設(shè)備和我的魚缸自動化系統(tǒng)都依靠HTTP來與我用來監(jiān)控和操作它們的應(yīng)用程序和服務(wù)交換API調(diào)用和數(shù)據(jù)。
HTTP是事實上的應(yīng)用傳輸標準。
老實說,除了作為應(yīng)用程序之間通信的標準傳輸方式,HTTP層幾乎沒有什么價值可言。通過解除開發(fā)人員對網(wǎng)絡(luò)和應(yīng)用基礎(chǔ)設(shè)施(包括HTTP)的關(guān)注,我們已經(jīng)看到了令人難以置信的勢頭,他們將注意力集中在為數(shù)字經(jīng)濟服務(wù)的API上。
今天的價值體現(xiàn)在API中,以及商業(yè)和技術(shù)使用它們的方式。
這不僅僅是指API被用來交換數(shù)據(jù)。定義良好的API描述了業(yè)務(wù)和操作流程,實現(xiàn)了自動化,并為我們發(fā)展和運營業(yè)務(wù)帶來了新的效率。定義明確的API是業(yè)務(wù)的數(shù)字代表,并為新的市場和商業(yè)模式拓展機會。
它是模擬數(shù)字業(yè)務(wù)和運營的API,并提供與兩者互動的方式。從搜索產(chǎn)品目錄到部署應(yīng)用程序,從訂購今晚的晚餐到無縫支付和交付流程,API是數(shù)字經(jīng)濟中的業(yè)務(wù)運作方式。
API是一套管理設(shè)備間數(shù)據(jù)交換的規(guī)則,這使它們成為協(xié)議。在一個數(shù)字化的默認世界中,這使得API成為技術(shù)棧的一部分。
定義明確的API是第8層。
API標準是不可避免的
可能會妨礙人們接受這一點的是今天的API大多是定制的。它們是由開發(fā)者精心制作的,每一個都是獨一無二的。
目前有多個行業(yè)在努力開放API,這一點從銀行業(yè)和零售業(yè)等方面的努力可以看出。這是第一步;創(chuàng)建定義明確的、有文件記錄的API,使其他人能夠輕松使用。隨著時間的推移,API的使用將決定贏家和輸家,隨著他們向模仿最成功的API調(diào)整,事實上的標準將出現(xiàn)。在某些情況下,這些事實上的標準將被采納為官方標準。
對于老派網(wǎng)絡(luò)專家來說,這也是最終促使大家模仿思科CLI的過程。
迅速接近的數(shù)字即默認世界要求使用API。API是應(yīng)用程序在微服務(wù)和數(shù)字服務(wù)層集成的方式。這反過來意味著API是數(shù)字業(yè)務(wù)創(chuàng)建和參與生態(tài)系統(tǒng)的方式,建立新的商業(yè)模式,并獲得對消費者和合作伙伴與業(yè)務(wù)互動方式的洞察力。
隨著時間的推移,API的開放性將不可避免地把它們拉向單一行業(yè)標準。醫(yī)療保健、零售、金融、保險、支付等行業(yè),將必然傾向于基于行業(yè)內(nèi)共同業(yè)務(wù)功能的共同定義。