O'Reilly logo

Programming .NET 3.5 by Jesse Liberty, Alex Horovitz

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 12. Introducing Windows Workflow Foundation

Microsoft’s Windows Workflow Foundation (WF) is a programming framework that facilitates the creation of reactive programs (described in the upcoming sidebar) designed to respond to external stimuli. It is an implementation of an important new idea that has recently found its way into programming: programmers, seeing the power of runtimes (such as the JVM and the CLR), are now starting to ask for the incorporation of design constructs as data in the same way type definitions are available as data.

Runtimes have shown the value of machine-readable representations. By way of example, most programmers almost immediately see the benefit of features such as reflection and serialization. The question naturally arises, “Why can’t I model control flow, logic constructs, concurrency, and other design-time constructs as data in the same way I can model methods, fields, and classes?” The answer: there is no good reason.

Fortunately, the folks at Microsoft were thinking along the same lines, and they have given us an extensible meta-runtime in the form of WF. The meta approach taken by the architects of WF, under the leadership of Dharma Shukla, has resulted in a highly user-driven implementation (and by user, we mean you!). The WF programming model is organized around specific activities. WF is also inherently extensible, which makes it easier for you to capture the intentions of domain experts in the grammars/languages they know and understand. ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required