SOA管控平臺-協議轉換和資料對映(4.17)
對於協議轉換和資料對映,實際是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模板來進行對映操作。