API是什麼?它是不是一個平臺?

2021-01-10 三微授漁

一個應用程式編程接口(又名API)是接口其他人/開發人員使用它來訪問你的代碼的功能。這在最低級別的編程(微處理器編程),最高級別(REST / GraphQL / gRPC / ...服務公開的API)以及介於兩者之間的所有內容(Java類的公共方法等)下都是有效的。

隨著越來越多的組織選擇通過可公開訪問的API公開其業務功能,人們普遍認為擁有API可以清楚地表明企業正在「走向數位化」。而且,由於產品和平臺之間的區別已經很難被區分(如我們之前所見),因此導致了所謂「平臺」的大規模爆炸,實際上,這種「平臺」一無是處。

公開公共API表示試圖開放我們的系統以供外部使用。組織可能出於多種原因構建和公開API。其中的主要目的是允許其現有客戶或合作夥伴遠程訪問其系統的某些部分。它可能還希望通過宣傳這種數字體驗作為與競爭對手的差異化因素來吸引更多的客戶或合作夥伴。在技術尚未立足的行業中,這可能非常有效。

圖-1:API提供了對組織功能的有限訪問

一旦有了API,我們將致力於其他團隊/組織,他們可以以某種方式訪問我們系統的行為,並為功能提供明確定義的保證。這包括定義功能的細節,對可用性的期望以及其他服務級別協議(如延遲,吞吐量等)以及使用API的成本。做得好,所有這些都代表著對技術的高度信任和投資。

即使將這個小的數位化窗口融入其業務中,也可能對一家公司產生巨大影響,許多迄今為止的老牌公司甚至認為這種有限的數位化轉型也極具挑戰性。假設您是一家擁有數百個分支機構且運行基於紙質銀行業務流程的銀行。這些流程中的每一個流程都經過數十年的完善,可以滿足某些SLA的每個客戶接觸點。例如,開設銀行帳戶可能涉及填寫表格,提交許多文件,重複前往分支機構的行程,這些過程都需要3-4天。

現在,假設您決定公開一個createAccount API / web門戶,客戶可以在其中填寫表單並一次性上傳所有文檔。客戶現在期望開設很多銀行帳戶。更快,他們中的更多人可以通過進行註冊。現在手動開戶機器。必須重新考慮多年來採用的所有流程,以滿足新客戶的期望。

另外,沒有checkBalance API或transferFunds API 的createAccount API有什麼用?如果該銀行繼續提供對其功能的更深層次的在線訪問,那麼它將非常無禮地破壞其原有業務,您可以打賭,很多羽毛正在翻滾。如果它不提供這些功能,或者不提供這些功能的任意子集,則整個數位化客戶體驗將不那麼理想,並且「數位化轉型」將停滯不前或失敗。

從該示例可以看出,擁有API絕不意味著該組織是技術驅動的。必須徹底採用技術思維方式,否則它不可能像預期的那樣富有成果。

平臺的敘述更加微妙,因此在此API構建狂潮中變得模糊不清或被誤解了。正如我們在此Blog上所討論的,平臺是一組可用於構建新產品和新體驗的工具。儘管API對平臺之旅至關重要(作為訪問平臺的手段),但一組API絕不是平臺體系結構的保證。平臺不只是一組API。API本身就是一條單向的街道。我們具有某些功能,可以允許某些外部機構訪問。從這個意義上講,API是我們核心業務的銷售渠道。儘管這允許其他人訪問我們的核心產品,但平臺提供了API所提供的更深層次的合作模式。這是因為平臺為組織提供了在每個業務流程的每個步驟彼此合作的機會。儘管API將交互限制在系統邊緣(可以通過API訪問現有的最終用戶功能),但平臺方法將以某種方式開放系統,使組織可以輕鬆地相互參與決策過程,並充分利用彼此增強他人的能力,並在業務核心創造業務價值。這是通過將來自不同組織的API集成到業務決策和結果操作的連續鏈中來完成的。

圖2:平臺允許生態系統中的合作夥伴組織之間進行非常深入的集成

如圖2所示,平臺架構實際上將組織自身從技術能力外部化了(反之亦然,取決於您要如何看待它),從而使所有決策都可以從整個生態系統中選擇最佳選項同樣輕鬆。組織的業務流程現在可以使用內部團隊構建的內容,或者輕鬆引入合作夥伴組織的技術能力來填補價值創造過程中的空白。你們中有些人可能已經注意到,這與我們如何通過將來自不同團隊的API縫合到端到端業務流程中來在平臺組織內部「構建」系統非常相似。這是理解為什麼我認為沒有「內部」平臺的另一種方式。

除了提供給用戶的有用功能之外,平臺是指平穩運行平臺並防止濫用所需要的一組控制結構。它以組織結構和過程為後盾,該組織結構和過程側重於通過賦予他人權力來創造和獲取經濟價值,並且是平臺所有者致力於在生態系統中互惠互利地交換能力的承諾。平臺的API已明確設計為用作其他事物的構建塊。

類似的觀點也適用於團隊思維。以平臺為中心的組織中的團隊必須以一種扶持性的心態進行工作,以幫助其客戶建造新事物並利用生態系統中的任何機會來最佳地完成各自的任務。平臺的技術架構通過使其非常容易地進行技術協作來增強此任務。結果,團隊可以與任何內部或外部團隊無縫協作,而不必擔心扮演技術守門員或流程警察。參與生態系統成為默認行為,而不是一個例外。

可悲的是,API只是一個API。可以將其視為一種產品-在其自身環境中很有用,但不適用於動態生態系統的付出和接受。API是平臺的謬論是組織大肆宣傳周圍平臺並試圖在不了解其真實本質的情況下儘可能廉價地構建平臺的另一個實例。

相關焦點

  • api 微博數據專題及常見問題 - CSDN
    如果只是為了收集數據可以諮詢我的郵箱,如果是為了學習爬蟲,建議改學phantomjs從網頁中爬取微博的)利用新浪API實現數據的抓取(由於api接口限制增大,本文已基本廢棄) 2018.5.16 提示 微博的api接口現在已經不好用了,普通權限的token已經爬不到什麼數據了,想要用這個代碼爬大量數據的已經不太可能,只能作為熟悉微博api
  • 005精讀 | 4萬高贊神文:什麼是API?
    遠程伺服器一點也不神秘——它只是遠程計算機的一部分,用於優化處理請求。當你在瀏覽器中輸入www.facebook.com時,一個請求就會發送到Facebook的遠程伺服器。一旦瀏覽器接收到響應,它將解釋代碼並顯示頁面。To the browser, also known as the client, Facebook’s server is an API.
  • 從人臉識別到文本分析,50+超實用的 API 推薦清單
    它是基於 PaaS 的圖像識別 API。10. Kairoshttps://www.kairos.com/docs/api/它可快速將情緒分析和人臉識別功能添加到應用和服務平臺。9. nlpToolshttp://nlptools.atrilla.net/web/api.php是用於自然語言處理的一個基於 RESTful 的 HTTP Web 服務的簡單 JSON。它可解碼網絡新聞媒體,用於情緒分析和文本分類。
  • 資源 從人臉識別到機器翻譯:52個有用的機器學習和預測API
    它能將圖片分成好幾千類(如:船、獅子、艾菲爾鐵塔),能夠檢測相關表情的面孔,還能識別出圖片上多種語言的印刷文字。連結:https://cloud.google.com/vision8.IBM Watson Visual Recognition:能夠理解圖像的內容——圖像的視覺概念標籤、尋找人臉、給出近似年齡和性別、尋找一個集合中相似的圖像。
  • dedecms添加百度地圖api可動態放縮,支持http和https的方法
    做了一個和本地信息有關的網站,需要用到百度地圖,網上相關的教程比較少,而且都是使用iframe的方式來加載,雖然實現了可動態放縮功能,但是對於https的網站卻不顯示,分享一下dedecms添加百度地圖api3.0的經驗。
  • 手把手教你學Numpy——常用API合集
    前面幾個都比較好理解,簡單介紹一下這個百分位數,它是指將元素從小到大排列之後,排在第x%位上的值。我們一般常用的是25%,50%和75%這三個值,通過這幾個值,我們很容易對於整個特徵的分布有一個大概的了解。前面三個指標:均值、方差、標準差都很好理解,我們直接看代碼就行。
  • 新浪微博 API開發簡介之 Python篇
    而我自然是用Python SDK,一個只有幾十k的玩意。  接著進入exanples文件夾(新浪這英文水平,不提了…),打開oauthSetTokenUpdate.py文件就是一個很標準的例子了。  於是照著寫了一個:# -*- coding: utf-8 -*-from weibopy.auth import OAuthHandlerfrom weibopy.api import APIconsumer_key= '應用的key'consumer_secret ='應用的App Secret'
  • [評論]為什麼需要一個對開發人員友好的API
    他們理解一個平臺的成功取決於這個平臺所能吸引和擁有的開發者(Steve Ballmer的視頻 」developers,developers,developers」)。.Net的首席架構師Krzysztof Cwalina出了一本專門《.NET設計規範:約定、慣用法與模式》 指導開發人員。相似的,Sun(Oracle)也有相關的Java SDK的書籍。
  • 基於Django和翻譯API實現web版的中英文對照翻譯(一)
    一番了解之後,決定選用谷歌翻譯/搜狗翻譯/有道翻譯官方提供的翻譯api自己實現一個web版的翻譯界面。目前搜狗翻譯/有道翻譯都已經開始收費,但收費的標準還可以讓人接受,以搜狗翻譯為例,現價:40.00/百萬字符。還是可以接受的。閒言少敘。直入正題。
  • 理解RESTful API 架構設計規範與實踐
    如果把網站,移動應用從伺服器到前端,從整體上看作是一個軟體,它就是一個層次清楚,功能強,擴展方便,適宜通信的架構規範。· 01 ·什麼是 RESTREST 是 「Representational State Transfer」的縮寫,直譯過來就是「表述性狀態轉移」。這是一個很奇怪的名詞,剛看到的時候,不知其所以然。
  • Restful Api-接口設計
    RESTful API特徵 (1) 每一個uri代表一種資源; (2) 客戶端和伺服器之間,傳遞這種資源的某種表現層; (3) 客戶端通過四個HTTP動詞(GET獲取資源 POST(CREATE)創建資源 PATCH(UPDATE)更新資源的部分屬性(很少用,一般用POST代替) PUT(UPDATE)更新資源,客戶端需要提供新建資源的所有屬性 DELETE(DELETE)刪除資源使用方式 GET http://www.birjemin.com/api
  • 這後端API接口寫得才叫一個優雅!網友直呼:666
    針對URL路徑的restful風格,以及傳入參數的公共請求頭的要求(如:app_version,api_version,device等),老顧這裡就不介紹了,小夥伴們可以自行去了解,也比較簡單。 著重介紹一下後端伺服器如何實現把數據返回給前端?
  • 使用C#的後端Web API:循序漸進教程
    在下一個模態對話框中,您可以選擇任何合適的模板。讓我們選擇Web API,這樣它就會為項目準備所有基本的初始文件。單擊確定。完成。注意routeTemplate: "api/{controller}/{id}",它解釋了API路由。現在,讓我們做一個基本的例子。在本教程中,我們將為用戶準備一個API,這是每個系統的一個非常通用的實體/對象。
  • 分享幾個在線生成網址二維碼的API接口
        現在很多大網站都有這樣的一個功能,使用手機掃描一下網頁上的二維碼便可快速在手機上訪問網站。想要實現這樣的功能其實很簡單,下面麥布分享幾個在線生成網址二維碼的API接口。
  • 逆水寒api-ms-win-crt-runtime-11-1-0.dll丟失怎麼解決?
    逆水寒少部分玩家更新遊戲後出現提示計算機丟失api-ms-win-crt-runtime-11-1-0.dll,無法啟動逆水寒。逆水寒api-ms-win-crt-runtime-11-1-0.dll丟失怎麼解決?99單機網小編分享下逆水寒api-ms-win-crt-runtime-11-1-0.dll丟失解決方法。
  • 利用yii2和swagger打造完美的RestFul Api接口
    技術人員照著此文,可以直接搭建一個yii2和swagger結合的RestFul風格的API接口平臺!config下面的web.php裡面的components組件:'response' => ['format' => 'json'],3、新建一個module專門用來寫API接口(當然,並不是必須要新建一個模塊,但是新建一個單獨的模塊,更清晰更好管理)我們直接用gii來新建:瀏覽器訪問http
  • 「曼德拉效應」是一個什麼概念?它是不是真的有那麼神奇
    曼德拉這位老人相信大家都很熟悉了,而坊間流傳的「曼德拉效應」的段子,小編這裡也不贅述了,這裡重點說下到底是什麼造成了「曼德拉效應」的形成。先帶大家了解一個看似不相關的例子。有沒有...是不是覺得很神奇。另外一個例子,有沒有這種經歷,你等的車總是不來,而不坐的車卻過了好幾輛啦!是不是也…很…神…奇!
  • Azure 靜態 web 應用集成 Azure 函數 API
    但是一個真正的web應用,總是免不了需要後臺api服務為前端提供數據或者處理數據的能力。同樣前面我們也介紹了Azure函數服務,Azure函數的http trigger可以對http作出響應,可以完美的承當web api的角色。現在Azure靜態web應用可以直接集成Azure函數,使得一次發布可以同時發布前端項目(vue、blazor)及後臺api服務(azure函數)。
  • Rocket-API 2.3.2 發布,基於 spring boot 的 API 敏捷開發框架
    功能新增或修改: 遠程部署重複判斷 添加mongo對象操作函數 mapping路徑匹配修改,解決restful下路徑可能會匹配執行邏輯錯誤問題 增加配置項 駝峰轉換配置 spring.rocket-api.map-underscore-to-camel-case