WCF Transport Channel for Service Broker
I saw a posting or read a blog somewhere that mentioned custom WCF transport channels where created for interacting with ServiceBroker. Has anyone read or heard something similar? If so, where can I get them?
Thanks.
Phil
There was a prototype of a WCF channel done a while back, but nothing production worthy has been built and shipped to-date.
What is your specific interest here? I'm interested to know what you would value most in this realm.
For example, are you seeking a rich object model that exposes the Service Broker semantic; including features not found in other queuing systems? Emphasis: feature richness.
Or, are you seeking a common object model across a variety of different transports; even if it means the loss of value-add features not supported by them all? Emphasis: uniformity.
Or, are you simply seeking an alternative to coding in T-SQL. Emphasis: object model vs. DDL/DML for coding.
Or, other?
We have not released any WCF transport channels for Service Broker yet. But we did prototype some request/reply channels for the demo at PDC last year. You can get the source code from CodeGallery on GotDotNet. Just follow the 'samples' link from our homepage http://www.sqlservicebroker.com/
I'm not sure if it still works with current builds.
I'm seeking uniformity more than feature richness. I looking at Service Broker as a queuing alternative. All message communication would be done via WCF. This allows me to abstract the actual transport technology (i.e. SOAP/HTTP, MSMQ, or ServiceBroker) from the business application. The application will be deployed in various configurations with different messaging backplanes. I can then leverage the same application and configure different transport channels for WCF to achive the desired communication protocol.
Was there a specific sample I needed to download for the requst/reply channels? I downloaded the PDC2005 demos and did not see the WCF channels with the demo. None of the other samples seem like they would contain the WCF channels.
It looks like according to the blog (http://rushi.desai.name/Blog/tabid/54/EntryID/5/Default.aspx) the WCF example should be included the PDC demo download. When I downloaded it today, 3/8/2006, it was missing the WCF channels (#4).
We didn't distribute the WCF demo.
The purpose of the demo was to prove it could be done. This was successful, but along the way we learned quite a lot ourselves; enough that we decided it would be better to re-implement a better one vs. ship the initial one.
Uniformity with MSMQ is unlikely even after we build the WCF channel.
MSMQ's basic primitive is a single message. Service Broker's basic primitive is a reliable, full-duplex session (known as a conversation in our language). The Service Broker programming model and semantic are much more similar to TCP sessions conceptually than MSMQ (or MQ-Series, etc.)
We chose to depart from the traditional message queuing semantic because there are a number of classic problems inherent to that approach, both at the programming model level (e.g. locking of related messages and application state) and at the plumbing level (e.g. routing, security).
The WCF channel that we will build will not be a queued channel. It will be a reliable, full-duplex session channel, similar to a TCP channel, but with much stronger reliability and availability semantics.
When will a WCF channel for Service Boker be available? Will is exist in a Sql Server 2005 service pack?
We do not have any official plans to release a WCF channel as a service pack or add-on. Could you explain why you are looking for a WCF channel? You could answer Gerald's question to Phil above.
I, too would welcome some a channel. Even though the service broker slightly differs from a regular WCF channel, a custom WCF service broker channel that allows for stateless send&receive would be nice from application that live outside sql server.
CZ