2011-05-15 37 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进行连接时。