410 likes | 538 Views
FT17. Spice Up Your Applications with WF 4 . M att Winkler P rogram Manager mwinkle@microsoft.com http://blogs.msdn.com/mwinkle. Where This Talk Fits. Visual Studio. IIS Management. Activities. PowerShell. Application Host. WCF Runtime. WF Runtime. Persistence. Monitoring.
E N D
FT17 Spice Up Your Applications with WF 4 Matt Winkler Program Manager mwinkle@microsoft.com http://blogs.msdn.com/mwinkle
Where This Talk Fits Visual Studio IIS Management Activities PowerShell Application Host WCF Runtime WF Runtime Persistence Monitoring Storage Process Host
WF in 3 minutes or less • WF is three things • Activities • Runtime • Tooling • To use WF in your app • Build activities • Create workflows which use those activities • Let the runtime deal with running the activities
Embedded Process Engine • Separate execution logic from application • Modular grouping of logic • Standard vs. Premium Customer order processing • Process will be updated without redeploying the application • Coordinate asynchronous, potentially long running work
Loading Workflow Foo.dll Compile via XAML Build Task <Activity x:Class=“Foo" > <x:Members> <x:Property Name="argument1“ Type="InArgument(x:String)" /> <x:Property Name="argument2” Type="InArgument(x:String)" /> </x:Members> C# (DynamicActivity) Activity x = ActivityXamlServices.Load(xamlFile); WorkflowInvoker.Invoke(x, new Dictionary … ); Execute with DynamicActivity
WorkflowInvoker Foo WorkflowInvoker.Invoke(new foo)
WorkflowApplication Foo Foo Foo varwa = new WorkflowApplication(new Foo) wa.Run() wa.Cancel() wa.Unload() wa.Persist() wa.ResumeBookmark()
WorkflowServiceHost WorkflowServiceHost Foo Foo Foo
WF Persistence Basics Host WorkflowApplication wa.Persist() Idle
Collecting Workflow Events Workflow Runtime Scheduler Tooling raises events Tracking Provider Tracking Profile add Monitoring Data notify Tracking Participant Application Host
Custom Activities • Activities are the mechanism to do the important work in your domain • Customize the authoring components for the logic in your application • Compositional model allows you to create the right level of abstraction for authoring • Replicate the real world in your building blocks (custom composites)
Customer –xRM Application Framework Client • Declarative development of relational business applications using flexible models and dynamic services. • Business Application Services • Multi-tenant controller • Event pipeline, solution sandbox, audit, data quality, client sync, indexing • Robust web services • Enterprise-scale, role-based deployment Forms / Views Workflow Security Application models in metadata Entities Multi-tenant controller SQL
Activity Authoring CodeActivity AsyncCodeActivity Activity NativeActivity DynamicActivity
Control Flow Styles A Parallel • Execution pattern for composite activities • Any activity can be the root • Control flow activities can be composed Activity 1 B Activity 1 PickBranch PickBranch PickBranch C Activity 2 Activity 2 Approve Reject Delay (TimeOut) Activity 3 Activity 3 Action A Action B Action C D Activity 4
ActivityAction • Creating a mechanism to let your workflow authors to plug custom logic into your activity at prespecified “holes” • Consumers extend an activity in a natural way, through more activities Approval Payment Process Order Receive Order Reserve Inventory Ship Order
Custom Activities demo
Customized Authoring Environment • Visualization of process • Visualization of instance information • User construction or editing of process definition • Customize the visualization of an activity
Custom Activity Designers Surface key data Display contained elements ExpressionTextBox WorkflowItemPresenter WorkflowItemsPresenter
Designer Rehosting Items Host Editing Context Services Designer
Summary • Highlighted 3 different aspects of WF in your app • Showed key types for using WF • The activity model provides a lot of power, write custom activities! • Designer rehosting brings workflow visualization into your application • Highlighted some interesting applications built by our internal customers
Next Steps • File… New Project… Workflow • Other talks @ PDC • Workflow Internals, next session, this room. • WF Services, WCF and AppFabric talks tomorrow • Chalk talks • Come see us in the booth!
Breakouts • FT25: Microsoft Application Server Technologies: Present and Future - Tuesday, 1:30, 515A • FT04: Windows Workflow Foundation 4 from the Inside Out– Wednesday, 3:00 502A • FT17: Spice Up Your Applications with WF 4 - Wednesday, 1:30, 502A • FT13: What’s New for Windows Communication Foundation 4 - Wednesday, 10:00 Petree Hall D • FT14: Workflow Services and “Dublin” - Wednesday, 11:30 Petree Hall D • FT27: Application Server Extensibility with Microsoft Project Code Name “Dublin” and Microsoft .NET 4 - Thursday, 1:45 Petree Hall D • Scaling Your Data Tier with Microsoft Project Code Name “Velocity” - Thursday, 1:45 403AB • CLI06: Networking and Web Services in Silverlight - Wednesday, 3:00 Hall E 151 • SVR15: Microsoft BizTalk Server Futures and Roadmap - Tuesday, 3:00 502A • SVR16: Connecting Applications with the Microsoft BizTalk Enterprise Service Bus - Tuesday, 4:30 515B • FT55: Developing REST Applications with the .NET Framework – Wednesday, 11:00 Hall E 151
Chalk Talks • Monitoring and Managing “Dublin” Services • State Machine Workflow Futures • Migrating Workflows from WF 3.5 to WF 4 • Visual WF Tracking and Debugger Rehosting
Hands On Labs • Introduction to Windows Workflow Foundation in .NET 4 • Introduction to Workflow Services in .NET 4 • What’s new in WCF 4? • Introduction to Microsoft Project Code Name “Velocity” • Introduction to BizTalk Server 2009 Demo: Process Automation Solution with SharePoint & WF • Introduction to the BizTalk ESB Toolkit: Providing Service Integration Agility
Web Resources • WCF Developer Center • http://msdn.microsoft.com/wcf • http://msdn.microsoft.com/wcf/rest • WF Developer Center • http://msdn.microsoft.com/wf • BizTalk Developer Center • http://msdn.microsoft.com/biztalk • AppFoo Developer Center • http://<> • Team Blog: • http://blogs.msdn.com/endpoint • Nicholas Allen’s Blog • http://blogs.msdn.com/drnick • Matt Winkler’s Blog • http://blogs.msdn.com/mwinkle
Resources • Trident • http://research.microsoft.com/en-us/collaboration/tools/trident.aspx
xRM @ PDC 2009 • Visit us at the booth in the pavilion • Try hands on labs • Extending CRM5 and Solutions Packaging • Building CRM5 Data Visualizations and Dashboards • Attend sessions
YOUR FEEDBACK IS IMPORTANT TO US! Please fill out session evaluation forms online at MicrosoftPDC.com
Learn More On Channel 9 • Expand your PDC experience through Channel 9 • Explore videos, hands-on labs, sample code and demos through the new Channel 9 training courses channel9.msdn.com/learn Built by Developers for Developers….