Webmethods - 两个进程之间的信息交换
Webmethods - Information exchange between two processes
事实上,我想知道如何在 Webmethods 中实现两个进程之间的通信。
示例 ->
我在 SAG Designer 上有两个进程:
这是我的第一个过程:
这是我的第二个过程:
他们同时运行,我想获取"StepTwo"
的信息
我不是在发送或接收消息,我只是希望能够通过另一个进程获取管道。
如果需要更多细节或不够清楚,请告诉我。
谢谢。
我从未使用过 SoftwareAG 的 BPM 工具,但我对 webMethods 有很多经验。直觉上,我认为这是不可能的。
但是,这里有一个可能的解决方法:
流程一,将流水线信息序列化为XML字符串,
将其保存到数据库中。
过程二,从数据库中获取信息并反序列化
XML 字符串到管道文档。
很遗憾,您的问题中没有足够的信息来给出更详细的答案。
希望对您有所帮助!
一般来说,您可以使用 WmMonitor 包中的服务,那里有 public 服务,可以提供对流程和步骤管道的访问,例如与服务 "pub.monitor.process.instanceSteps:getStepPipeline"。当然,您必须为此特定步骤打开管道日志记录。
但是,我认为您尝试做的事情没有用。为什么一个进程要访问另一个进程的管道?在不知道您的用例细节的情况下,我认为您应该:
- 在进程之间发送和接收消息,或者
- 进程P1和P2之间存在父子关系,或者
- 进程 P1 应该根据一些唯一的业务 ID,将业务相关数据存储在某个数据库或 P2 从中检索信息的任何其他永久存储中。
我不建议直接使用另一个进程的管道。根据您的业务需求而不是某些技术需求为您的流程建模。这就是 BPM 的用途。
我认为我们可以通过保存 P1 的管道数据并在 P2 中使用它来做到这一点,因为您可以使用 Built-in 服务 pub.flow:savePipeline 和 pub.flow:restorePipeline.
请记住,如果您在两者之间重启 IS,管道数据将会丢失。
如果您仍想重新启动,请将管道数据保存到文件并在重新启动后使用该文件。
查看以下服务:-
pub.flow:savePipelineToFile 和
pub.flow:restorePipelineFromFile
事实上,我想知道如何在 Webmethods 中实现两个进程之间的通信。
示例 ->
我在 SAG Designer 上有两个进程:
这是我的第一个过程:
这是我的第二个过程:
他们同时运行,我想获取"StepTwo"
的信息我不是在发送或接收消息,我只是希望能够通过另一个进程获取管道。
如果需要更多细节或不够清楚,请告诉我。
谢谢。
我从未使用过 SoftwareAG 的 BPM 工具,但我对 webMethods 有很多经验。直觉上,我认为这是不可能的。
但是,这里有一个可能的解决方法:
流程一,将流水线信息序列化为XML字符串, 将其保存到数据库中。
过程二,从数据库中获取信息并反序列化 XML 字符串到管道文档。
很遗憾,您的问题中没有足够的信息来给出更详细的答案。
希望对您有所帮助!
一般来说,您可以使用 WmMonitor 包中的服务,那里有 public 服务,可以提供对流程和步骤管道的访问,例如与服务 "pub.monitor.process.instanceSteps:getStepPipeline"。当然,您必须为此特定步骤打开管道日志记录。
但是,我认为您尝试做的事情没有用。为什么一个进程要访问另一个进程的管道?在不知道您的用例细节的情况下,我认为您应该:
- 在进程之间发送和接收消息,或者
- 进程P1和P2之间存在父子关系,或者
- 进程 P1 应该根据一些唯一的业务 ID,将业务相关数据存储在某个数据库或 P2 从中检索信息的任何其他永久存储中。
我不建议直接使用另一个进程的管道。根据您的业务需求而不是某些技术需求为您的流程建模。这就是 BPM 的用途。
我认为我们可以通过保存 P1 的管道数据并在 P2 中使用它来做到这一点,因为您可以使用 Built-in 服务 pub.flow:savePipeline 和 pub.flow:restorePipeline.
请记住,如果您在两者之间重启 IS,管道数据将会丢失。 如果您仍想重新启动,请将管道数据保存到文件并在重新启动后使用该文件。
查看以下服务:- pub.flow:savePipelineToFile 和 pub.flow:restorePipelineFromFile