35

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.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Luke Schafer
  • 9,209
  • 2
  • 28
  • 29

4 Answers4

15

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.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
DodyG
  • 511
  • 4
  • 8
  • 1
    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 Nov 17 '09 at 22:31
10

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.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Alex
  • 34,776
  • 10
  • 53
  • 68
  • Thanks, those are important points. Have you had experience with any other workflow engines? – Luke Schafer May 25 '09 at 05:30
  • 5
    "WWF" is a trademark, actively protected, of the World Wildlife Foundation. Windows Workflow Foundation is correctly "WF". – Richard May 25 '09 at 08:48
  • 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 Dec 29 '09 at 23:35
  • @Alex Given link is dead so edit your ans to provide live link. – 4b0 Jul 02 '13 at 07:08
5

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

http://objectflow.codeplex.com/

Marcus
  • 61
  • 1
  • 1
  • That looks really good actually. I no longer work for that company, but if I did, I probably would have chosen this – Luke Schafer Feb 15 '11 at 01:51
1

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