2011-05-15 80 views
4

作爲一名SOAP Web服務開發人員,我很好奇我可以實現哪些技術來優化原始xml級別的SOAP響應。目前,我們的企業Web服務允許客戶批量執行數萬次操作,但我的團隊正在尋求進一步優化的方法,直至我們如何格式化XML。我知道MTOM和XOP,但是我可以在原始xml級別使用哪些技術來減少有效負載?更具體地說,我聽說過使用一個字符的命名空間,使用數字標識符,刪除任何不必要的格式或註釋,以及這方面的內容,但還有哪些其他一些用於最小化有效負載的好技術?優化原始SOAP請求和響應的一些有用技巧是什麼?

+1

#1優化技術不使用SOAP – 2011-05-15 22:48:21

回答

2

這些是您可能會發現有用的一些建議。

  1. 如果你的web服務有一些他們操作的'上下文' - 你可能想看看WS-Context。 WS-Context引入Context-Store的術語來檢索與SOAP消息中的URI相關聯的上下文。除了最小化消息大小之外,上下文存儲庫 的使用保證了交換消息的完整性。
    1. 研究論文Optimizing Web Service Messaging Performance Using a Context Store for Static Data(pdf)記錄了WS-Context的使用 - 您可能會發現它有幫助。
  2. MTOM,XOP - 您已經提到您瞭解。
  3. 您還可以更改變量的長度(例如:從interest_rate到intRate),這會減少有效負載大小 - 同時保持可讀性。 [你已經提到]
  4. 進入下一個層次 - 你可以看看服務器上的底層SOAP解析器,以及是否有方法來改進它們。

我沒有數據支持通過使用這些方法來提高性能。

+0

我對WS-Context感興趣 - 我不熟悉它,但會給它看看。感謝您的建議。 – dandrews 2011-05-16 14:09:51

2

對於實際的xml,確保你不打印你的xml,許多工具默認是這樣做的,對於任何複雜的消息都可能導致大量的膨脹。

在傳輸級別上的其他一些優化將包括使用壓縮(http有標準方法來處理這個問題),並確保您使用http保持活動,尤其是在通過ssl進行連接時。