The WS Kernel

Steve Maine has a great post about Don's talk at the DevCon. It really captures what's the most critical in the WS-* stack: XML, SOAP, WS-Addressing, XSD, WSDL, and WS-MetadataExchange. I agree. Those are the specs you should really understand. The more problem-specific stuff like security, reliability, etc. can be picked up as needed.

The question, of course, is how many of the details you need to know. The kernel metaphor is interesting. The point is that we should expect the details to be hidden over time. That's fine, we'd expect nothing less. But I think it's worth noting that this is necessary but not sufficient. Take security for instance. There are tons of security features hidden in the plumbing, but if you don't use them the right way, you won't be secure. In a lot of ways, hiding details in the kernel or any other layer is an implementation detail. The real question is, do the people designing and developing a system know what all the knobs and levers do and how they should be set to achieve a particular goal?

This is one of the places where HTTP really shines. Windows Server 2003 and XP SP2 now both support kernel-mode HTTP via http.sys. Whidbey supports this feature, so you can create an HTTP listener in any process. That's great, being in the kernel adds performance and flexibility. But HTTP can also be used outside the kernel. The key thing is that (a) developers understand how HTTP works and (b) the HTTP APIs allow them to control things at a pretty low-level. Unlike SOAP, where we seem bound an determined to NOT have developers munging headers, in HTTP they do it all the time. In fact, that ability to control the protocol and the fact that the protocol is tractable enough to understand what you want to do and how to do it is what makes it so successful. Are these “kernel mode“ programmers? I don't know. Should they have to do this? I don't know. Are they able to do a lot of things to make their solutions work? Yes, and that's what matters. We should be aiming for the same thing with WS-*.

 


Posted Oct 25 2004, 02:51 PM by tim-ewald

Add a Comment

(required)  
(optional)
(required)  
Remember Me?