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

标签 java web-services design-patterns client soa

我已经部署并准备好使用 Web 服务。客户端应用程序将同步且极其频繁地使用此服务。从网络服务返回的数据量也相当可观。

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

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

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

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

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

最佳答案

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

但是不管怎样,每次调用都要花费 200 毫秒(根据我的实践),而且如果网络 super 好,主要是 XML 处理。

关于java - Web 服务客户端设计模式(最佳实践),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3960889/

相关文章:

Asp.Net Web API 与 Web 服务

.net - 站点 "Notes And Attachments"的 Salesforce SOQL 查询

java - 如何在 Java 中使用 Google App Engine 创建代理服务器?

java - JVM 如何在内部处理竞争条件?

java - 当端点非常相似时,路径参数与查询参数

c# - 如何安全干净地重写关键/生产代码?

Java 构建器类泛型层次结构 : how to make build() return correct method

java - 面向方面编程中的四人组模式用法?

java - JPA模型中图像的级联删除

java - 从过滤器访问用户详细信息(Spring)