什么策略可以更新 SOA 中长期运行的流程

发布于 2024-11-28 16:37:48 字数 199 浏览 0 评论 0原文

在 SOA 实践中,哪些策略可以更好地(或根本有效)更新长时间运行的流程(特别是 Oracle BPEL)?例如,流程可能涉及多个人工步骤,这些步骤本质上是耗时的。 SOA 套件支持在新版本的流程上启动新实例并继续运行流程执行。但是,如果需要更新编排逻辑并将其应用于已经运行的实例该怎么办?假设我们不希望采购订单通过管理层批准,并且希望此更改应用于所有订单,甚至是那些正在执行的订单。

In SOA practice, what strategies work better (or work at all) to update long running processes (in particular for Oracle BPEL)? For example, process may involve several human steps, which by their nature are time consuming. SOA Suites support starting new instances on new version of process and continue of running processes execution. But, what to do if the orchestration logic need to be updated and applied to already running instances? Let assume we do not want purchase orders to pass management approval, and would like this change to be applied to all orders, even those beying executed.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

坠似风落 2024-12-05 16:37:49

您无法更改任何正在运行的业务流程。更改只能应用于新流程。这不是技术限制,而是常识。除此之外,它还会混淆审计追踪或监管合规性。

如果您的流程设计有如此灾难性的错误 - “我们忘记包括订单的管理层批准!” “facepalm* - 您所能做的就是关闭服务器并清理任何半完成的进程。但这将是一个非常激烈的步骤。

因此,唯一有效的策略是审查和验收测试。

You cannot change the business process for anything which is in flight. Changes can only be applied to new processes. This is not a technical limitation, it is just common sense. Apart from anything, it would confuse audit trails or regulatory compliance.

If you have so catastrophically mis-designed a process - "we forgot to include management approval for orders!" "facepalm* - all you can do is shut off the server and clean up any half-completed processes. But that would be a really drastic step to take.

So the only strategy which is going to work is review and acceptance testing.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文