ASP.NET based Workflow Engine
Asked Answered
L

10

8

I am working on a design spec for a new application that will be heavily workflow driven.

Before I re-invent the wheel, is there a decent lightweight workflow engine that plugs into ASP.NET already around?

Basically, I'm looking for something that handles moving through a defined set of workflow pages while handling state management automatically.

If this isn't around already, I'll definitely try to abstract the engine from my app and put it on codeplex, as it would be really handy.

Any suggestions?

Note: .NET 2.0, so no WWF, though I think WWF is overkill for my needs.

EDIT: Seems like there is a legitimate need for this, and there isn't a product out there...So I might build this.

Here is what I'm picturing:

  • Custom Page class called WebFlowPage
  • All WebFlowPage's are registered in a Workflow mapper.
  • Each WebFlowPage has some form of state object.
  • A HttpHandler handles picking the appropriate WebFlowPage based upon the workflow, and populating it from the state object.
Lifeguard answered 24/11, 2008 at 22:38 Comment(1)
hmm...if we were starting now, we would have thrown our engine and would have gone for wwf...if you would set copy local checkbox, you could just get the needed 3.5 dlls and run in on 2.0. sorry for offtopicIstria
D
2

Is the workflow dynamic, or static?

If the workflows are simple, you could roll your own workflow engine. In certain situations, it can be fairly simple, and just a couple of data tables to handle the rules, processing and state.

Alot of workflow engines are built for large scale processing (credit card applications, for example). For small scale, you should at least consider your own, which would eliminate the overhead and dependency of/on an engine.

Degraw answered 25/11, 2008 at 0:0 Comment(0)
P
2

Not sure exactly what you wish to do here, but Ra-Ajax can easily keep state at least if you want your solution ajaxified...

For reference purposes you might want to check out the Ajax Calendar sample or even the (banalistically implemented) Ajax Wizard sample. It surely beats the hell out of doing it with JavaScript...

And every time you "do something" you're in "server-land" which means you can store temporaries all the time as you wish...

The project is LGPL

(PS! Yes I do work with it)

Paramedic answered 25/11, 2008 at 0:26 Comment(1)
Thanks Thomas, but thats not exactly what I had in mind. Good luck with the legal litigation issues with your product though. It looks great, its a shame about Gaia.Lifeguard
H
2

Building a custom workflow engine is not trivial, although it may seem simple at first. We've tried that. It depends a lot on the complexity of the logic you need it to cover.

Given the current state of the Windows Workflow Foundation and the lack of another framework that abstracts the workflow concepts, I would choose WF if you need complex logic, asynchronous handling or branches in your workflows.

Tracking your state through the workflow can be accomplished by carrying some kind of xml payload or storing the state in a database,

If your workflow is actually a sequential set of forms that need to be filled in by the user, tracking the steps and guiding the user to the next step can be accomplished with some simple custom solution.

Haemolysin answered 7/12, 2008 at 21:22 Comment(0)
S
2

You could take a look at the InRule engine too. Also, there is nxBRE.

These too are mostly used for business rules. InRule is proprietary, whereas nxBRE supports RuleML (the defacto standard).

You might need to make your own implementation for the pages, and use the rule engine as the "structure".

At this moment, I know that Sharepoint 2007 supports page workflows (using WF), but this would imply using .NET Framework 3 and deployng sharepoint.

My suggestion would be to use whatever you find more light and easier to use.

Singular answered 8/12, 2008 at 21:13 Comment(0)
B
2

I think the term "workflow" is very open to interpretation. I have been working lately with a type of workflow that is very different from what you seem to be describing. Mine is a state machine based workflow where the state of a particular record determines what actions a user can take to move the record to the next step in the business process. So "workflow" in this instance means how the record flows from one state to another until it is finally completed.

Your usage of workflow seems to have more to do with moving a user from one page to another in a linear multi-step process, which is a completely different use case (correct me if I'm wrong). So before coming up with a general purpose "workflow" engine that anyone could use, I would recommend defining a little bit better exactly what types of situations this system would handle.

Butyraldehyde answered 24/12, 2008 at 4:12 Comment(0)
H
1

While browsing the web for some workflow & BPM resources, I found the following project: NetBPM. Unfortunately, the project seems to be stopped.

Haemolysin answered 8/12, 2008 at 20:41 Comment(0)
M
1

I've been using this for a few months http://objectflow.codeplex.com. Not asp specific but it may fit your needs

Marinetti answered 4/12, 2010 at 19:43 Comment(0)
U
0

I don't think there is a workflow engine that will automatically handle state for you, but if you are moving through a set of pages like a process such as checkout on an ecommerce site, perhaps the ASP.NET wizard control could help you?

Unstained answered 24/11, 2008 at 22:57 Comment(0)
A
0

There are few workflow options. "Aspose" and "Skelta" are the offers I´m evaluating.

Fábio

Airscrew answered 8/7, 2009 at 19:44 Comment(0)
P
0

you can use WorkFlow Engine, just read the document and run the Demo. all of the features you need for a dynamic workflow engine they added in there.

Phylloquinone answered 5/1, 2022 at 8:40 Comment(1)
Your answer could be improved with additional supporting information. Please edit to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers in the help center.Mcgowen

© 2022 - 2024 — McMap. All rights reserved.