开发者

Windows Workflow usage in large web applications

Although, most of the examples I checked on the Internet use WF to deal with wizard-like steps or de开发者_Go百科signing a workflow-based UI, and since Windows Workflow can deal with state machines, and if we say, we have a website like Stackoverflow.com, In what areas of the application would we use the WorkFlow foundation?

Examples:

  • A user's question has got 10 up-votes, give its owner a bronze badge.
  • A question has just got 10,000 views, set its top_question flag.

Should these small (but there is really too many of them) events should be handled using Windows Workflow?

Is there any WF components to be placed on the top of the built-in WF to ease such operations?


I have yet to see a successful application build with a workflow engine like WF, BizTalk or any of the other engines out there. By successful I mean: it made it to production and the resulting application was easier to maintain than if it had been built without an out of the box workflow engine.

Udi Dahan posted a very interesting blog on the topic where he elaborates why this stuff usually only works on demos but not in real life.

To be fair, I should clarify that I do not have any hands on experience on WF, I did play with BizTalk a while ago and found it completely over the top for what I needed.


I have not used the state machine part of wwf, but only sequential workflows.

At first I was excited because I hoped that using wwf could realy solve some of our problems.

At the end it was realy a mess and I was happy that our project was only a small one:

  • the designer crashed regularly (it was the VS 2008 designer to be fair, VS 2010 is more stable)
  • loading medium sized workflows into the IDE was painfully slow
  • medium sized workflows are much harder to read then source code. This is not specific to wwf but a problem of all visual coding environments
  • there is no out of the box ui for controlling running workflow instances
  • I am not 100% shure but I think wwf has no versioning of workflows. If you have a couple of workflow instances already running and you want to change the workflow then there will be issues.

WWF can be solution to a specific problem, but I can hardly imagine a web application that benefits from wwf.


I've used state machine with WF (.net 3.5) and product released to production. It was a e procurement system that purchase request, purchase order need to go thru a several states (Approver, Requestor, etc). However, we come across few issues like if your state machine change after production, instances already in database should be run according to new state machine by manually otherwise, it gives an error. I think state machine work with simple application if you have complex logic like interacting with UI approval may be cause some problems.I haven't check .net 4.0 WF yet may be it will have solutions.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜