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

6
我有一个已部署并准备好使用的Web服务。客户端应用程序将同步频繁地使用该服务。从Web服务返回的数据量也相当可观。
Web服务客户端是Web应用程序(Liferay Portlet)。我使用Eclipse中的Axis生成了客户端部分。
在我的第一次测试中,每个请求中我都会实例化一个新的ServiceProxy并调用其方法。我不确定这种结构的健壮性和可靠性(每次都创建新代理对象)。
我将其更改为具有单例代理的静态类,但我不确定Web应用程序客户端的同时调用情况下会发生什么(并发问题)。
我希望设计能够将我的Web应用程序与Web服务客户端解耦,并拥有类似客户端代理缓存(不是数据缓存,因为我的应用程序是实时的)或类似物品。
我认为应该有用于Web服务客户端部分的设计模式或最佳实践。
1个回答

1

看起来您的 Web 服务使用 HTTP 协议,因此没有必要使用代理缓存等技术,每次调用都会创建连接,所以您可以同时调用已初始化的 WS 客户端实例。

但无论如何,每次调用都需要花费约 200 毫秒(根据我的经验),如果网络良好,则大多数时间都用于 XML 处理。


Zaletniy,谢谢。终于在一个月后引起了某人的注意!重新表述你的话,每个客户端都使用单例代理对象来访问服务,这样可以吗? - Sina Jahan
是的,我认为没问题。另外,我想建议进行一些繁重的多线程测试,因为我曾经遇到过一些XML处理框架被声明为线程安全,但实际上存在并发问题。 - zaletniy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接