我正在[1]运行一些ESB样本。 [2]说明了不同的客户端运行模式,如智能客户端模式,网关/哑客户端模式,代理客户端模式等。 这些客户端模式之间有什么区别?
答案 0 :(得分:2)
运行stockquote客户端的三种模式可以解释如下。
智能客户端模式:
在此模式下,您可以指定客户端在将请求发送到最终结束点之前调用的ESB代理。当您需要在ESB中完成一些中介时,您将使用它,然后您希望将请求发送到您指定的终点。
例如,
ant stockquote -Daddurl=http://localhost:9000/services/SimpleStockQuoteService -Dtrpurl=http://localhost:8280/services/StockQuoteProxy1 -Dsymbol=SUN
trpurl:这是客户端调用的ESB代理,需要在调用ulimate端点之前进行一些调解(addurl)
addurl:这是ESB在进行调解后调用的内容。
网关/哑客户端模式:
通过这种方式,客户端不知道在ESB内部进行调解后最终请求将在何处传递,因此ESB可以 在ESB代理中提到的端点上的动态决策。您可以使用“端点”标记在您自己的逻辑中按照您的意愿定义ESB中的端点。当您希望ESB逻辑根据ESB代理中的逻辑决定最终消息传递点时,您将使用此方法。
ant stockquote -Dtrpurl=http://localhost:8280/services/StockQuoteProxy1 -Dsymbol=SUN
代理客户端模式:
运行此方案时,您将看到与上一个示例完全相同的行为。 但是,这次差异发生在客户端,因为它将消息发送到WS-Addressing “To”地址为http://:9000 / services / SimpleStockQuoteService,但传输将ESB指定为HTTP代理。因此,当您希望ESB作为代理传递工作并且不需要任何中介时,您将使用此方法,只需将请求转发到WS-Addressing中“To”地址中的给定端点。
ant stockquote -Dprxurl=http://localhost:8280/ -Daddurl=http://localhost:9000/services/SimpleStockQuoteService
注意:addurl在这里是可选的,在此处添加,因此客户端会将其添加到WS-Addressing“To”标记