Workflow Engine for .NET

70,936

Solution 1

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.

Solution 2

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.

Solution 3

We've been using for one of our product lines that reqiuires simple workflows;

http://objectflow.codeplex.com/

Solution 4

You may wish to take a look at Jazz which allows you to write workflows in C# - http://jazz.codeplex.com/

Share:
70,936
Luke Schafer
Author by

Luke Schafer

Updated on May 20, 2020

Comments

  • Luke Schafer
    Luke Schafer about 4 years

    This is a multipart question:

    First, what is your personal opinion of Workflow?

    Second, are there any other good .NET-based workflow engines? Some information about my usage:

    • Using both static and dynamic workflows
    • Integrate with Castle (Monorail and Windsor)
    • Utilizing queuing via MSMQ
    • We want a simple, clean, non-leviathan framework.
    • GUI workflow editing is not really required, but I don't care if it has it.

    I don't care whether the workflow is defined in DB, XML or Code, as however we decide to define it we can write an adapter if it's not already supported. Proprietary (free or fee) is fine, but open source is preferred.

  • Luke Schafer
    Luke Schafer about 15 years
    Thanks, those are important points. Have you had experience with any other workflow engines?
  • Richard
    Richard about 15 years
    "WWF" is a trademark, actively protected, of the World Wildlife Foundation. Windows Workflow Foundation is correctly "WF".
  • Luke Schafer
    Luke Schafer over 14 years
    interesting, thanks. We're using NSB Sagas at the moment with hard-coded workflows, but the idea is to move to something dynamic from a generic 'workflow saga'. I'll have to see how these might fit in.
  • Luke Schafer
    Luke Schafer over 14 years
    It really bugged me that I haven't accepted an answer to this yet. While no answers actually gave me a product/project I can use, we decided to roll our own based on this suggestion and suggestions from other sources too. It's working pretty well so I think Alex deserves the acceptance
  • Luke Schafer
    Luke Schafer over 13 years
    That looks really good actually. I no longer work for that company, but if I did, I probably would have chosen this
  • 4b0
    4b0 almost 11 years
    @Alex Given link is dead so edit your ans to provide live link.