繁体   English   中英

BPEL:异步/同步模式

[英]BPEL: Asynchronous/Synchronous pattern

我想知道它是否正确。

模式接收 - 回复用于同步Web服务。 在这种情况下,可以在wsdl文件中定义单个端口。

实际上,调用模式也用于制作异步Web服务。 在这种情况下,在wsdl中定义了两个端口。

所以,我的问题是:是否可以使用回复活动来创建异步调用?

先感谢您。

我真的不明白你的问题,但我尝试解释BPEL中的同步与异步关系,希望它也能回答你的问题:

a)即使是双向请求 - 响应操作(看起来像是同步操作)也可以绑定到异步传输协议(如SMTP,JMS,XMPP,AMQP ......)

b)您描述的模式对于传入服务调用是正确的,即当客户端调用BPEL流程实例时。 如果BPEL流程的WSDL将操作定义为请求 - 响应,则需要将其建模为BPEL中的接收 - 响应对。 这可以被视为同步呼叫(但参见a))。 如果由于某种原因,此操作无法绑定到异步传输协议,并且由于某种原因(例如,之间长时间运行的处理),调用必须是异步的,您需要将操作拆分为两个单向操作。 这意味着该进程现在为原始请求提供一个操作,并且调用者现在必须为原始响应提供一个单向操作。 这被建模为BPEL中的receive-invoke对。 两者都通过合作伙伴链接互连。 这是异步的。

单个回复没有意义,因为回复活动始终连接到接收活动,即它仅负责操作的响应部分,不能用于单向操作。 如果要调用外部服务,请使用invoke。 通过请求 - 响应操作,调用将直接返回结果。 如果调用应该是异步的,则使用一个invoke-receive对,每个提供/调用一次单向操作。

HTH,Tammo

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM