This is probably more of a rant, but this article about WS-Discovery in WCF 4.0 got me thinking about an issue I've seen several times lately. I'm a big fan of WCF - I like being able to drop in various features, etc. fairly easily with a few config changes (however terse they may be). But without fail, anytime I need to interop with non-.NET systems, they can't consume anything but "old" SOAP 1.1. No biggie for me - I just create an endpoint with basicHttpBinding, but there are some downsides. To secure the traffic, I have to register SSL and don't get the 'Secure By Default' features of wsHttpBinding.
A quick google search shows some effort at least in the Java world to support WS*, but I've yet to run into a non-.NET shop that uses this. For all practical purposes, the only framework using WS-* standards is still .NET. But if you're consuming your own services, you're probably in the same network, which means netTcp is the route to go. The only exception being if you had a remote .NET WinForms/WPF client that needed to talk over the internet to a service back home, but even then if you're doing Silverlight, wsHttp is not an option. Which means WCF's WS support is about as useful as if it supported Esparanto.
All this isn't to say WCF _shouldn't_ support WS-*, rather some jolt is needed to get more widespread adoption of the standards. I'm not really sure what the answer there is. This is tricky stuff - adoption tends to go at the pace of the slowest adopter. That said, other technologies such as REST and AtomPub seem to have better adoption, despite being relative newcomers.
Post a Comment