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