| SOAP how it is supposed to be | |
| June 07, 2003 | 12:15 PM |
|
Within the previous weeks, I've been working with a future product from Microsoft. It was one of the coolest things I've seen in a long time. The only drawback was that I just couldn't tell anyone as I've still been under NDA. Can you imagine how it feels, when you are part of a small group which has seen the best thing since sliced bread and you just want to shout it out but you aren't allowed to? Well, a couple of days ago - even though the product is still not announced officially - I've been given permission to talk and blog about it. But before I go into some details, let me say a big "Thank You" to the product team: You guys rock! Just imagine reporting a bug to a program manager, getting a confirmation from a developer 30 minutes later and a fixed version on the next day. Yes, this is Microsoft and I'm really impressed! Ok, so let's start to talk about the product: It is about SOAP Services. Actually, they still call it Web Services but in fact, it has nothing to do with the web at all. It is only about SOAP anymore - and it is only about SOAP as a framing format anymore. Frankly, I think that this is a very good thing: using HTTP in your mission critical applications might not be the best idea. Wouldn't it be way cooler if you could just take an XML document, wrap it in a SOAP envelope and send it over whatever reliable protocol you like? While still using all WS-* and GXA specifications? Wouldn't it be great if you could take a SOAP envelope and transfer it via HTTP, direct TCP, Email, MSMQ Messages, files in a directory, etc. without changing anything in your programming model? Wouldn't it be great if you could take a SOAP envelope and serialize it either to XML 1.0 + Namespaces or to any binary format? Without changing anything in your programming model? Wouldn't it be great if you could send your SOAP envelope via some reliable transport like MSMQ, while still getting full support for WS-Security, WS-Routing, WS-Addressing, ... and WS-Policy? Re-read that last word: yes, WS-Policy is in there as well! Wouldn't it be great if you could route your SOAP message using a mix of all these protocols? Wouldn't it be great if there were an interface called ISoapTransport which you can implement in less than two hours to add another transport? Wouldn't it be great if there were an interface called ISoapFormatter which allows you to serialize your SOAP envelope to any format? That's SOAP how it's supposed to be. This product rocks! UPDATE: Just to clarify, the product comes with HTTP and TCP transport. The list of possible protocols mentioned above was only an example. But I managed to implement MSMQ and file-based channels in roughly two hours, so it really isn't hard at all. (Don't tell anyone, but it's easier to use than the .NET Remoting extensibility hooks) |
|