The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Windows workflow foundation

what kind of apps require workflow? i understand how workflow work but i don't get where workflow will come in handy in software.

can someone explain or give an example on how workflow can be use?
Thursday, July 06, 2006
>"i understand how workflow work but i don't get where workflow will come in handy in software."

I'm not sure I understand those two statements in the context of each other.

Anywhoo, here you go:
Posted by me
Thursday, July 06, 2006
In summary, there are two ways.

1) A software program can execute a workflow. For example, if you complete a form, it can automatically send the form to the person who needs to approve it.

2) The workflow can also govern how you develop software. For example, you may not be allowed to create a new function until you write the documentation and test cases for that function.

Microsoft's Visual Studio 2005 can do both. You can use it to define rules (develop workflows) for developing your own software programs.

(Err...  Visual Studio executes a workflow for designing workflows for using Visual Studio.)

Anyway, unless you're involved in process engineering or software development according to very specific rules, you probably will never need Windows workflow foundation.
Thursday, July 06, 2006
Everything we do every day is a workflow. A real world example is the type of software that I write: Point of Sale systems. Walking the cashier through your typical (and not so typical) transaction is an example of a workflow. But then again, so is ordering merchandise, shipping a package, charging a credit card, checking software into a version control system, and paying your bills.

I'm surprised that people are dismissing this so quickly. I see it as a potential opportunity for an ISV. Turning business workflows into software solutions seems like the next logical step for most big businesses.

Having written my own workflow solution I can say that I was particularly interested in Windows Workflow Foundation. The biggest issue that I see is the same one that I also struggle with. How do you pass data between related workflows and still make them pluggable? Microsoft's answer is to use something akin to session state. I'm personally not so sure that I like that approach.
Turtle Rustler
Thursday, July 06, 2006
@ me

i understand what workflow is but i fail to understand how and where do you apply workflow in software.

thank for input. i'll check out the link
Thursday, July 06, 2006
"Turning business workflows into software solutions seems like the next logical step for most big businesses."

This has been done since the 1980's. The most primitive example is that of the flow chart translated into a series of IF-THEN-ELSE statements.

What you're seeing lately is really two separate phenomenons:

1) Businesses in general are demanding software that allow them to directly establish their workflows rather than rely upon a developer. This is somewhat similar to advent of WYSIWYG web publishing; you can now do the job without knowing HTML or JavaScript.

2) Microsoft is attempting to impose a loosely defined workflow on the software development process.  Visual Studio 2005 provides better support for integrating MS Project, testing and configuration management tools. The general idea is that a senior developer can define a rule prohibiting you from modifying code unless you (automatically) complete certain dialogs and check the code out first.

Windows Workflow Foundation appears to be a combination of the ideas in the sense that the same "tools" you use to modify the behavior of Visual Studio can be offered to the customer to modify your shipping product.
Thursday, July 06, 2006
For the record, I'm skeptical of the claim that "you can offer the same tools to your customer" as I really can't see Microsoft allowing you to just cut and paste controls. I think it's more likely Microsoft is subconciously hoping developers will see the advantages of such a philosophy and they in turn will start designing their own products to be customizable.
Thursday, July 06, 2006
I think Microsoft knows jack about effective software development workflow, so I would look elsewhere for useful information...
Mike S Send private email
Friday, July 07, 2006
I've looked at WWF a little bit, and I'm mixed on the implementation so far.  I like the idea of abstracting workflow away from the lower-level plumbing of an app.  Turtle Rustler mentioned session state, and I think that's an apt description.  You end up being able to (and having to) break business state of a work item out so that it's separable.

In order to get WWF, you've got to be able to get your head around asynchronous operations for workflow just like you've got to "get" stateless HTTP operations to really be any good at web development.  In short, you set workflows in motion, and then send info in to them and respond to events, but you rely on the workflow engine to manage the state of each workflow.

My suspicion is that this will probably be a little more work than just hard-coding the workflow, especially for simple scenarios, but I also beleive you'll end up with a more flexible, more reusable app foundation.

My real disappointment has always been MS's decision to abandon the business user as a creator / maintainer of workflows.  I'd love to see a path to get end-users more directly connected with these business processes.  At this point, I think the best-case scenario is that MS reels in the end-users at some later point, once WWF starts to make some inroads into app development.  There's also the small point of integration / coordination w/ BizTalk that would be nice to sort out, too.

At some point, I'd like to take what I've seen so far and write it up, but I haven't gotten to it yet....
D. Lambert Send private email
Friday, July 07, 2006
What I miss the most is SQL Workflow Services. Out of the box you could workflow-enable SQL database tables, essentially slapping a nice flowchart GUI on top of SQL trigger mechanisms. WWF doesn't appear to have this out of the box, although it looks far more ambitious than SQL Workflow.

It was a mature product, up to 3 versions, then Microsoft canned it or ignored it in favour of BizTalk and now WWF. Ah well...
Glen Low
Tuesday, July 11, 2006

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz