Dharma Shukla is an architect at Microsoft working on next-generation programming models. A founding member of the Windows Workflow Foundation (WF) team, Dharma played a key role in defining the architecture of WF. Bob Schmidt is a senior program manager at Microsoft working on next-generation programming models. Since 2003, his primary focus has been on the design of WF. Both authors have been involved with the WF project since its inception, and have been responsible for specifying, designing, and developing large portions of the technology.
Essential Windows Workflow Foundationby Dharma Shukla, Bob Schmidt
In Essential Windows Workflow Foundation, two WF lead architects–Dharma Shukla and Bob Schmidt–offer an under-the-hood look at the technology, explaining the why and not just the how of WF’s key concepts and architecture. Serious WF developers seeking details about how to effectively utilize and extend the framework by writing activities/i>… See more details below
In Essential Windows Workflow Foundation, two WF lead architects–Dharma Shukla and Bob Schmidt–offer an under-the-hood look at the technology, explaining the why and not just the how of WF’s key concepts and architecture. Serious WF developers seeking details about how to effectively utilize and extend the framework by writing activities will find cogent explanations and answers here. With simple and illustrative examples, the authors demonstrate exactly how to leverage WF’s extensible programming model to craft domain-specific programs. Drawing on their unique vantage point in designing and developing WF, Shukla and Schmidt deliver authoritative coverage of
• The core concepts and ideas that form the heart of WF’s programming model • The execution model for activities, with details of the activity automaton, bookmarking, scheduling, and the threading model of the WF runtime • Advanced execution concepts, including activity execution contexts, transactions, persistence points, passivation, fault handling, cancellation, compensation, and synchronization • Hosting the WF runtime in applications • The activity component model, with details of validation, compilation, serialization, and visualization • Databinding, XAML, dependency properties, and WF program metadata • Declarative conditions and rules, activity designers, and designer hosting • Custom control flow patterns ranging from simple sequencing and iteration to more complex graphs and state machines • Dynamic editing of running WF program instances
Essential Windows Workflow Foundation is the definitive resource for developers seeking an in-depth understanding of this novel technology.
Meet the Author
and post it to your social network
Most Helpful Customer Reviews
See all customer reviews >
WWF encapsulates some intriguing abilities that were hitherto not available in C#/.NET, or in the competing Java environment. Or at least not easily available. In both areas, there has already been the concept of serialisation. Where you can write code from memory to disk in a manner such that the code's classes can be read back as functioning binaries, at some later time. Both also have transactions and threads. WWF takes those ideas and merges them. The authors show how this results in the concept of a resumable program. The core idea in WWF. So a runtime program can be passivated (the equivalent of the earlier serialisation idea), and given a globally unique id. Then, a special Runtime program can de-passivate the program and run it, at some future time. In essence, it gets around the conundrum that when a conventional program, in any language, ends, then it ends. You needed to write custom code in another program, that could invoke the first, in some fashion. Very clumsy and error prone. WWF provides a declarative and robust way to transcend the ending of a program. Takes scheduling to the next level. Plus, the book shows that the de-passivating of a resumable program can be done on another machine, that has access to the medium in which the program was passivated. (This was the point of using a globally unique id for the passivated program.) Obvious implications for load balancing and robustness design.