久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

基于REST和JSON的SOA軟件框架CDIF是怎樣的

186次閱讀
沒有評論

共計 2243 個字符,預計需要花費 6 分鐘才能閱讀完成。

基于 REST 和 JSON 的 SOA 軟件框架 CDIF 是怎樣的,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

通用設備互聯框架(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 的總體架構如下圖所示:

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

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

CDIF 項目由 UPnP 標準發展而來。在支持各類云服務的 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 等 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 調用代碼。

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

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

關于基于 REST 和 JSON 的 SOA 軟件框架 CDIF 是怎樣的問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注丸趣 TV 行業資訊頻道了解更多相關知識。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-16發表,共計2243字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 剑阁县| 武汉市| 洞头县| 大邑县| 东城区| 乳源| 田林县| 休宁县| 枝江市| 永宁县| 三台县| 夏河县| 崇明县| 弥勒县| 长子县| 进贤县| 姜堰市| 会泽县| 屏东县| 昔阳县| 佛坪县| 柏乡县| 巴彦淖尔市| 沈阳市| 故城县| 新和县| 思茅市| 福海县| 密云县| 乳山市| 文安县| 元阳县| 呼和浩特市| 台江县| 南宁市| 凯里市| 时尚| 龙门县| 北票市| 中山市| 贞丰县|