Dion Hinchcliffe談Web API的過去與未來
API策略與實踐大會于2015年11月在德克薩斯州奧斯汀市舉行。在作完 主題演講 后,InfoQ采訪了 Dion Hinchcliffe ,了解他對Web API未來發展方向的看法。
根據10多年的深厚經驗,Dion闡述了REST及簡單設計如何影響了Web API在Web服務上的最終流行的歷史。鑒于Web API在企業的應用日益廣泛,Dion闡述了API、平臺及網絡的過去、現在和未來。
InfoQ:您能向我們介紹下自己的背景和主要工作嗎?
Dion Hinchcliffe:我目前是 7Summits 的首席策略官。我們為開發者社區提供類似API這樣的東西。我也在數字領域做大量的研究和分析,并為ZDNet和其他網絡媒體寫文章,我還寫了兩本有關這個領域的書。
InfoQ:您大約在10年前開始Web API研究。最初是什么激發了您的興趣?
Dion:API第一次真正引起我的注意,是在開發者社區真正開始對REST和更傳統的重量級Web服務進行對比討論的時候。
數據剛開始顯現出,面向Web的API,越簡單就越受歡迎,也越容易使用,而且能夠更好地與開發工具、技術、甚至是常規的企業應用程序協同。
那會兒,Amazon剛好發布了SOAP和REST的流行度對比數據,顯然,舊式的Web服務根本就不受歡迎,而圍繞Web上的Web服務,有些令人興奮的事情正在發生,就是我們現在所說的API。
InfoQ:與您最初對Web API的設想相比,我們今天的情況有什么最顯著的不同?
Dion:關于輕量級API,我非常高興,API市場和開發歷程有許多都跟我的預期很像。我記得,我曾期望有更多的創新。我們看到了類似JSON這樣的東西出現,為創建更加輕量級的Web服務提供了一種可選的方式。
我記得,我曾期望工具支持比最初的需求多,盡管那是重點,但在此之前,人們在像Eclipse這樣的平臺上做著許多繁瑣的Web服務,還要提供存根,等等,而現在你看到,那是沒有必要或者不需要的了。
鑒于我已經預測了整個的安全行業,最大的驚喜也許是與安全主題相關的。雖然早就預測到了,但最初那些簡單的API模型已經用實際證明了其良好的彈性,并且幾乎能夠滿足所有人的安全需求。
InfoQ:在典型組織里,Web API達到了什么樣的成熟度水平?
Dion:關于技術,有意思的是,它的應用相當地不均勻。真的不能說有典型組織,早期采用者,就像采用API一樣,常常非常早。
但是我認為,完全可以說,一般公司都已經完全了解API并使用了它們,但不是戰略上的。API科室或API部門仍然是領先的技術組織或者創業公司的一個與眾不同的特征。
InfoQ:對于那些典型的組織而言,Web API最有價值的應用場景是什么?
Dion:最主要的應用場景包括企業應用集成、工作流、移動應用及集成第三方云服務,現在,它將會在不遠的將來用于物聯網。
InfoQ:您經常談論開放API支持數字轉型的重要性,但是最終,支撐移動應用、Web應用及其他UX的內部API對公司而言不是更重要嗎?
Dion:每家公司都應該使用他們自己的狗糧,并成為自有API的第一個客戶,就是說,不管怎樣,大部分API首先應該是內部的。當然,通過在組織內部學習如何生產和消費API,公司就可以提升組織API的成熟度。
但是,隨著外部API引入,內部API輸出,我們看到,API需要做好一切準備,而且可以以任何方式使用,因為服務會重新混合,數字體驗就是從許多以前完全不同的源和API創建出來的。
InfoQ:開放API已經推動了API的流行,但是最近,一些公司,像Netflix和推ter,已經開始關閉它們,而許多公共API項目正在爭奪開發人員的心里份額。您認為這是一種趨勢,還是個例?
Dion:我希望他們是證明規則的例外情況,但是人們越來越相信,API在早期發展階段非常有益于公司的發展,但是當公司成為領導者時,它會成為一個不利條件。
但是,你同樣可以很容易地舉出反例,如Expedia、eBay和Amazon,對于他們而言,API是他們主要的商業模式,因此,顯然還沒有定論,而毋庸置疑,API對于公司早期階段的發展而言至關重要。
InfoQ:API管理供應商大部分將自己定位成介于遺留IT資產和新用戶體驗之間的網關,包括Amazon及其新推出的AWS API網關。另一方面,像IFTTT、Uber或Twilio等原生云公司正在構建分布式API網絡,擾亂了傳統業務。對于一個傳統公司而言,在設想Web API時,什么比喻才恰當?
Dion:我認為兩者皆有,但更多的是后者。網關是一個先決條件,否則你無法訪問生態系統。因此,沒有一個,你就不可能真正擁有另一個,但是,一旦進入市場,API的設計應該提倡和培養一種健康發展的數字生態系統。因此,在我看來,它們并不互相排斥。
InfoQ:您認為,公司最終需要為每種用戶體驗或交互通道構建一個定制的API,像Netflix正在做的那樣,還是說大多數公司最好都創建一個通用的API?
Dion:對于任何通用的東西,我總是持謹慎態度,特別是在數字技術與人類需求復雜的交叉點上。無疑,許多公司始于單個的API,但產品的成長成熟及外部客戶很快就會教給他們單一模型是否是恰當的方法。我認為,一種更微妙的方法通常更合適。
InfoQ:與RPC變體相比,如 谷歌不久前宣布的gRPC項目 ,REST對于Web API的整體價值和成功有多重要?
Dion:毫無疑問,REST已經成為開發API基本模型的基礎,因為它與Web本身的工作原理是如此的一致。但是,它永遠不會成為所有場景的答案,尤其是一些在Web最初設計時沒有預見到的東西,如視頻、實時通信及其他更加現代化的場景。
我認為,工作時要使用合適的工具,同時要盡量靠近核心標準。
InfoQ:關于PaaS最終是否會凌駕于IaaS之上并被廣泛采用一直爭論不斷。關于這一點,您有什么看法?
Dion:任何設計,限制越多,應用場景就越少。這方面,IaaS和PaaS沒有差別。
IaaS適用的場景要多得多,幾乎可以用于所有的計算機和網絡場景,而PaaS適用的領域要小很多,因此,又回到了框架之爭的問題,框架越大越復雜,本身在解空間受到的限制就越多。
因此,與PaaS相比,IaaS的使用總是更廣泛,適用面更寬。顯然,PaaS市場巨大。我希望兩者都會蓬勃發展,但一個總是會比另一個大。
InfoQ: 您談到公民開發者 是指那些能夠使用恰當的工具進行基本開發的業務用戶。對于公司而言,您認為這已經成為開發軟件解決方案的一種切實可行的方法了嗎?
Dion:我認為,我們正處在這樣的時候,一般的組織都已經具備了這樣做的條件。自API實際出現開始,大公司已經這樣做了許多年了。API一出現,這類工具就出現了。這太不可思議了。
現在的模型,除了非常簡單的事件驅動應用程序之外,是由公民開發者構建用戶體驗和簡單的應用程序流,而由IT人員幫助填寫和完成應用程序邏輯。這是一個非常令人興奮的領域,有足夠的證據表明,我們正處于公民開發者大量涌現的早期階段,再一次,是API讓這一切成為可能。
InfoQ:企業用戶本身是需要提供或消費API呢,還是說需要技術要求低一些的模型,如連接器、電子表格、和表單?
Dion:我很高興API在非技術用戶社區里獲得了更廣泛的理解,但是我們真沒看到一種可以完全取代它的有效的方式。
我認為,用戶將類似簡單“應用”這樣的概念理解為一個不夠穩定的功能和數據單元,因此,在現如今的低代碼環境下,數據源常常同提供數據源的應用混淆,例如,從Weather.com獲取天氣預報數據,而不是Weather.comAPI,而后者是才是數據的真正來源。
近來,人們一般認為,應用是數據源,而API是真正做工作的,所以我想這也沒事。
InfoQ:有關分布式網絡和平臺的強大功能,您談了許多。在這方面,API有多重要?它們是戰略上的、戰術上的,還是說僅僅是公司的一個技術面?
Dion:這樣,在下午的大會上,我在這里同API拓荒者 John Musser 探討了這個主題,API本身對于實現我們正在談論的高度分散的系統仍然非常關鍵,而那種系統是創建成功的數字企業所需要的。
但是現在,位于API層之上的“元概念(meta-concepts)”其戰略重要性日益增長,正變成一項同API本身一樣的核心研究。
我要提一下John Hagel的團隊在Deloitte所做的工作, 他們的生態系統模式 表明,在API體系結構之上還有一個重要的步驟,就是架構層。
這就是三、四年來我們已經真正理解的東西,而那就是戰略討論真正的發展方向。
查看英文原文: A Discussion of the Past and Future of Web APIs with Dion Hinchcliffe
來自: http://www.infoq.com/cn/news/2016/01/web-apis-future-dion-hinchcliffe