讓我們假設我開發了兩個服務稱爲ProductAPI和OrderAPI。無論他們使用通用的領域模型(普通實體層次)。
這兩個服務最終都作爲RCP(SOAP或REST)公開。OrderAPI在內部調用ProductAPI。
在REST的情況下:
我們可以通過JAX-RS開發ProductAPI,我們可以實現一個 「ProductAPI REST客戶端」 被內OrderAPI用於訪問ProductAPI。
此客戶端可以使用相同的類heirachy將JSON反序列化爲ProductAPI中使用的相同類。
因此,沒有中間格式轉換。
在SOAP的情況下:
我們開發使用JAX-WS(或Axis2..etc)的ProductAPI和WSDL公開服務。 在這種情況下,我們必須使用公開的WSDL實現「ProductAPI SOAP客戶端」(可能正在使用暴露的WSDL的存根生成工具)。
此時生成的類是根據WSDL中的XSD定義生成的,如果我們想使用相同的公共域模型類,則必須進行額外的格式轉換。
我的問題:
1)在SOAP的情況下,有沒有辦法跳過此格式轉換?
2)在企業應用程序(如電子商務)中,避免這種中間數據轉換的性能是一種很好的做法嗎?