Whats the purpose of Windows Workflow Foundation (

2019-04-28 02:45发布

问题:

I have read about windows workflow foundation where people use this to model a business process, why not to use UML?

According to some answers, the workflow can be my domain?

What other tools are equivalent to the WF?

回答1:

Workflow foundation is an executable workflow - the framework includes an engine that executes the workflow.

It allows you to write parts of your workflow logic in code.

I suggest reading this developers introduction on MSDN.

UML doesn't do either thing - you can't use code as part of your UML or execute your UML workflows.

UML is intended as a documentation and communication tool.

Workflow Foundation is a software tool that is used for modelling and executing workflows.


Update, regarding suitability for modelling the domain.

Since the core of Workflow Foundation is to model workflows, that is what you should use it for. If you core domain is not workflows, you should model it in a more traditional manner. You can use Workflow Foundation to model the workflows of your model.



回答2:

When a program (process) needs to run for a long time and much of its time is spent waiting (for input, for a timeout, ...) it still consumes memory and CPU time. Windows Workflow Foundation is able to run such a program and swap it out to a persistent store (such as SQL Server) and activate it again when the process should continue.

The designer you are referring to is a nice way to draw the program instead of writing it in C#.

UML is a totally different 'thing' ('beast' if you like) it is a language for analyzing and designing processes and software.



回答3:

Windows Workflow Foundation is an actual runtime - a real, tangible framework for executing long running programs written in C#, targetting the Microsoft CLR.

UML, on the other hand, is just an abstract way to define "programs," on paper, metaphorically speaking. It's quite possible that someone could design a workflow in UML and then have someone do the work to implement it on WWF, i.e. write the actual code, or use a UML to XAML generator.