When I started studying Windows Workflow Foundation (WF), I was confused with the fact that there are lots of similarities between WF and BizTalk Server. Then I did some more studies and got hold of some good posts from Microsoft regarding the comparison of WF and BizTalk Server. Let me share what I summed up.
Windows Workflow Foundation
Windows Workflow Foundation (WF) is a programming model, set of tools, and runtime environment that allows one to write declarative workflows on the Windows platform to represent the execution model of your programs. The WF runtime is part of the .NET Framework, first appearing in .NET Framework 3.0, with improvements in .NET Framework 3.5.
Microsoft BizTalk Server
Microsoft BizTalk Server provides an efficient and effective way to integrate systems and businesses through manageable business processes, enabling them to automate and orchestrate interactions in a highly flexible and highly automated manner.
Microsoft BizTalk Server provides a development and run-time environment for business process management (BPM) and automation.
Fundamental Difference between WF and BizTalk Server
WF and BizTalk are not competing technologies. Windows Workflow Foundation and BizTalk are complementary technologies that serve different needs.
|Windows Workflow Foundation ||BizTalk Server|
|WF is a developer framework used to implement workflow inside an application. ||BizTalk Server is a product that can be used to implement workflow across disparate applications. |
|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. |
|WF is a framework that provides developers with the base components they need to build the modules that will be used to automate processes. ||BizTalk Server is a platform that provides developers with the pieces they need to automate business process. |
|WF does not have the inherent features or tools for tracking, administration and so on that is available with BizTalk. ||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. |
Comparison between WF and BizTalk Server
The following table shows the feature comparison between WF and BizTalk Server:
|Feature ||Windows Workflow Foundation ||BizTalk Server |
|Hosting ||Hosted in a custom application (client-side execution, but the client could be an ASP.NET application) ||Server-side in the BizTalk process |
|Designer ||Included in Visual Studio, or custom designers can be written ||Included in Visual Studio |
|Scalability ||Developer must implement ||Well-proven, highly scalable |
|Transactional integrity ||Developer must implement ||Long running and atomic (ACID) transactions |
|Tracking infrastructure ||Simple framework pieces provided that allow you to build the tracking infrastructure ||Comprehensive Business Activity Monitoring infrastructure provided |
|Runtime modification of “in-flight” workflows ||Yes, but developer must implement ||No, workflows are defined at design time |
|Cross-platform integration capabilities ||Not supported natively ||Extensive adapters available |
|Composability ||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 ||A BizTalk process could invoke a WF process via Web service call, or from a helper class or expression shape |
|Management and administration ||Developer must implement ||Extensive set of tools provided for IT pros to administer and track execution |
|Windows Communications Framework (formerly “Indigo”) support ||Natively supported ||Through an adapter, or could be called from an expression shape or helper class |
|Rules engine support ||Yes ||Yes |
|Extensible activities ||Yes ||No |
|Transformation capabilities ||No ||Yes |
|Programmability ||WF is a framework. You must implement applications to use it. ||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) |
- 30th July, 2009: Initial post