Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Workflow Engine for .NET [closed]

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.

like image 636
Luke Schafer Avatar asked May 25 '09 04:05

Luke Schafer


People also ask

What is workflow engine in C#?

Quick overview. Workflow Engine is the perfect solution if you are dealing with business entities life cycle management in a project. Using embedded drag&drop designer you can create processes in your system and manage your workflows via a simple API.

What is Elsa workflow?

Elsa Workflows is a set of workflows libraries that enable workflow execution in any . NET Standard application. Workflows can be defined using C# code or using JSON. A workflow designer is provided in the form of an HTML5 web component.

How does a workflow engine work?

A workflow engine is a software application designed to help users enforce a series of recurring tasks that make up a 'business process' or a 'workflow'. Workflow engine takes cues from the workflow's design and guides the process through its various steps. This is done by task routing, also called workflow automation.

What is a workflow process?

According to Wikipedia, a workflow “consists of an orchestrated and repeatable pattern of business activity enabled by the systematic organization of resources into processes that transform materials, provide services, or process information.” Maybe Wikipedia meant to say, put more simply, “a workflow defines the steps ...


2 Answers

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.

like image 172
DodyG Avatar answered Sep 24 '22 05:09

DodyG


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.

like image 34
Alex Avatar answered Sep 22 '22 05:09

Alex