使用Akka构建工作流引擎

时间:2014-09-30 20:16:16

标签: scala playframework akka activiti camunda

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

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

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:2)

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

答案 2 :(得分:1)

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

相关问题