首页 文章

Activiti vs Spring批次

提问于
浏览
1

我有一个用例来实现 . 它基本上是一种工作流类型的用例 . 以下是要求

  • 将数据从外部数据库提取并导入内部数据库

  • 将此导入的数据转换为不同的格式,并将其提供给多个外部系统,并在那里调用一些脚本 . 外部接口是SFTP,SOAP,JDBC,基于CORBA的Python . 有大约14个外部系统,其中一个接口 .

  • 接口事务以大约15个步骤执行,能够并行运行一些步骤

  • 这些步骤应该是可配置的 . 即,特定流程可以执行这15个步骤中的10个步骤,而另一个流程执行15个步骤中的15个步骤

  • 应该能够单独重新启动每个步骤或从特定步骤重新启动

  • 有一些手动步骤,手动步骤的完成应触发下一步

数据量并不大 . 总数据大小约为40万条记录 . 但是这个过程一次执行大约3万条记录 . 开发时间较少,我们正在寻找一些易于学习和实施解决方案的轻量级产品 .

我们正在寻找基于Spring或Spring的可集成解决方案 .

我们考虑的解决方案是

For workflow: Activiti, Spring Batch

For interfaces: Spring Integration

我的问题是1)可以将Spring批量考虑用于管理工作流类用例吗?我不认为它是Spring Batch的最佳使用案例,但由于其简单易用,因此寻找其范围 . 我们考虑进行接口交互,因为批处理作业中的每个步骤和tasklet内部都执行Spring Integration for external接口,据我所知,几乎没有问题 .

a)动态步骤配置可以使用Java配置完成,但它有多灵活,是否建议使用?

b)Spring Batch中无法进行手动步骤处理

这有什么工作吗?这样做还有其他问题或性能影响吗?

2)Activiti似乎是一个解决方案 . 对于这个用例,你能否提供一些关于Activiti与Spring和Spring集成的反馈,并且易于实现?并支持Activiti

3)Activiti工作流程是否可以从特定任务重新启动?任务是否可以回滚?

欢迎任何建议!!

1 回答

  • 0

    1)为了管理工作流程,Activiti将是一个很好的选择 . 他们创建了一个非常好的流程引擎,它应该满足您委派任务以及调用自定义逻辑的需求 . 而且,它完全基于Spring Framework,因此与您的逻辑集成将很容易 .

    2)我在第一个答案中提供了相同的内容 .

    3)不,你必须为它创建一个新的工作流程和是!,一个任务可以回滚 .

相关问题