8

编排引擎与消息驱动系统的职责是什么。

如果我必须构建一个必须将不同的独立组件(不需要公开 Web 服务端点的跨技术/平台组件)串在一起的系统,那么要选择哪个工具集?

有更好的选择吗?

4

4 回答 4

2

将 openESB 与 netbeans 编辑器或任何其他提供标准方式或编排流程的开源 BPEL 引擎一起使用。如果您认为性能比标准化更重要,您可以尝试一些专有的 ESB 或 BPM 工具,如 Jboss jBPM 或 mule ESB 等。

请注意,如果您的组件不是 Web 服务,则 BPEL 只能用于使用 Web 服务,那么您可能必须使用像 Mule 这样的 ESB,它可以支持大约 200 多种带有扩展的协议。

于 2009-09-10T15:16:31.050 回答
1

在决定是否应该使用编排或消息导向工作流时,您面临的一个大问题是,您认为是否有必要定期更改编排工作流。如果您认为业务流程需要灵活,因为它会发生变化,那么采用规范消息格式并使用编排,这将最大限度地减少服务之间关系变化的影响。如果您认为工作流程稳定,您可以采用消息驱动的工作流程。就我个人而言,我认为编排是总体上更好的方法,但是它确实需要更多的软件基础设施,而使用Apache Camel等工具,投资是时间和增加长期灵活性的回报。

于 2009-10-09T11:14:28.357 回答
0

虽然这个问题被标记为 Java,但如果你真的必须走这条路,恐怕我见过的最好的工具是Microsoft 的 BizTalk Server

当我不得不对这种类型的产品进行评估时(这是几年前的事了),它在竞争中遥遥领先,主要特点是:

  • Visual Studio 作为开发环境
  • 很好的可视化工具来描述工作流程和转换
  • 用于连接参与者的可扩展连接器架构
  • 强大的工作流引擎,具有出色的实时报告

最后,我们选择保持简单并采用消息传递路线,尽管这确实需要您控制所有参与者,但情况可能并非如此。

于 2009-08-12T08:49:43.167 回答
0

我建议您首先通过网络将单个独立组件公开为服务(我不明白您是否已经为此提供了网络服务)。之后..最佳选择取决于您的系统工作负载/复杂性。

基本上,您可以在服务编排与编排之间进行选择。使用 BPM/BPEL/ESB 制作的服务编排是一种架构选择,其中单个组件(服务编排器/服务编排器)知道需要执行哪些步骤,并负责以正确的顺序调用服务(在编排器本身上配置) . 它还处理事务管理(如果需要)。

相反的是编排,实际上构成整个系统的每个服务都知道在收到特定消息时如何采取行动。事实上,这是各个组件之间的协议问题。服务编排它是服务组合问题的分散方法。

如果您有很多服务、复杂的规则等等……使用 jBPM 之类的服务编排器或类似的东西可能会更容易。

于 2016-01-21T10:28:43.083 回答