Friday, June 01, 2012

BizTalk Pub/sub vs Topics based routing–discussion

My colleagues and I had a brief discussion about the subject ‘Topics’ and what it brings…
Do you all agree/disagree with the following statement: topic-based pub-sub messaging doesn’t really exist in BizTalk
“In my opinion; I disagree, as BizTalk offers the following 'out-of-the-box' • Message Routing (f.e build in context properties like message type, trading partner, operation etc)
• Content Routing (f.e. promoted properties, message inspection in orchestrations/pipelines icw orchestration logic)” My colleague Rene Brauwers

Here my 2 cents….
I agree that it exists...however the current offerings in BizTalk are tightly coupled, making the usage far from perfect.
When doing content based routing on custom fields (promoted properties), you will be making the solution message-coupled; Your custom message property schema is deployed, and the message filter on these fields have a direct relationship with this property schema. Making any change to this schema will give you a head-ache and effectively means that your solution is tightly coupled (only loosely coupled when using BTS properties) When doing pipeline-development your solution will also become coupled as the pipelines are tied to your solution. Again, not a very manageable situation (when thinking in terms of reusability / manageability). Summary To my humble opinion pub-sub means that the subscriber can route messages based on a subscription without creating a dependency on the publisher. In BizTalk this is not the case, so i would say: we need Topics and Queues as AppFabric is going to provide!!!   Regards, Sander