I've got a question - BizTalk or WF? And let me clarify that I realize the analogous technologies behind the first three artifacts, and realize I could build them, but I don't find that they are built-in to WF and so I'm trying to understand why I would use one technology over the other.
- Transformations
- Bindings
- Ports/Adapters
- BizTalk Future
Transformations
It's quite nice that BizTalk natively supports, with enhanced designers to boot, the ability to produce schemas and maps. Further, I like the fact that everything is transformed because I don't have to worry about my integration point inside my workflow because it's always in a consistent format which mitigates my risk as my integrations mutate - I only have to refactor the schemas and maps.
In contrast, with WF, I don't have that luxury built-in so am I missing something or does BizTalk have a +1 here?
Bindings
Bindings are another fully encapsulated piece of functionality in BizTalk. I can literally set my workflow up to have any binding I want because of the aforementioned artifact meaning that during testing I could bind to a file system and during production I could bind to a service.
In contrast, with WF, I don't have that luxury built-in so am I missing something or does BizTalk have a +2 here?
Ports/Adapters
This is quite possibly the biggest artifact that exists in BizTalk - IMHO. The amount of effort it takes to abstract your physical connections into numerous concrete implementations, especially in a very large organization where some of those concrete's reach past a rudimentary file system vs. SOAP/REST and into stuff like an IBM Mainframe and MSMQ. BizTalk's physical port adapters, which automatically run the raw data through the transforms before sending the workflow the message, are quite simply, elegant.
In contrast, with WF, I don't have that luxury built-in so am I missing something or does BizTalk have a +3 here?
BizTalk Future
Finally, I would like to mention that from my research the same team of people that built BizTalk is building WF - which is great! Further, Microsoft's long term vision is this new buzz word "integration server" and is effectively a large array of loosely coupled frameworks that provide what BizTalk does today. And that effort makes a lot of sense to me because of the Azure effort - which I'm sure is contributing to that. However, I need to implement a solution today that will work 15 years from now, but I also need to understand what pieces I'll have to use to put it together if I leverage WF over BizTalk. Please provide me with your experiences.