在贷款请求方案中建议使用哪种工作流技术

本文关键字:技术 工作流 请求 方案 | 更新日期: 2023-09-27 18:33:02

我们将开发一个 ASP.NET 的MVC 4 Web应用程序,该应用程序需要基于工作流。场景如下所示:

场景

用户通过提交表格请求获得银行贷款, 操作员在其仪表板的网格中找到请求,他们看到 细节,如果可以,他们会将其发送给老板,然后将其发回给 用户修复或完成请求(如果没有(。老板决定付钱 贷款与否,如果是并且价格低于它的资金 部分,如果它高于某物,则请求会转到另一个老板和 等等..

要求

  • 在每种状态下,可能会附加一些额外的相关数据,例如在发送请求时计算的用户点。
  • 存在流程管理器(管理员(,无论请求位于何处,他都可以取消任何请求,或者将请求传递给他希望的任何人。
  • 可能有多个转换可用,哪个状态可以沿它们移动,状态应检查条件并选择一个转换。

同时,操作员可以

  • 在彼此之间传递请求(如果允许(,例如,如果他们太忙或要去度假(替代
  • (查看
  • 请求历史记录并查看往返过程中更改了哪些数据(版本控制(
  • 在将请求发送给下一个请求或将其返回给某人之前写下笔记。

问题

在上述情况下,哪种技术更合适,为什么?

  • 工作流基础
  • 商务对话

或库,如:

  • 简单状态机
  • 爵士乐
  • 无 国籍
  • 状态机编译器

在贷款请求方案中建议使用哪种工作流技术

我不会将 BizTalk 用于此目的,即使我是一名 BizTalk 开发人员多年,并使用它实现了类似的工作流。

原因是我得出的结论是,在 BizTalk 中对复杂的业务工作流进行建模是对 BizTalk 真正擅长的诅咒,即高性能消息路由和转换以及主机集成功能。

但是,我也不会为此使用 WF。我认为 MS 使 WF 变得不必要地难以使用。我使用WF3,这是第一个版本,所以也许情况有所改善。但据我所知,MS 从 WF4 开始删除了状态机工作流,现在仅支持顺序工作流。

所以在回答你的问题时,我认为两者都不适合这个目的。

为什么不从除了MVC,JQuery和SQL Server之外 ASP.NET 没有技术堆栈。这似乎是目前的MS Web开发标准。可能您已经获得了这方面的许可。

即使您似乎预先提出了您的要求,您也可能会发现您列出的部分甚至大部分要求可能会发生变化甚至删除。

因此,从一两个核心用户故事开始,这些故事可以在小迭代中快速交付,然后继续添加类似的功能。当你到了需要开始研究其他技术或框架的时候,就是重新评估决策的时候了。在这一点上,我个人会考虑使用 NServiceBus sagas 作为管理长时间运行的进程的另一种选择。

我认为在规划过程中过早地做出关于技术堆栈的决定可能会在很多方面对你不利。

抱歉不直接解决您的原始问题。