views:

35

answers:

1

For a web based order workflow application I am considering whether or not to use windows workflow foundation. Essentially the status of an order may be considered as approx. one column in a database. Depending on the status of an order and the role of a user different asp.net pages are presented to the user.

Is this a scenario where one would consider using wwf? I can see the advantage of a graphical design of the workflow - is that a decisive advantage? How about the persistency of wwf itself w.r.t. the existing database with orders?

A: 

IMHO it depends on whether this "workflow" (the flow of pages in the applicatoin) is static, dynamic, or is expected to change but rarely.

If the flow is static (known at compile time), then it wouldn't be worth it. If the flow changes constantly, unless you can encapsulate that dynamism at compile time with workflow, then probably not.

But, if the flow changes per installation or per client yes. An example would be that the flow of documents depends on the outcome of, say, a business analyst's summary. It would be different per client, and so a different page flow would be designed using workflow and then plugged into the system.

It seems to me that you fall into the middle range. You have a well known process that may flow through a number of different steps depending on the status of an order. Your choice will probably be determined by the difficulty of implementing your page flow as a workflow and the ease of describing the process using out of the box activities.

I'd suggest creating a simple (such as a 3 step process) website that uses workflow for page flow. You'll soon find out how hard/easy it is to describe and control page flow using WF.

Will
What do you think about wwf-persistency w.r.t. existing database?
Gerard
@gerard not sure at all what you're talking about. If you're asking how hard it is to add persistence related tables to an existing database, it's easy enough. Just make sure you run the correct script against the database of choice.
Will
@Will: It seems to me that wwf implements it's own persistency stategy where e.g. db records are saved only after a certain timeout-interval. I find it hard to understand why the db records wouldn't be saved immediately.
Gerard
@Gerard persistence is time consuming and not something that should be done every time a workflow is idled. You can, of course, control this: http://mleder.blogspot.com/2009/09/wf-40-persistence.html
Will