MSDN Magazine - January 2009 - (Page 51) between WCF and WF leaves something to be desired. In the WCF Service .NET Framework 3.5, the WCF artifacts have to be defined and WCF Work ow configured using the WCF programming and configuration model, while the workflow is defined using a different model. WCF Endpoint Ultimately, you end up with multiple artifacts that need to be External Client deployed, configured, and managed separately. Service Another reason for the difficulty is that the current base WCF Endpoint activity library concentrates on flow-control and logic activiExternal ties and doesn’t provide much in the way of work activities. So Service you must write a library of custom activities before you can implement real-world workflow services with WF. Given the complexity of that job, some developers have given up before Figure 1 WCF Workflow Services they are able to experience the benefits of WF. In addition to these issues, current WF also lacks tool support for eXtensible Application Markup Language (XAML)-on- gramming model for custom activities, a new flowchart workflow ly workflows, which are also referred to as declarative workflows type, and numerous WCF-specific improvements. because they’re completely described in an XML file without any codebehind files. The XAML-only approach creates some compel- WF Base Activity Library ling workflow hosting and deployment possibilities. The powerful The .NET Framework 4.0 comes with an enhanced base activity thing about a declarative workflow is that it’s just data that can be library containing several new activities (see Figure 2). Microsoft stored anywhere and executed within a WF runtime environment also plans to begin making additional WF activities available through that knows about the activities being used. CodePlex between major .NET Framework releases. You’ll also beA declarative workflow can be deployed to a runtime in the cloud gin to see more work activities (such as the PowerShellCommand or to a workstation under your desk (assuming the activities have activity) appear in future releases (or on CodePlex), thereby reducbeen deployed to the runtime host). Declarative workflows are also ing the need for custom activity development. And because Microeasier to version, and they can be used in partial-trust scenarios soft is using CodePlex, you have a good opportunity to make your (think “cloud”). The XAML-only model is also easier to build tools opinion heard on what additional activities you’d like to see. around since the tools are just working with XML files. The .NET Framework 4.0 introduces a few core activities that In general, the XAML-only model has always been the ultimate provide more flow-control options, including the FlowChart, Forvision for WF as a technology, which is evident in the early writings Each, DoWhile, and Break activities. The new FlowChart activity is by its architects. However, the current WF tool support doesn’t fully realize that vi- Figure 2 New WF Activities in the .NET Framework 4.0 sion. While it’s possible to build XAML- Activity type Description only workflows with the .NET Framework FlowChart Flow Control Executes contained activities using the familiar 3.5, you have to work around the current flowchart paradigm. Visual Studio templates and give up im- ForEach Flow Control Executes a collection of activities in sequence. portant features, such as debugging. Flow Control Pauses workflow execution by creating an outstanding Break The main goal for WCF and WF in the Bookmark. .NET Framework 4.0 is to simplify the DoWhile Flow Control Executes the contained activities once and continues to developer experience around declarative do so while a condition is true. workflows and services, fully embracing a PowershellCommand Windows Powershell Executes a command in the Windows Powershell XAML-only model. In addition, Microenvironment. soft wanted to take things one step further sendMessage WCF sends a one-way message through WCF. by making it possible to define declara- receiveMessage WCF Waits for a one-way message to arrive through WCF. tive workflow services. That is, WCF ser- Clientoperation WCF Builds on sendMessage/receiveMessage to invoke a vices that are completely defined in terms WCF operation. of XAML, including the service contract serviceoperation WCF Builds on receiveMessage/sendMessage to expose a definitions, endpoint configurations, and WCF operation. the actual service implementation (in the Correlationscope WCF Defines a scope for correlating multiple WCF messages. form of a XAML-based workflow). initializeCorrelation WCF Allows you to establish a correlation value in advance. To accomplish this, Microsoft has made Assign runtime Assigns a value to a workflow-level variable. numerous improvements in the .NET Methodinvoke runtime Executes a method of a CLr object. Framework 4.0, including an extended Persist runtime Explicitly requests that the workflow persist its state. base class activity library, a simpler promsdnmagazine.com January 2009 51 http://www.msdnmagazine.com
Table of Contents Feed for the Digital Edition of MSDN Magazine - January 2009 Toolbox CLR Inside Out Basic Instincts Cutting Edge Test Run First Look Geneva Framework Silverlight Windows Mobile Service Station Security Briefs Extreme ASP.NET Foundations .NET Matters { End Bracket } MSDN Magazine - January 2009 MSDN Magazine - January 2009 - (Page Intro) MSDN Magazine - January 2009 - (Page Cover1) MSDN Magazine - January 2009 - (Page Cover2) MSDN Magazine - January 2009 - (Page 1) MSDN Magazine - January 2009 - (Page 2) MSDN Magazine - January 2009 - (Page 3) MSDN Magazine - January 2009 - (Page 4) MSDN Magazine - January 2009 - (Page 5) MSDN Magazine - January 2009 - (Page 6) MSDN Magazine - January 2009 - (Page 7) MSDN Magazine - January 2009 - (Page 8) MSDN Magazine - January 2009 - Toolbox (Page 9) MSDN Magazine - January 2009 - Toolbox (Page 10) MSDN Magazine - January 2009 - Toolbox (Page 11) MSDN Magazine - January 2009 - Toolbox (Page 12) MSDN Magazine - January 2009 - Toolbox (Page 13) MSDN Magazine - January 2009 - Toolbox (Page 14) MSDN Magazine - January 2009 - CLR Inside Out (Page 15) MSDN Magazine - January 2009 - CLR Inside Out (Page 16) MSDN Magazine - January 2009 - CLR Inside Out (Page 17) MSDN Magazine - January 2009 - CLR Inside Out (Page 18) MSDN Magazine - January 2009 - CLR Inside Out (Page 19) MSDN Magazine - January 2009 - CLR Inside Out (Page 20) MSDN Magazine - January 2009 - Basic Instincts (Page 21) MSDN Magazine - January 2009 - Basic Instincts (Page 22) MSDN Magazine - January 2009 - Basic Instincts (Page 23) MSDN Magazine - January 2009 - Basic Instincts (Page 24) MSDN Magazine - January 2009 - Basic Instincts (Page 25) MSDN Magazine - January 2009 - Basic Instincts (Page 26) MSDN Magazine - January 2009 - Basic Instincts (Page 27) MSDN Magazine - January 2009 - Basic Instincts (Page 28) MSDN Magazine - January 2009 - Basic Instincts (Page 29) MSDN Magazine - January 2009 - Basic Instincts (Page 30) MSDN Magazine - January 2009 - Cutting Edge (Page 31) MSDN Magazine - January 2009 - Cutting Edge (Page 32) MSDN Magazine - January 2009 - Cutting Edge (Page 33) MSDN Magazine - January 2009 - Cutting Edge (Page 34) MSDN Magazine - January 2009 - Cutting Edge (Page 35) MSDN Magazine - January 2009 - Cutting Edge (Page 36) MSDN Magazine - January 2009 - Cutting Edge (Page 37) MSDN Magazine - January 2009 - Cutting Edge (Page 38) MSDN Magazine - January 2009 - Test Run (Page 39) MSDN Magazine - January 2009 - Test Run (Page 40) MSDN Magazine - January 2009 - Test Run (Page 41) MSDN Magazine - January 2009 - Test Run (Page 42) MSDN Magazine - January 2009 - Test Run (Page 43) MSDN Magazine - January 2009 - Test Run (Page 44) MSDN Magazine - January 2009 - Test Run (Page 45) MSDN Magazine - January 2009 - Test Run (Page 46) MSDN Magazine - January 2009 - Test Run (Page 47) MSDN Magazine - January 2009 - Test Run (Page 48) MSDN Magazine - January 2009 - Test Run (Page 49) MSDN Magazine - January 2009 - First Look (Page 50) MSDN Magazine - January 2009 - First Look (Page 51) MSDN Magazine - January 2009 - First Look (Page 52) MSDN Magazine - January 2009 - First Look (Page 53) MSDN Magazine - January 2009 - First Look (Page 54) MSDN Magazine - January 2009 - First Look (Page 55) MSDN Magazine - January 2009 - First Look (Page 56) MSDN Magazine - January 2009 - First Look (Page 57) MSDN Magazine - January 2009 - First Look (Page 58) MSDN Magazine - January 2009 - First Look (Page 59) MSDN Magazine - January 2009 - First Look (Page 60) MSDN Magazine - January 2009 - First Look (Page 61) MSDN Magazine - January 2009 - First Look (Page 62) MSDN Magazine - January 2009 - First Look (Page 63) MSDN Magazine - January 2009 - Geneva Framework (Page 64) MSDN Magazine - January 2009 - Geneva Framework (Page 65) MSDN Magazine - January 2009 - Geneva Framework (Page 66) MSDN Magazine - January 2009 - Geneva Framework (Page 67) MSDN Magazine - January 2009 - Geneva Framework (Page 68) MSDN Magazine - January 2009 - Geneva Framework (Page 69) MSDN Magazine - January 2009 - Geneva Framework (Page 70) MSDN Magazine - January 2009 - Geneva Framework (Page 71) MSDN Magazine - January 2009 - Geneva Framework (Page 72) MSDN Magazine - January 2009 - Geneva Framework (Page 73) MSDN Magazine - January 2009 - Geneva Framework (Page 74) MSDN Magazine - January 2009 - Silverlight (Page 75) MSDN Magazine - January 2009 - Silverlight (Page 76) MSDN Magazine - January 2009 - Silverlight (Page 77) MSDN Magazine - January 2009 - Silverlight (Page 78) MSDN Magazine - January 2009 - Silverlight (Page 79) MSDN Magazine - January 2009 - Silverlight (Page 80) MSDN Magazine - January 2009 - Silverlight (Page 81) MSDN Magazine - January 2009 - Silverlight (Page 82) MSDN Magazine - January 2009 - Silverlight (Page 83) MSDN Magazine - January 2009 - Silverlight (Page 84) MSDN Magazine - January 2009 - Silverlight (Page 85) MSDN Magazine - January 2009 - Silverlight (Page 86) MSDN Magazine - January 2009 - Silverlight (Page 87) MSDN Magazine - January 2009 - Windows Mobile (Page 88) MSDN Magazine - January 2009 - Windows Mobile (Page 89) MSDN Magazine - January 2009 - Windows Mobile (Page 90) MSDN Magazine - January 2009 - Windows Mobile (Page 91) MSDN Magazine - January 2009 - Windows Mobile (Page 92) MSDN Magazine - January 2009 - Service Station (Page 93) MSDN Magazine - January 2009 - Service Station (Page 94) MSDN Magazine - January 2009 - Service Station (Page 95) MSDN Magazine - January 2009 - Service Station (Page 96) MSDN Magazine - January 2009 - Service Station (Page 97) MSDN Magazine - January 2009 - Service Station (Page 98) MSDN Magazine - January 2009 - Security Briefs (Page 99) MSDN Magazine - January 2009 - Security Briefs (Page 100) MSDN Magazine - January 2009 - Security Briefs (Page 101) MSDN Magazine - January 2009 - Security Briefs (Page 102) MSDN Magazine - January 2009 - Extreme ASP.NET (Page 103) MSDN Magazine - January 2009 - Extreme ASP.NET (Page 104) MSDN Magazine - January 2009 - Extreme ASP.NET (Page 105) MSDN Magazine - January 2009 - Extreme ASP.NET (Page 106) MSDN Magazine - January 2009 - Extreme ASP.NET (Page 107) MSDN Magazine - January 2009 - Extreme ASP.NET (Page 108) MSDN Magazine - January 2009 - Foundations (Page 109) MSDN Magazine - January 2009 - Foundations (Page 110) MSDN Magazine - January 2009 - Foundations (Page 111) MSDN Magazine - January 2009 - Foundations (Page 112) MSDN Magazine - January 2009 - Foundations (Page 113) MSDN Magazine - January 2009 - Foundations (Page 114) MSDN Magazine - January 2009 - Foundations (Page 115) MSDN Magazine - January 2009 - .NET Matters (Page 116) MSDN Magazine - January 2009 - .NET Matters (Page 117) MSDN Magazine - January 2009 - .NET Matters (Page 118) MSDN Magazine - January 2009 - .NET Matters (Page 119) MSDN Magazine - January 2009 - { End Bracket } (Page 120) MSDN Magazine - January 2009 - { End Bracket } (Page Cover3) MSDN Magazine - January 2009 - { End Bracket } (Page Cover4)
For optimal viewing of this digital publication, please enable JavaScript and then refresh the page. If you would like to try to load the digital publication without using Flash Player detection, please click here.