views:

838

answers:

3

This is a multipart question:

First, what is your personal opinion of WF?

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.

+4  A: 

I don't like the fact that WF 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.

EDIT:

Oops. I should have at least tried to answer part 2 :)

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 workflow for a 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.

Alex
Thanks, those are important points. Have you had experience with any other workflow engines?
Luke Schafer
"WWF" is a trademark, actively protected, of the World Wildlife Foundation. Windows Workflow Foundation is correctly "WF".
Richard
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
A: 

Longer answer in this SO thread, but K2.net is also .NET based.

JP Alioto
+1  A: 

I have used http://codeplex.com/simplestatemachine in one production system successfully (an ASP.Net system for handling 350+ different government business license issuance)

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 http://code.google.com/p/stateless/, which looks interesting.

We switched to a open source alternative simply because our experience with WF was not good.

DodyG
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