BizTalk and Windows Workflow

It always comes down to choices.  The biggest part of choosing is knowing what you gain and what you give up with each alternative.  Whenever I start talking about Windows Workflow I am always asked many questions.  Typically the first question that is asked is "does this mean that BizTalk is going away?" followed by "well, then when do I use each one".

 

That is what I want to discuss in this blog entry.

 

First, BizTalk is not going away. 

 

I want to put a definition around BizTalk to make it easier to compare to Windows Workflow.  BizTalk Server is an enterprise level workflow and message processing environment.  This environment is tried and tested (extremely rigorously over the last many years).  BizTalk also includes many adapters to connect to a variety of back end system.  Out of the box, BizTalk provides scalability, manageability, tracking, logging & administration tools. 

 

Windows Workflow is an SDK for creating workflow based applications.  The tools are there to  build a host and to render a graphical workflow environment.  Scalability is possible with Windows Workflow but it is up to the developer to create a truly scalable solution.  In addition, there are administrative functions through runtime and tracking visibility but there is not an out of the box administration tool as this is also up to the host developer to create.

 

The message that I tell people is to use BizTalk when you want to target users/clients that want to span multiple applications whereas Windows Workflow would be used when you want to target users/clients that want workflow within an application.

 

Now after saying that I know the next question you would ask and it is "Are you saying that Windows Workflow doesn't scale?".  The answer is certainly yes, Windows Workflow scales.  Windows Workflow scales based on your implementation.  This is similar to what you would expect when scaling any application built using the .NET framework.  Windows Workflow does not come pre-built as a server application ready to scale as does BizTalk but if you develop the appropriate host and put in place the appropriate development effort then it will certainly scale.

 

It has been stated that in the future Windows Workflow will be the core workflow engine in all of the Microsoft products that offer workflow.  This means that future versions of BizTalk will be built on top of and extend Windows Workflow.  This also means that products like SharePoint will also offer workflow based on top of Windows Workflow.

 

So, to summarize, Windows Workflow is great for workflow within an application whereas BizTalk is great for workflow across applications and this is precisely why BizTalk shines in Enterprise Application Integration scenarios.