本主题仅适用于 IBM Business Automation Workflow Advanced 配置。

同步调用

Draft comment:
This topic only applies to BAW, and is located in the BAW repository. Last updated on 2025-01-20 10:38
以同步方式调用服务组件或者此服务组件执行同步调用时,服务请求者和服务提供者将在同一个执行线程中运行(执行线程定义为可以在操作系统中调度的最小单元)。 IBM® Workflow Server 中的调用组件将被阻塞,直到收到提供程序的响应。

调用服务提供者之后,所有处理都将暂挂,直到该线程返回响应为止。 如 图 1所示。

如果服务请求者必须接收到来自服务的响应才能继续执行处理,那么同步 SCA 调用非常有用。
图 1. 同步 SCA 调用

同步 SCA 调用,显示如何暂挂服务请求者的处理

场景示例

Jane 要通过在线银行将资金汇入 Stephen 的银行帐户。 银行必须确保对 Jane 的帐户记借,并对 Stephen 的帐户记贷。 这两项操作都必须完成,如果其中一项操作失败,那么这两项操作都不得发生。 如果对 Jane 的银行帐户记借,但未能对 Stephen 的银行帐户记贷,那么必须执行回滚操作以便对 Jane 的银行帐户记贷,从而确保资金不会在交易过程中的任何时刻丢失。 仅当转账成功时,才会向 Jane 发送确认消息。

在此情境中,同步 SCA 调用样式适用。这是因为,将在一个线程中向服务发送消息,并且服务请求者直到该消息返回以使同一线程中的处理继续进行之后才会执行其他处理。