Brian Loesgen's *OLD* Blog, new blog is http://blog.BrianLoesgen.com

This blog has moved to http://blog.BrianLoesgen.com

  Home  |   Contact  |   Syndication    |   Login
  141 Posts | 0 Stories | 145 Comments | 81 Trackbacks

News

Tag Cloud


Archives

Post Categories

Image Galleries

My Blog Friends

I’ve just returned from the Workflow conference in Redmond, where for a full week we attended presentations on BizTalk Server 2006, Windows Workflow Foundation (WF) and Windows Communication Foundation (WCF).

In what is likely a pre-cursor for what will happen when Windows Workflow Foundation gets wider exposure, there was rampant confusion among the attendees concerning BizTalk Server and WF. When do you use what? Does the existence of one mean the demise of the other? Can they work together? Would you want to use them together? I will try to sum up (in a very succinct manner) what some of the key differences are.

First off, let’s get this out of the way upfront, WF is NOT “BizTalk Light”. WF is a framework that provides the building blocks needed to build workflow-based applications. BizTalk is an integration server that includes the ability to add business process automation.

BizTalk Server is a platform that provides developers with the pieces they need to automate business process, Windows Workflow Foundation is a framework that provides developers with the base components they need to build the modules that will be used to automate processes. BizTalk provides a lot of capabilities that are needed for serious business process automation that WF developers would have to write. To name a few, BizTalk has proven scalability, tracking, administration and transformation capabilities that a WF developer would need to write from scratch.

The intended audience for WF is primarily ISVs, people that need to include workflow as part of their applications. Some examples of these would be:

1. Office 12
2. BizTalk (in a post-BizTalk 2006 version)
3. Page flow in ASP.NET
4. Line of Business Systems such as CRM, Dynamics, etc

Perhaps much of the confusion stems from the fact that the designers look very similar. This is not surprising, given that the same team worked on both. In fact, if you look back at a post I did after PDC 2003 on the Windows orchestration engine, this was an early look at Window Workflow Foundation. However, don’t judge workflow technologies by their appearance.

The following table is not intended to be an in-depth comparison of the feature sets of both technologies. It does however compare and contrast some key features.

Feature

BizTalk Server 2004/2006

Windows Workflow Foundation

Hosting

Server-side in the BizTalk process

Hosted in a custom application (client-side execution, but the client could be an ASP.NET application)

Designer

Included in Visual Studio

Included in Visual Studio, or custom designers can be written

Scalability

Well-proven, highly scalable

Developer must implement

Transactional integrity

Long running and atomic (ACID) transactions

Developer must implement

Tracking infrastructure

Comprehensive Business Activity Monitoring infrastructure provided

Simple framework pieces provided that allow you to build the tracking infrastructure

Runtime modification of “in-flight” workflows

No, workflows are defined at design time

Yes, but developer must implement

Cross-platform integration capabilities

Extensive adapters available

Not supported natively

Composability

A BizTalk process could invoke a WF process via Web service call, or from a helper class or expression shape

WF processes cannot directly invoke a BizTalk application, although you could indirectly by calling an orchestration that had been exposed as a Web service (for example), or perhaps by API usage

Management and administration

Extensive set of tools provided for IT pros to administer and track execution

Developer must implement

Windows Communications Framework (formerly “Indigo”) support

Through an adapter, or could be called from an expression shape or helper class

Natively supported

Rules engine support

Yes

Yes

Extensible activities

No

Yes

Transformation capabilities

Yes

No

Programmability

BizTalk Server exposes APIs for most parts, and has numerous extensibility points such as pipeline components, adapters and “functoids” (out-of-the box and custom mapper components)

WF is a framework. You must implement applications to use it.

So, does WF replace BizTalk? Not at all. They are complimentary technologies. Hopefully this post has shown that.

Most importantly, hopefully WF will expand the ranks of developers that know it’s OK to at least partially create applications by drawing diagrams.

No matter which path you take, these are very cool technologies and we, as architects and developers, will be having a lot of fun with them over the next few years.

What's in a name?

WF has gone through a lot of name changes as the technology has baked. So why is Indigo WCF now, but Windows Workflow is WF? Well... because apparently the World Wildlife Foundation has a trademark on "WWF". And if you look at this article, they actually “smacked down“ the World Wrestling Federation in 2000. So... for now at least, Windows Workflow Foundation abreviates down to "WF" (does Wells Fargo know about this? :)).

Learning more:

Understanding BizTalk Server 2004: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/BTS_2004WP/html/c245a8af-9f01-410f-b1bc-c43e725bfc27.asp

David Chappell's overview white paper on Windows Workflow Foundation: http://msdn.microsoft.com/windowsvista/building/workflow/default.aspx?pull=/library/en-us/dnlong/html/WWFIntro.asp

WinFX site at MSDN: http://msdn.microsoft.com/windowsvista/building/workflow/default.aspx

posted on Sunday, October 09, 2005 1:55 PM