此外,由于 API 可以直接或間接推動創(chuàng)收,提供 API 的部門可以從成本中心轉(zhuǎn)變?yōu)闈撛诘睦麧欀行摹Q句話說,API 成為一流的商業(yè)公民,而非企業(yè)對集成的常見看法中的“不可避免的罪惡”。簡而言之,API 本身成為產(chǎn)品,因此需要與其他業(yè)務(wù)產(chǎn)品相同水平的設(shè)計(jì)思維、持續(xù)關(guān)注和發(fā)展。

以 API 為主導(dǎo)的架構(gòu)

API 被比作門,用以闡明其在提供對企業(yè)信息資產(chǎn)和業(yè)務(wù)能力的訪問中的作用。然而,門的類型、材料和尺寸各異,API 也可分為不同類型。

某些 API 在構(gòu)建時專注于特定用例和應(yīng)用程序,因此可高度專業(yè)化,并根據(jù)其服務(wù)目的進(jìn)行定制。這類 API 的用途單一,難以在其構(gòu)建的上下文之外重用。

用于指代這些單一用途 API 的常用術(shù)語是體驗(yàn) API,因其主要支持人類直接交互的應(yīng)用程序(如移動應(yīng)用程序和 Web 應(yīng)用程序)。然而,并非所有需要專用 API 的應(yīng)用程序都需與人類交互。例如,在工業(yè) 2.0 中,API 可用于支持現(xiàn)代工業(yè)線,或在農(nóng)業(yè)領(lǐng)域,API 通過無人機(jī)掃描大面積土地的土壤狀況,實(shí)現(xiàn)實(shí)時數(shù)據(jù)獲取和發(fā)送。

另一些 API 則專為重用而構(gòu)建,這類 API 更加通用,不綁定于特定用例,因此適用于多種場景。下圖展示了多種應(yīng)用程序如何使用通用 API 來滿足不同的用例需求。

了解不同類型的 API 是構(gòu)建 API 主導(dǎo)解決方案的基礎(chǔ),強(qiáng)大的架構(gòu)必須深入理解相關(guān)業(yè)務(wù)領(lǐng)域及所需功能。在企業(yè)級 API 的背景下,API 主導(dǎo)架構(gòu)應(yīng)解決以下核心問題:

后續(xù)部分將介紹一種自頂向下的方法來闡述 API 主導(dǎo)架構(gòu),首先從概念上定義架構(gòu)的核心構(gòu)建塊及其目的,接著詳細(xì)描述實(shí)現(xiàn)這些目的所需的功能,最后說明這些功能如何作為一個模塊化平臺緊密結(jié)合在一起。

概念架構(gòu)視圖

以 API 為主導(dǎo)的概念視圖定義了架構(gòu)的主要構(gòu)建塊及其目的和職責(zé)。如圖 3 所示,概念性 API 主導(dǎo)架構(gòu)由四個主要構(gòu)建塊和消費(fèi)應(yīng)用程序組成。水平塊代表核心運(yùn)行時功能,這些功能是實(shí)現(xiàn) API 的基礎(chǔ);垂直塊則代表生命周期支持、管理、運(yùn)營和分析的重要支撐能力。

消費(fèi)應(yīng)用程序指能夠調(diào)用和使用 API 的任何計(jì)算機(jī)程序。這些應(yīng)用程序的類型多樣,從傳統(tǒng)的商業(yè)現(xiàn)成應(yīng)用程序(如商務(wù)系統(tǒng))到網(wǎng)絡(luò)應(yīng)用程序、移動應(yīng)用程序、可穿戴設(shè)備,甚至更復(fù)雜的設(shè)備,如無人機(jī)和智能汽車。

API Exposure 構(gòu)建塊負(fù)責(zé)安全可靠地公開對 API 端點(diǎn)的訪問。

服務(wù)是提供明確定義和有限功能的軟件單元,這些功能被稱為業(yè)務(wù)能力,因其對業(yè)務(wù)的重要性而得名。服務(wù)的功能可映射到業(yè)務(wù)流程,需實(shí)現(xiàn)業(yè)務(wù)邏輯、數(shù)據(jù)轉(zhuǎn)換、驗(yàn)證、業(yè)務(wù)規(guī)則和編排等。服務(wù)通過 API 端點(diǎn)公開其功能,這些端點(diǎn)并不直接訪問,而是通過 API 公開層進(jìn)行中介。

管理和運(yùn)營塊包含支持 API 端到端生命周期管理的功能,包括 API 設(shè)計(jì)和模擬、策略實(shí)施、部署、升級、運(yùn)行時操作,以及分析、棄用和更新。以開發(fā)人員為中心的功能(如 API 頁面、開發(fā)人員門戶和應(yīng)用程序密鑰管理)也是該構(gòu)建塊的一部分。這些構(gòu)建塊在 API 貨幣化時起到輔助作用,負(fù)責(zé)收集根據(jù)使用情況計(jì)費(fèi)所需的重要指標(biāo)。

最后,身份和訪問塊支持用戶、角色和訪問管理功能。從生命周期和運(yùn)營的角度,該塊使不同用戶(如 API 產(chǎn)品所有者、管理員、設(shè)計(jì)者和開發(fā)人員)能夠無縫登錄到 API 管理控制臺和/或開發(fā)人員門戶,并根據(jù)角色限制對不同區(qū)域的訪問。此塊還通過生成和執(zhí)行令牌(如 OAuth 2.0、OpenID 和 SAML)來支持身份驗(yàn)證和授權(quán)策略。

概括

本文全面概述了 API 主導(dǎo)的架構(gòu),明確指出不存在單一的 API,而是至少有兩種主要類型的 API:單一用途的 API 專注于在特定環(huán)境中提供定制功能,以支持特定且廣為人知的數(shù)字體驗(yàn);多用途的 API 則是一種更通用的功能,旨在解決多種用例(其中許多在構(gòu)思 API 時可能尚未確定)。

文章接著將 API 比作門,通向信息和功能,并指出這些門(API)可以通過一組 API Exposure 功能進(jìn)行訪問,確保對這些資產(chǎn)的快速、安全和可靠的訪問。

原文鏈接:What Is API-Led — An Architectural Approach

上一篇:

如何編寫代碼文檔:示例、類型、最佳實(shí)踐和工具

下一篇:

API優(yōu)先的開發(fā)方法
#你可能也喜歡這些API文章!

我們有何不同?

API服務(wù)商零注冊

多API并行試用

數(shù)據(jù)驅(qū)動選型,提升決策效率

查看全部API→
??

熱門場景實(shí)測,選對API

#AI文本生成大模型API

對比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力

25個渠道
一鍵對比試用API 限時免費(fèi)

#AI深度推理大模型API

對比大模型API的邏輯推理準(zhǔn)確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費(fèi)