我负责一群即将开始开发轻量级保险索赔系统的开发人员.该系统涉及许多手动任务和业务工作流程,我们正在寻找使用Windows Workflow(.NET 4.0).
业务域的示例如下:保单持有人致电联络中心提出索赔.这个"事件"触发两个子任务,这两个子任务是并行手动操作的,可能需要很长时间才能完成;
- 检查客户是否存在欺诈行为 - 操作员致电各信用公司以检查和评估欺诈客户的潜力的手动流程.从这里,子任务可以输入多个子状态(检查进度,参考检查失败,传递参考检查等)
- 将物品发送到维修中心 - 手动过程中,保单持有人提出索赔的物品将被送到维修中心进行修理.从这里,子任务可以输入许多子状态(等待修复,进行中,修复,发布等).只有在每个子任务的状态达到预定义状态(基于业务规则)后,才能继续声明.
从表面上看,Workflow似乎确实是最好的技术选择; 但是我对使用WF 4.0有一些顾虑.
- 技能组合 - 查看普通开发人员技能组合,我看不到很多了解或了解Workflow的开发人员.
- 可维护性 - 社区内对WF 4.0项目的支持似乎很少,而且缺乏技能组合引起了对可维护性的担忧.
- 进入障碍 - 我有一种感觉,Windows Workflow有一个陡峭的学习曲线,并不总是那么容易上手.
- 新产品 - 由于Workflow已经完全重写为.NET 4.0,我将该产品视为第一代产品,可能没有必要的稳定性.
- 声誉 - 以前版本的工作流程并不受欢迎,被认为难以开发并导致业务不佳.
所以我的问题是我们应该在这种情况下使用Windows Workflow(WF)4.0还是有替代技术(例如,简单状态机等)甚至是更好的工作流引擎?