Windows Workflow Foundation (WF) and BizTalk both provide workflow capabilities.
This brings up many questions. Which should be used?
How does one make this determination? Is WF a replacement
of BizTalk? I’m not the best person to answer these questions,
but many, more qualified individuals, have already done so. In
Professional BizTalk Server 2006 Jefford, Smith, and Fairweather suggest
using “WF for within your application and BizTalk Server for use
between your applications” (616). Former Group
Product Manager for BizTalk, Scott Woodgate, also advises the use of WF for scenarios
where the workflow will be used only within an application and recommends BizTalk
for situations where a workflow will span multiple applications (http://blogs.msdn.com/scottwoo/archive/2005/10/10/479331.aspx).
When evaluating the two, it is also important to keep in mind that, though both
are centered around workflows, their intensions are fundamentally different.
WF is a foundational building block used to create systems in a way that
separate processes from application code. On the other
hand, BizTalk is an enterprise-caliber platform for building service-oriented applications.
WF provides an API that developers can use and build upon while BizTalk offers
a number of prebuilt components that almost all enterprise-caliber service-oriented
systems need. For instance, BizTalk provides adapters to integrate
disparate systems, a durable, transactional message store, orchestration abilities,
message transformation, a business rules engine (BRE), a scalable architecture,
monitoring and management functionality, administrative tools, and a proven history
with thousands of successful installs. Each of BizTalk’s
features that are absent in WF must be implemented by end users; even the ones that
it does include (e.g., the BRE), must be tested, built upon, supported and scaled
up by its users.
As posted
elsewhere on the Internet, the following table further compares these two
technologies:
|
Feature
|
BizTalk
|
WF
|
|
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
|
|
%
|