Welcome to MSDN Blogs Sign in | Join | Help

BizTalk vs. Windows Workflow Foundation (WF)

I have seen the questions about the differences between BizTalk and WF and "when to use what" have been raised multiple time.  Based on my experiences with both technologies and my readings (some listed below), I summarized the usage scenario as follows:

- Use WF for application hosted workflow and human workflow
- Use BizTalk for server-hosted system workflow, BAM, B2B and EAI (enterprise application integration).
 
In case you're interested to know why?  Not surprisingly, this is very much driven by the product features.
For WF:
  • WF is hosted inside application. 
  • Also, WF supports state machine workflows and dynamic update on workflows, which make it ideal for impelmenting human workflows or other dynamic workflows.
 
For BizTalk:
  • BizTalk workflow is hosted inside BizTalk process and depends on BizTalk server runtime.
  • BizTalk has extensive line of adapters and pipeline components that are often a must-have for cross-platform Enterprise Application Integration (EAI).
  • BizTalk provides tools for working with trading partners such as Business Activity Services (BAS), accelerators for industry standards (RosettaNet, SWIFT etc.).  These features make BizTalk more suitable for B2B scenarios.
  • Other features that BizTalk has but WF doesn't (or has to be implemented by developer)
    •     Tracking: natively integrated wtih the Business Activity Monitoring (BAM)
    •     Transaction: supports both atomic transaction and long-running transaction
    •     Extensive set of tools for admin, management, migration and scaling

Some other posts related to this topic I found quite helpful and highly recommend are:

Microsoft's offical comparison on these two technologies at MSDN Developer Center.
Brian Loesgen's blog http://blogs.ineta.org/bloesgen/archive/2005/10/09/56481.aspx
Lamont Harrington's blog http://blogs.msdn.com/lamonth/archive/2005/09/14/466222.aspx
Darren Jefford's blog http://blogs.msdn.com/darrenj/archive/2005/09/15/467838.aspx

Published Tuesday, December 13, 2005 4:02 PM by chunyu

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

Tuesday, May 02, 2006 1:51 AM by thompson

# re: BizTalk vs. Windows Workflow Foundation (WF)

Hi Chunyu,

Thanks for your article.It gave me a lot of insight about Biztalk.
But i have a query about biztalk related to your observations:
1. can we create human and application embedded workflows using biztalk. i.e.is it possible or not possible at all.Also can we use workflow created in biztalk as a reference in a .net assembly

regards
thompson
Tuesday, May 02, 2006 2:41 AM by chunyu

# re: BizTalk vs. Windows Workflow Foundation (WF)

In general there're two types of workflow: sequencial workflow and state-machine workflow.  The former tends to refer to system workflow (e.g. well-defined B2B transactions) and the latter refers to human workflow.  But it doesn't always have to the case. Some human workflow that doesn't involve complex state transisitions may be better off implemented as system workflow.

You can implement sequencial workflow with either BizTalk or WF.  And you can build state-machine workflow with WF easily, it'd be much harder to do that w/ either BizTalk 2006 or BizTalk 2004.

To the second part of your question, yes, you can expose your BizTalk workflow (or orchestration in BizTalk term) as a web service and expose it to your .net code.

Hope this helps.
Tuesday, May 02, 2006 5:52 AM by thompson

# re: BizTalk vs. Windows Workflow Foundation (WF)

Thanks Chunyu for your prompt help.

As you have mentioned that biztalk orchestration can be used in .net assembly, similary is it possible to create custom activities and custom events in .net using vs.net 2003 and then use them inside biztalk workflow.
 
Also when we are using biztalk orchestration as a webservice inside a .net application, can we use the features of bitalk like reporting, transaction rollback etc on each instance of biztalk workflow.

Will you mind if i post some more queries related to biztalk for your inputs

Best Regards
Sunday, June 18, 2006 9:28 AM by Assaf Sasson

# re: BizTalk vs. Windows Workflow Foundation (WF)

One thing I don't understand is how to implement human workflow using WF ?

Other competitors products defines a "Task" entity and let you create tasks, escalate them, reject or close them, get a list of open tasks per user etc..
You do it by using a web-service or an API supplied by the tool's framework.

Where is this feature in WF ? do I need to code all this stuff myself ?
Tuesday, October 03, 2006 11:47 PM by Eric Stott

# re: BizTalk vs. Windows Workflow Foundation (WF)

Good article, it helps explain in multiple ways the differences!

Leave a Comment

(required) 
required 
(required) 

  
Enter Code Here: Required
 
Page view tracker