I have used http://codeplex.com/simplestatemachine in one production system successfully (an ASP.NET system for handling 350+ different government business license issuance).
A simple state machine is implemented in Boo, so we just expose the definition in a text file which the system administrator can modify. In the editor we do verification to make sure the editing is correct and the workflow is actually functional.
I don't like the fact that workflows are persisted to the database in a binary format. It means you can't make sense of it by just looking at the database.
There is only very weak support for versioning. This means that if you update your workflow it is a real hassle to make sure any existing workflows running on the previous version can finish. You need to mess around with web.config and specify the different version's of your .dll files.
I did play around with a couple. WorkflowGen was pretty easy to use and powerful. But in the end I just decided to roll my own because we only needed workflows for simple tasks such as sending emails to suppliers when purchase orders were raised and invoices needed to be paid. I also had complete control of the source and could make modifications this way.
发布评论
评论(4)
我已经在一个生产系统中成功使用了 http://codeplex.com/simplestatemachine (一个 ASP.NET 系统处理 350 多个不同的政府营业执照颁发)。
Boo 中实现了一个简单的状态机,因此我们只需将定义公开在系统管理员可以修改的文本文件中。 在编辑器中,我们进行验证以确保编辑正确并且工作流程实际上有效。
今天我发现了这个,https://github.com/nblumhardt/stateless,看起来很有趣。
我们转向开源替代方案只是因为我们在工作流程方面的经验不佳。
I have used http://codeplex.com/simplestatemachine in one production system successfully (an ASP.NET system for handling 350+ different government business license issuance).
A simple state machine is implemented in Boo, so we just expose the definition in a text file which the system administrator can modify. In the editor we do verification to make sure the editing is correct and the workflow is actually functional.
Today I found this, https://github.com/nblumhardt/stateless, which looks interesting.
We switched to an open source alternative simply because our experience with Workflow was not good.
我不喜欢工作流以二进制格式保存到数据库中。 这意味着仅通过查看数据库无法理解它。
对版本控制的支持非常弱。 这意味着,如果您更新工作流程,那么确保在先前版本上运行的任何现有工作流程都可以完成是一个真正的麻烦。 您需要修改 web.config 并指定 .dll 文件的不同版本。
我确实和一对夫妇一起玩过。 WorkflowGen 非常易于使用且功能强大。 但最终我决定推出自己的,因为我们只需要简单任务的工作流程,例如在提出采购订单和需要支付发票时向供应商发送电子邮件。 我还可以完全控制源代码并可以通过这种方式进行修改。
I don't like the fact that workflows are persisted to the database in a binary format. It means you can't make sense of it by just looking at the database.
There is only very weak support for versioning. This means that if you update your workflow it is a real hassle to make sure any existing workflows running on the previous version can finish. You need to mess around with web.config and specify the different version's of your .dll files.
I did play around with a couple. WorkflowGen was pretty easy to use and powerful. But in the end I just decided to roll my own because we only needed workflows for simple tasks such as sending emails to suppliers when purchase orders were raised and invoices needed to be paid. I also had complete control of the source and could make modifications this way.
我们一直在使用需要简单工作流程的产品线之一;
http://objectflow.codeplex.com/
We've been using for one of our product lines that reqiuires simple workflows;
http://objectflow.codeplex.com/
您可能希望看一下 Jazz,它允许您用 C# 编写工作流程 - http://jazz.codeplex.com/
You may wish to take a look at Jazz which allows you to write workflows in C# - http://jazz.codeplex.com/