If you want to compare the WCF Routing Service vs BizTalk then you are really looking at the message routing pattern and the ability of each product to implement that routing pattern. While BizTalk is capable of doing a lot of other stuff lets focus mainly on message routing.
The similarities are:
- Both products have the capability to work with WCF based connectivity
- Both are capable of accepting messages over one WCF endpoint and to route them to another
- Both are capable of routing based on the SOAP action
- Both capable of implementing simple content based routing patterns
- Both are capable of basic publish subscribe multi cast style patterns
The main differences are:
- BizTalk has the message box at its heart which allows durable messaging where as WCF routing service has no persistence
- BizTalk will have a higher latency than WCF Routing Service because of this persistence
- WCF Routing Service requires a developer/admin to edit a config file where as in BizTalk an admin can manage ports through a management console
- WCF is able to do protocol translation from one WCF channel to another, BizTalk is also able to do protocol translation from one channel to another but it can also use other transports which are not WCF based
- BizTalk is able to transform messages through the use of maps. WCF Routing Service does not have an out of the box transformation capability however you could create one through the WCF extension model
- BizTalk offers reliable delivery through the message box. WCF Routing Service does not offer this unless the forwarding channel has reliability features (eg. MSMQ)
Hopefully its quite easy to see that its really a question of how complex your requirements are as to which product would be the best choice for your situation. If you do not have BizTalk and have to quickly implement a router which needs WCF and no persistence then the Routing Service can be a simple, cheap and good choice. If you need those extra features, have more complex routing requirements or already have BizTalk then that is probably the better choice.
You can also use both products together with WCF Routing Service being used as the simple router and you can route from WCF Routing Service into BizTalk if you require the more complex capabilities.
The following articles are recommended for more reading on this topic:
- WCF Routing Service Deepdive Part 1 – Comparing to BizTalk – Richard Seroter – Click Here