使用Akka构建工作流引擎

问题描述 投票:11回答:3

在我们的Scala / Play应用程序中,我们使用activiti。 (也尝试使用camunda)用户可以创建工作流程(如图所示http://camunda.com/)。对这些外部工作流引擎的所有调用都包含在Scala Future中(activiti和camunda API都是Java阻塞API)。

是否有任何库实现工作流程完全使用Akka / Actors避免像activiti / camunda这样的重型工具包?或者想法如何最好地使用Akka与activiti / camunda?

scala playframework akka activiti camunda
3个回答
3
投票

您可以尝试使用Akka FSM dsl执行相同的绕过活动并阻止apis。见http://doc.akka.io/docs/akka/snapshot/scala/fsm.html


2
投票

请注意,camunda具有非常powerful asynchronous continuation features,允许您将任何长时间运行的处理委托给后台线程。这允许在客户端(可能是HTTP)线程中同步完成“多少工作”的非常灵活的配置。这可以在性能和容错之间实现良好的平衡。


1
投票

我知道使用Akka(Java)构建的Catify BPMN Engine的存在。我对它没有任何经验,也不确定API调用是否是异步的,但我希望如此。因为它是用Akka写的,所以它应该与Play!结合得很好。

© www.soinside.com 2019 - 2024. All rights reserved.