2

我正在开发一个系统,用户在其中更改数据并提交更改。现在我们正在考虑引入工作流程,即引入数据提交的审批流程。有人会批准数据。在数据修改未被批准之前,不应将其保存在数据库中。

  1. 有人知道 Web 应用程序中的工作流程吗?
  2. 我们的应用程序涉及在多个表中进行编辑,以及在审批过程中我们将如何存储数据。

谢谢,-纳伦

4

1 回答 1

1

有许多选项,但大多数都围绕将数据存储在临时状态(数据库表、XML 文档、JSON 数据结构等),然后在工作流结束后持续存在。这可能会导致许多并发症,例如:中毒事务、乱序处理、工作流过程中的超时以及处理过程中对工作流的更改等等。我怀疑您会想要使用某种形式的编排过程(BizTalk、ESB、NServiceBus、Windows 工作流等)。

如果您想手动管理工作流程。

直播表

[dbo].[MyTable] (
    -- columns here
)

加工表。工作流过程完成后,您会将数据从处理表复制到活动表。

[dbo].[MyTableInProcess] (
    -- identical columns as MyTable
    , [State]
    , [ApprovingUser]
    , [DateProcessCommenced]
)

请注意,此实现extremely crude需要做大量工作才能被视为生产就绪,但希望能让您走上正确的道路。

于 2013-02-05T11:44:56.643 回答