CDIF: 基於REST和JSON的SOA軟件框架

通用設備互聯框架(CDIF)是一個具有中美知識產權保護的,基於web的鏈接框架,目前有部分開源實現存放在: Common device interconnect framework。CDIF是世界上第一種基於REST和JSON的SOA軟件框架,提供了與基於XML的WSDL語言和SOAP協議同等抽象能力、但簡潔得多的基於JSON的實現,也很是適合用於描述微服務架構的API接口。CDIF提供了完整的服務註冊和發現能力,併爲全部的web服務和物聯網設備,包括REST、SOAP類型的服務,各類協議的物聯網設備建立出一個簡潔、統一的JSON模型;並在此基礎上提供了其REST接口上的,基於JSON文本的統一RPC調用接口,方便了各類前端應用開發出基於該統一模型的API調用代碼。前端

CDIF的整體架構以下圖所示:node

cdif arch

經過框架提供的設備抽象層,CDIF未來自不一樣廠商的各類類型的REST API,或者物聯網設備封裝成各類虛擬設備,並對外提供統一的虛擬設備訪問REST接口供客戶端使用。git

CDIF框架代碼用node.js書寫,所以底層的虛擬設備驅動所有使用node.js的npm包進行管理。每一個設備驅動可包含一到多個虛擬設備,由驅動被加載時上報給CDIF框架。被CDIF管理的虛擬設備及其API內部實現經過設備抽象層被封裝在驅動中,這些驅動的內部實現可使用node.js豐富的生態中任意一個優秀的第三方包幫助實現,好比request, crypto, moment等,所以很是容易開發和管理。github

CDIF項目由UPnP標準發展而來。在支持各種雲服務的API接口同時,CDIF也爲全部的物聯網設備了一個統一的模型,而且能夠方便地幫助客戶端建立出物聯網設備和網絡服務聯動的各類應用場景。web

因爲其簡潔的抽象能力,基於嚴格契約的鬆耦合架構,狀態無關的可互換服務定義等優勢,在WSDL和SOAP基礎上打造的SOA技術體系至今仍然普遍應用於包括銀行、交易所、航空公司、電信、醫院、電商、支付平臺等各行各業的大中型企業中。據MuleSoft估算,目前世界上每一年花費在與SOA技術相關的企業IT基礎設施建設和系統集成工做有5000億美圓之多。但因爲XML格式用於數據交換過於複雜,以XML爲基礎的許多優秀的WS-*標準都逐漸走向了沒落。npm

隨着移動時代的發展,以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等API modelling language不一樣,使用CDIF提供的JSON模型與RPC接口的客戶端app不須要對被CDIF管理的REST API作離線的客戶端代碼生成和手動集成,即可將這些REST API接口及其變化經過schema form等組件動態地反映在客戶端UI上供用戶使用,省卻了客戶端對REST API的集成和API接口變化帶來的繁瑣的手動客戶端升級工做。被CDIF管理的REST API能夠將新增長的,或者變化後的API自動展示在app UI上供用戶消費使用,簡化了app開發人員的工做,同時可作到實時推廣廠商新增API所展示的新業務能力。架構

若是客戶端app不但願使用這些高級特性,CDIF提供的REST接口也能夠向下兼容目前流行的手動集成方法。用戶參考CDIF爲REST API建立的通用模型即可方便地開發出基於該模型的API調用代碼。app

因爲作到了對API的訪問地址和方法徹底透明,CDIF也能夠較好地幫助企業解決REST API的變化管理這一難題。CDIF支持驅動代碼的熱切換,驅動中的API訪問地址或方法發生變化時只須要安裝新的驅動包到CDIF框架上,變化便可當即生效。當API參數或結果類型發生變化時,上層應用能夠自動發現這些變化。這些特性均可以更好地幫助企業建設全自動化的運維環境。框架

更進一步,CDIF還能夠爲廠商的REST API提供獨有的雙向數據通道能力,廠商只須要調整其REST API對CDIF框架提供的統一JSON模型上一個Boolean取值即可開放該能力。此時,廠商雲服務上的各類數據更新即可以實時地經過WebSocket,APN等通道被CDIF的消息訂閱者獲取,而不須要由用戶主動發起API調用更新數據,產生額外的API調用開銷。該特性爲目前全部基於API調用的單向雲服務數據通道提供了更強大的能力。

CDIF技術的版權和開發歸屬上海靈長軟件科技有限公司全部。目前咱們正在基於CDIF打造一個全新API管理解決方案,敬請你們關注咱們的最新進展,同時也歡迎你們向咱們諮詢關於CDIF的更多技術細節和信息。

相關文章
相關標籤/搜索