【问题标题】:JAX-WS Asynchonous client techniques for calling web services用于调用 Web 服务的 JAX-WS 异步客户端技术
【发布时间】:2012-04-15 07:12:23
【问题描述】:

我正在使用 JAX-WS 对基于 SOAP 的 Web 服务进行一些研究,我发现理解与客户端有关的部分非常复杂。 如果有人可以帮我解释一些主题,我将不胜感激。我正在使用 SOA 书籍和谷歌,但我真的很困惑,所以这就是为什么我认为在这里我可以获得更准确的答案,专注于我需要的东西。

因此我们可以以同步和异步的方式与 Web 服务进行通信。同步通信缺乏双方必须相互等待直到处理结束。

异步客户端允许我们使用 2 种编程模型以异步方式进行通信:1- 回调和 2- 轮询

  • 疑问1:谁能简单地解释一下这两种模型(回调和池化)的区别、优缺点是什么

在谈到异步通信时,我也明白应该有一种方法让生产者(Web 服务)在处理完成后找到消费者(客户端)。这就是我们要寻址的原因。

  • 疑问 2:您能简要解释一下寻址的工作原理吗?以及寻址与回调和轮询技术有什么关系?

还有一件事。 Dispatch API 也让我很困惑。因为他们一直在谈论动态客户。

  • 疑问 3: 如果他们一直在谈论动态客户端,那么 Dispatch API 与异步通信有什么关系?
  • 疑点四: Dispatch API 的两种使用模式(MESSAGE 和 PAYLOAD),分别是做什么用的,与 JAXWS 的异步通信模型有什么关系?

【问题讨论】:

    标签: java web-services soap jax-ws soa


    【解决方案1】:
    1. 谁能简单地解释一下这两种模型(回调和池化)的区别、优缺点是什么

    回调:实现并不简单。
    - 优点:这种方法比轮询方法更优雅/系统。
    - 缺点:客户端应该有一种机制,以便服务器可以使用回调来回调它。

    轮询:实施很简单。
    - 优点:因为它的技术简单,所以它是通用的,即使是启用 ajax 的网页也可以使用这种技术来检查请求的更新是否可用。
    - 缺点:极大浪费带宽,还有服务器客户端计时问题,例如如果客户端的轮询请求尚未到来,服务器应保持响应多长时间。

    2.您能简要解释一下寻址的工作原理吗?以及寻址与回调和轮询技术有何关系?

    寻址使 Web 服务能够理解以前仅在消息传递系统和传输提供商之间共享的信息。考虑这个用例,最初使用的传输将是 HTTP 用于发送请求和响应。然后您可能想要更改此传输的一部分,例如在将响应发送回时,仅使用 SMTP 协议。如果您使用的是 ws 寻址,则与传输和寻址相关的全部信息将成为肥皂包本身的一部分,这将使您的 Web 服务可以动态地将传输更改为响应发送。

    Webservices 寻址也可用于从服务器到客户端的回调。服务在 WSDL 中通知它所需要的回调的端口类型。客户端实现此端口类型,然后使用 WS 寻址通知回调端点的服务。

    简单来说,WS 寻址向肥皂信封添加了额外的标签,其中包含仅存在于传输标头中的信息,例如从地址、到地址、操作名称等。

    3.如果Dispatch API 一直在谈论动态客户端,它们与异步通信有什么关系?

    Future<?> response = dispatch.invokeAsync(T, AsyncHandler);
    

    invokeAsync 方法是一种轮询方法。响应会立即返回给用户,并且可能会被轮询完成。同时,客户端程序可以做其他工作。javax.xml.ws.Response 实现了 J2SE 5.0 中包含的 java.util.concurrent.Future 接口。 Response 对象通过其 get 方法返回实际响应,如果响应尚未准备好返回,该方法会阻塞。

    4.Dispatch API的2种使用模式(MESSAGE和PAYLOAD),分别用于什么,与JAXWS的异步通信模型有什么关系?
    消息传递模式与异步通信没有直接关系。消息传递模式定义了在 Web 服务请求中发送的信息量。 只有在使用 SOAP 绑定时才能使用 MESSAGE MODE。

    【讨论】:

    • 非常有用且准确的答案。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 2017-04-05
    • 1970-01-01
    • 1970-01-01
    • 2010-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多