Content by Category
.NET 1.x
.NET 2.0
.NET 3.0
.NET 3.5
.NET 4.0
.NET Assemblies
.NET Framework
.NET Getting Started
Accessibility
ADO.NET
Advertorials
Agile Development
AJAX
Architecture
ASP.NET
ASP.NET MVC
ASP.NET WebForms
Azure
B2B (Business Integration)
Bing
BizTalk
Book Excerpts
Build and Deploy
C#
C++
ClickOnce
Cloud Computing
Code Contracts
CODE on the Road!
COM+
Community
Conferences
Continuous Integration
Crystal Reports
CSLA.NET
CSS
Data
Design Patterns
Development Process
Display Technologies
Distributed Computing
DotNetNuke
DSL
Dynamic Programming
Editorials
Enterprise Services ("COM+")
Entity Framework
Events
Expression Blend
F#
Fox to Fox
Frameworks
Functional Programming
Git
Graphics
Internet Explorer 8.0
Interviews
iPhone
Iron Ruby
Java
Java Script
jQuery
LINQ
Linux
Mac OS X
MDX
Microsoft Application Blocks
Microsoft Business Rules Framework
Microsoft Dynamics
Microsoft Expression
Microsoft Office
Mobile Development
Mobile PC
Mono
MsBuild
Network
NHibernate
Object Oriented Development
Odata
Open Source
Opinion
Opinions
Oracle
ORM
Other Languages
Parallel Programming
Patterns
Podcasts
Post Mortem
PowerPoint
Print/Output
Prism
Product News
Product Reviews
Project Management
Python
Q&A
Rails
Rake
Reporting Services
REST
RIA Services
Ruby
Ruby on Rails
Search
Security
Services
SharePoint
Silverlight
SOA
Social Networks
Software & Law
Software Business
Source Control
Speech-Enabled Applications
SQL Server
SQL Server 2000
SQL Server 2005
SQL Server 2008
SQL Server CE/AnyWhere/Mobile/Compact
SSIS
Subversion
Sync Framework
Tablet PC
TDD
Team System
Techniques
Testing and Quality Control
Tips
UI Design
UML
User Groups
VB Script
VB.NET
Version Control
VFP and .NET
VFP and SQL Server
Virtual Earth
Vista
Visual Basic
Visual Basic 6 (and older)
Visual FoxPro
Visual Studio .NET
Visual Studio 2005
Visual Studio 2008
Visual Studio 2010
Visual Studio Tools for Office
VSX
WCF
Web Development (general)
Web Services
WF
Whitepapers
Windows 7
Windows Azure
Windows Live
Windows Server
Windows Vista
WinForms
Workflow
WPF
XAML
XML
XNA
XSLT



Free Webinar


 


VFPConversion.com


Reader rating:
Click here to read 14 comments about this article.
Article source: CoDe (2007 Nov/Dec)


Article Pages:  1  2 3 4 5 6 - Next >


Windows Workflow Foundation Essentials

It can be tough keeping up with all the new technologies released by Microsoft, but Windows Workflow Foundation (WF) is a technology you do not want to miss. This article demonstrates the benefits of Windows Workflow and invites you to roll up your sleeves and get started creating your first basic workflows.

If you are building applications that contain business processes and rules, you can immediately benefit from the ease of use and tremendous power of Windows Workflow diagrams, class libraries, runtime, and rules engine to get your application out the door more quickly and allow customization of rules and workflow-even after you deploy your application.

What Is Windows Workflow Foundation?

Windows Workflow Foundation (WF) is a general-purpose programming framework for creating reactive programs where business rules and flow of control are represented graphically. As you shall see, the WF programming model separates the what from the when.

.NET 3.0?

Windows Workflow Foundation is one of four technologies (along with Windows Presentation Foundation, Windows Communication Foundation, and Windows CardSpace) released by Microsoft as part of the .NET 3.0 Framework. The “3.0” designation is confusing to many developers because it seems to indicate that these technologies must be used with a new version of the .NET Framework. In reality, they work with (and currently depend on) version 2.0 of the .NET Framework as shown in Figure 1.

Click for a larger version of this image.

Figure 1: It’s counterintuitive, but the .NET 3.0 technologies work with and depend on version 2.0 of the .NET Framework.

The problem with the 3.0 moniker is that some development shops choose not to use these new technologies because they think they need to install a new version of the .NET Framework and don’t want to make that shift in the middle of their current development cycle. So again, Microsoft has shot itself in the foot with another naming faux pas.

"
There are two types of diagrams to choose from-sequential and state machine. Sequential workflows are similar to flowchart or UML activity diagrams. State machine diagrams define a set of states with possible transitions between them.
"

In reality, these 3.0 technologies are all add-on technologies that work with the .NET 2.0 Framework and Visual Studio 2005. You can use these technologies in the same way that you use third party add-ons for the .NET 2.0 Framework.

Windows Workflow Benefits

Of all the .NET 3.0 technologies, Windows Workflow is the most complete in terms of functionality and design-time experience.

From a pragmatic perspective, I don’t like to use a new technology unless it’s ready for prime time and provides tangible benefits. Windows Workflow hits the mark on both points. Here are some of the benefits you reap from WF:

  • It provides a higher-level level of abstraction and visual representation of your business processes that makes them easy to understand and design-by both developers and business domain experts.
  • It’s easy to change the flow and rules associated with business processes, often without having to recompile.
  • WF programming encourages developers to create a core set of well-tested activities that you can reuse in multiple applications.
  • Compared to their UML counterpart-Activity Diagrams-WF diagrams are first-class software artifacts that don’t become outdated and diverge from business process logic because they are the business process logic.
  • The Windows Workflow runtime provides a robust, scalable environment for your workflows to execute. Workflows can be persisted to a database when they become idle (optional) and reactivated when an external stimulus occurs.

Activity-Oriented Programming

Windows Workflow introduces .NET developers to the concept of activity-oriented programming. This programming model focuses on creating application functionality by combining sets of activities to accomplish a larger business process.

As you can see in the partial workflow shown in Figure 2, a Workflow diagram contains activities such as validateProductActivity, sellProductActivity, backOrderProductActivity, and shipOrderActivity, which execute a single piece of work in a workflow.

Click for a larger version of this image.

Figure 2: A workflow diagram contains activities that each perform one part of a business process.

The Windows Workflow designer allows you to add activities to a diagram and specify the flow of the work to be executed by means of conditional branching and other flow-of-control constructs that execute based on rules that you specify. This is a powerful approach that takes your application processing code “out of the weeds” and elevates it to a place where it is easy to understand and configure.

&

By: Kevin McNeish

Kevin McNeish is President of Oak Leaf Enterprises, Inc, and chief architect of the MM .NET Application Framework. He is a Microsoft .NET MVP and a well-know INETA speaker and trainer throughout North America and Europe including VSLive!, DevTeach (where he serves as one of the .NET chairs), SDC Netherlands, and Advisor DevCon. He is co-author of the book Professional UML with Visual Studio .NET, author of the book .NET for Visual FoxPro Developers, writes articles and has been interviewed for .NET Rocks! He spends about half his time on the road training and mentoring companies to build well-designed, high-performance .NET applications.

kevinm@oakleafsd.com

Fast Facts

Windows Workflow is a new .NET 3.0 technology that allows you to define your business processes in a visual manner by means of workflow diagrams. This makes it much easier to understand the flow of a business process for both developers and non-technical business domain experts.



Article Pages:  1  2 3 4 5 6 - Next Page: 'Getting Started in Windows Workflow' >>

Page 1: Windows Workflow Foundation Essentials
Page 2: Getting Started in Windows Workflow
Page 3: Quick Start with the Code Activity
Page 4: Creating Custom Activities
Page 5: Enhancing Custom Activities
Page 6: Passing Parameters to the Workflow

How would you rate the quality of this article?
1 2 3 4 5
Poor      Outstanding

Tell us why you rated the content this way. (optional)

Average rating:
3.7 out of 5

62 people have rated this article.

      Free Webinar

 

DevReach