BizTalk Vs. Windows Workflow Foundation
Having worked with BizTalk Server 2004, SQL Server Integration Services
(replacement for DTS), and having taken a quick glance at Windows
Workflow Foundation, I was kind of confused why Microsoft would create
so many competing technologies, especially considering the high license costs of BizTalk Server.
As an aside, during my time with BizTalk, I was thoroughly
unimpressed. To begin with, I hate working with technologies
where you can’t easily see every piece of the whole. Too much of
the functionality of BizTalk is hidden in property menus and context
menus…I can’t stand that type of crap. Even more annoying than
that is the dependency on the GAC. It takes a ridiculous amount
of time to build and deploy the assemblies. Consequently, it’s a
PITA to test and debug. I’ve not found any real scenarios
yet where I’ve felt that I would recommend BizTalk over some other
solution, especially considering the insane licensing costs for what
amounts to nothing more than an XSLT engine with some workflow and
connectors built into it. People, especially Microsoft, will try
to convince customers that it’s the solution to everything.
They tried to convince one of our clients to use it for a task that was
10x easier and more efficient (time wise) to do using DTS. Not to
mention the client already had a license for DTS whereas it would have
cost them in the neighborhood of $40k just to get a BizTalk server up
and running. I dunno, maybe I’ll be impressed by the next version.
If you’re still interested, there’s some discussion about the main
differences between Windows Workflow Foundation and BizTalk on the web
today, so I’d thought I’d share with anyone else that’s interested:
The short answer is that WWF (no, not the one with big men in spandex)
is a framework to be used to develop intra-application workflow whereas
BizTalk is aimed at inter-application workflow and [buzzword alert]
“business process management”.
WWF looks promising. Without realizing it, I actually built a
mini workflow framework for a recent project I worked on which required
automating the UI of Microsoft Project Pro 2003. It allowed
developers to program against an API to create “Steps” and “Actions”
whose results could be linked to and iterated over by subsequent Steps
and Actions. Very cool stuff.