December 2007 Archives
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 | Prebuilt host process that is proven, scalable, load-balanced, and redundant | Hosted in a custom application that must be built by end users |
| Designer | Included in Visual Studio | Included in Visual Studio or in a custom designer built by end users |
| Scalability | Highly scalable as proven by thousands of installs | Must be achieved by end users |
| Transactional integrity | Long running and atomic (ACID) transactions | Must be implemented by end users |
| Tracking infrastructure |
|