Web服务客户端设计模式(最佳实践)

时间:2010-10-18 15:55:01

标签: java web-services design-patterns client soa

我部署了一个Web服务并准备使用。客户端应用程序将同步并极其频繁地使用此服务。从Web服务返回的数据量也很大。

Web服务客户端是一个Web应用程序(liferay portlet)。我在eclipse中生成了带有轴的客户端部分。

在我的第一个测试中,在每个请求中,我实例化一个新的ServiceProxy并调用其方法。我不确定这个结构的健壮性和可靠性(每次都创建一个新的代理对象)。

我使用singleton代理将其更改为静态类,但我不确定在同时调用Web应用程序客户端(并发问题)期间会发生什么。

我希望设计能够将我的Web应用程序与Web服务客户端分离,并且具有客户端代理缓存(不是数据缓存,因为我的应用程序是实时的)或类似的东西。

我认为Web服务客户端部分应该有一个设计模式或最佳实践。

1 个答案:

答案 0 :(得分:1)

看起来您的Web服务使用HTTP协议,因此没有理由拥有某个代理缓存或其他东西,每次调用都会创建连接,因此您可以同时调用曾经初始化的WS客户端实例。

但无论如何你会为每次通话支付200ms(从我的实践中),如果网络是超级的话,它主要是XML处理。