在我們的Scala/Play應用程序中,我們使用activiti。 (也試驗camunda)用戶可以創建工作流程(如圖所示http://camunda.com/)。所有對這些外部工作流引擎的調用都包含在Scala Future(activiti和camunda API都是Java阻止API)。構建Akka工作流引擎
是否有任何庫可以完全使用Akka/Actor避免沉重的工具包(如activiti/camunda)來實現工作流程?或想法如何最好地使用阿卡與activiti/camunda?
在我們的Scala/Play應用程序中,我們使用activiti。 (也試驗camunda)用戶可以創建工作流程(如圖所示http://camunda.com/)。所有對這些外部工作流引擎的調用都包含在Scala Future(activiti和camunda API都是Java阻止API)。構建Akka工作流引擎
是否有任何庫可以完全使用Akka/Actor避免沉重的工具包(如activiti/camunda)來實現工作流程?或想法如何最好地使用阿卡與activiti/camunda?
您可以嘗試使用Akka FSM dsl執行相同的旁路活動並阻止apis。請參閱http://doc.akka.io/docs/akka/snapshot/scala/fsm.html
請注意,camunda非常有powerful asynchronous continuation features,它允許您將任何長時間運行的處理委託給後臺線程。這允許在客戶端(可能是HTTP)線程中同步完成「多少工作」的非常靈活的配置。這可以讓您在性能和容錯之間取得良好的平衡。
我知道使用Akka(Java)構建的Catify BPMN Engine的存在。我沒有任何經驗,也不知道API調用是否是異步的,但我期望如此。由於它是用Akka編寫的,它應該與Play!很好地結合在一起。
那麼,Akka FSM可以很好地適用於實現「靜態」工作流程,您可以在其中瞭解狀態機。 Activiti/Camunda允許您即時創建工作流程/流程定義,並且用戶可以動態更改工作流程等。是否有一種方法可以動態創建類似於activiti/camunda/jbpm的FSM? – user2066049 2014-10-01 13:20:25