【发布时间】:2010-12-11 18:04:16
【问题描述】:
我的应用需要从多个来源提取数据。以下需要用户自定义
- 数据源的顺序
- 在订单中,条件(如果有的话)决定是使用数据源还是跳过它
一旦用户定义了上述两个,应用程序将为他的“编排”分配一个名称,他随后将使用该名称来提取数据。
我想要一些关于
的指导- 我是否更适合编写自己的代码来处理订单和条件,或者这是一个状态机用例
- 如果是状态机用例,那么哪个是提供这种支持的更好的开源项目
- 有状态机规范吗? SCXML?
- 哪些是状态机的最佳开源实现?标准(按此顺序):基于标准、易于调试、易于嵌入、正在积极开发、支持状态机的运行时创建
用例:这是一个多租户应用。每个客户都将设计自己的编曲并将其保存到数据库中。我们称之为登机客户。客户登机后,他的所有请求都将使用他之前保存的命令。
现在让我们假设有 3 个数据源 A、B 和 C。可能的编排很少是
- 管弦乐 1:拉 A、拉 B 和 然后按该顺序拉 C
- Orchestion 2:拉 A,如果 A 返回错误,则拉 B,拉 B(基本上是(A 或 C)和 B)
- Crchestrion 3:拉 A、B 和 C。顺序无关紧要。都需要拉(可能是并行的)
【问题讨论】:
-
如果没有数据是什么,什么样的条件,做了什么工作,这是无法判断的。几乎任何程序都可以看作是一个状态机。把它写得有意义就行了。
-
java 还是 .net?图书馆对于那些有很大的不同。而且我根本不明白你想要一个状态机做什么。你想要它作为一种脚本语言吗?
-
@Falmarri - 添加示例编排作为例如顺序和条件
-
@CodeInChaos - 我基本上在看 Java。我包含 .net 只是为了查看 java 世界中是否缺少任何框架但在 .net 世界中可用
-
我的印象是脚本语言可能是你想要的。可能是支持异步/协同程序的一种。
标签: java .net architecture jakarta-ee state-machine