靈長科技 API 管理解決方案的核心技術是具有中美知識產權保護的,名爲通用設備互聯框架(CDIF:common device interconnect framework)的軟件框架,目前有部分開源實現存放在:https://github.com/out4b/cdif(注:開源部分遵照相關開源代碼許可協議)。前端
CDIF 是世界上第一種基於 REST 和 JSON 的 SOA 軟件框架,提供了與基於XML 的 WSDL 語言和 SOAP 協議同等抽象能力、但簡潔得多的基於 JSON 的實現,也很是適合用於描述微服務架構的 API 接口。CDIF 提供了完整的服務註冊和發現能力,爲全部的 web 服務,包括 REST 和 SOAP 類型的服務建立出一個簡潔、統一的 JSON 模型;並在此基礎上提供了其REST接口上的統一 RPC 調用接口,方便了各類前端應用開發出基於該統一模型的 API 調用代碼。git
CDIF 軟件框架的整體架構以下圖所示:github
在上圖中,經過框架提供的設備抽象層,CDIF 未來自不一樣廠商的各類類型的REST API 封裝成各類虛擬設備,並對外提供統一的虛擬設備訪問 REST 接口供客戶端使用。CDIF 項目由 UPnP 標準發展而來。同時,對該項目的提議也是 UPnP 組織合併入 OCF 標準化組織的主要緣由之一。web
在支持各種雲服務的 API 接口同時,CDIF 也爲全部的物聯網設備提供了一個統一的模型,而且能夠方便地幫助客戶端建立出物聯網設備和網絡服務聯動的各類應用場景。小程序
因爲其簡潔的抽象能力,基於嚴格契約的鬆耦合架構,狀態無關的可互換服務定義等優勢,在 WSDL 和 SOAP 基礎上打造的 SOA 技術體系至今仍然普遍應用於包括銀行、交易所、航空公司、電信、醫院、電商、支付平臺等各行各業的大中型企業中。據 MuleSoft 估算,目前世界上每一年花費在與 SOA 技術相關的企業 IT 基礎設施建設和系統集成工做有 5000 億美圓之多。但因爲 XML 格式用於數據交換過於複雜,以 XML 爲基礎的許多優秀的 WS-*標準都逐漸走向了沒落。微信小程序
隨着移動時代的發展,以 REST 和 JSON 爲基礎打造的各類 web 服務、微服務架構逐漸成爲主流。基於 JavaScript 開發的應用,如各類 web app、微信小程序等都以 REST 和 JSON 做爲鏈接的基礎。新興 IT 企業也更傾向於使用 REST API,而不是 SOAP 來鏈接企業內部的各類基礎業務組件。可是,目前企業內外使用的各類 REST API 基本都須要依賴文檔手動管理,在 API 接口變化時,部署和升級新的 API 版本很是不方便。CDIF 爲 REST API 創建的通用模型幫助填補了 REST API 與傳統 SOA 技術的差距,併爲傳統 SOA 技術和雲服務的結合與發展提供了全新的方向。基於 CDIF 的 SOA 技術能夠方便地建立出許多全新類型的應用,好比 REST 服務流應用,web 服務和物聯網設備的無縫結合等等,這些都是現有技術沒法輕易實現的場景。緩存
與 WSDL 或 Swagger 等技術不一樣,使用 CDIF 提供的 JSON 模型與 RPC 接口的客戶端 app 不須要對被 CDIF 管理的 REST API 作離線的客戶端代碼生成和手動集成,即可將這些 REST API接口及其變化動態地反映在客戶端UI上供用戶使用,大大省卻了客戶端對REST API的集成和API接口變化帶來的繁瑣的手動客戶端升級工做。若是客戶端app不但願使用這些高級特性,CDIF提供的REST接口也能夠向下兼容目前流行的手動集成方法。微信
同時,因爲作到了對API的訪問地址和方法徹底透明,CDIF也能夠較好地幫助企業解決 REST API 的變化管理這一難題。CDIF支持驅動代碼的熱切換,驅動中的API訪問地址發生變化時只須要安裝新的驅動包到CDIF框架上,變化便可即時生效。當API參數或結果類型發生變化時,上層應用能夠自動發現這些變化,並自動部署新的應用版本。這些特性均可以更好地幫助企業建設全自動化的運維環境。網絡
更進一步,CDIF還能夠爲廠商的REST API提供獨有的高級數據緩存能力,廠商只須要調整其REST API對CDIF框架提供的統一JSON模型上一個Boolean 取值即可開放該能力。此時,廠商雲服務上的各類數據更新即可以實時地經過 WebSocket,APN等通道被CDIF的消息訂閱者獲取,而不須要由用戶主動發起 API 調用更新數據,產生額外的API調用開銷。該特性爲目前全部基於API調用的單向雲服務數據通道提供了更強大的能力。架構
基於以上的技術優點,使用靈長科技API管理解決方案的廠商能夠將其REST API提供的業務能力自動展示在app UI上供用戶消費使用,大大簡化了app開發人員的工做,同時能夠作到實時推廣廠商經過其新添加REST API所展示的新增業務能力。靈長科技 API管理解決方案對REST API提供全自動的服務註冊、發現和使用能力,每次廠商新發布的 API包版本上傳後,使用該 API的全部app端的接口表單便可自動從新生成,而無需 app開發者手動集成和部署更改後的app版本,大大節省了廠商的API推廣和管理成本,同時也顯著地提高了API管理這種有着普遍應用的商業模式給廠商帶來的價值。