摘要:提供方提供SOAP接口,在接入適配後轉換爲Rest接口服務發佈,同時在發佈的時候同時支持Xml和Json兩種消息格式。核心還是三者應該具備相互轉換的能力,但是在我們最近的ESB服務總線設計和服務接入發佈上,在輸入可以適配各種協議,包括FTP和DB數據庫等,但是對於最終接入服務後的發佈,最終只發布SOAP WS服務接口或者是Rest服務接口。

對於協議轉換和數據映射,實際是ESB服務總線進行服務設計和編排的時候應該具備的能力,最近在談SOA管控平臺的功能增強和優化改進,因此就結合管控平臺功能來一起說明。

協議轉換和適配

在這裏重點還是談SOAP,Rest和JMS三者之間的協議轉換,有些內容在前面的文章也都談到過,在這裏會在重複說明下。核心還是三者應該具備相互轉換的能力,但是在我們最近的ESB服務總線設計和服務接入發佈上,在輸入可以適配各種協議,包括FTP和DB數據庫等,但是對於最終接入服務後的發佈,最終只發布SOAP WS服務接口或者是Rest服務接口。

即對於任何的服務接入適配,適配完成後發佈的發佈都可以選擇是發佈爲SOAP接口還是Rest接口服務。

SOAP和Rest接口服務互相轉換

提供方提供SOAP接口,在接入適配後轉換爲Rest接口服務發佈,同時在發佈的時候同時支持Xml和Json兩種消息格式。如果提供Rest接口,在接入後也可以發佈爲SOAP接口服務,消息格式只能爲Xml格式。

JMS協議轉換適配

對於JMS消息適配接入,在接入後可以選擇發佈爲SOAP接口還是Rest接口服務。如果發佈爲Rest接口服務,同樣在消息格式上可以同時支持Xml和Json兩種消息格式。即消費方調用WS服務接口分發數據,ESB在獲取數據後將數據寫入到JMS消息管道。

數據映射和XSLT模板設計

對於數據映射,在當前我們談API服務網關或輕量的SOA服務總線產品的時候都不會再談數據映射,因爲數據映射一般實現起來比較複雜,往往需要通過ESB設計器進行,或者自己手工寫映射代碼或映射模板才能夠實現。當ESB服務總線和另外的總線產品對接的時候,往往最容易發現兩邊各自有一套接口規範的場景,在這種場景下往往就需要對不同的接口規範進行數據映射和轉換操作。

對於數據映射而言,包括了XML,Json和平面文件等多種消息格式之間的數據映射。而在前期實際上只考慮XML和Json兩種消息格式之間的映射就可以了。

那麼對於XML和Json之間又有三種映射需要處理,即XML和XML之間進行數據映射,XML和Json之間進行數據映射,Json和Json文件之間進行數據映射。而這種數據映射,最佳的實現方式還是不要去做類似ESB設計器那種複雜的數據映射,而是可以我們自己編寫好類似XSLT的映射模板,然後將模板上傳上去,根據XSLT模板來進行映射操作。

相關文章