【问题标题】:Web service client design pattern (best practice)Web 服务客户端设计模式(最佳实践)
【发布时间】:2011-04-27 00:42:22
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

    看起来你的网络服务使用 HTTP 协议,所以没有理由有一些代理缓存或其他东西,每次调用都会创建连接,所以你可以同时调用你曾经初始化的 WS 客户端实例。

    但不管怎样,每次调用都要支付 200 毫秒(根据我的实践),如果网络超级好,主要是 XML 处理。

    【讨论】:

    • 扎莱特尼,谢谢。时隔一个月终于引起了大家的注意!换一种说法,每个客户端都可以使用一个单例代理对象来访问服务吗?
    • 是的,n.p.我想。另外,我想建议做一些繁重的多线程测试,因为当xml处理框架被声明为线程安全时,我遇到过,但实际上并发问题来了。
    猜你喜欢
    • 1970-01-01
    • 2020-08-15
    • 1970-01-01
    • 1970-01-01
    • 2010-12-18
    • 1970-01-01
    • 2020-11-11
    • 2012-05-24
    • 1970-01-01
    相关资源
    最近更新 更多