Cross-domain SOAP from the browser
You know, writing about SOA vs. Web 2.0 earlier got me thinking. I think the real missing piece that needs to be addressed is a way to consume SOAP Web services, cross-domain, from the browser. That'll make it possible to use SOAP services in a pure AJAX environment for things like mashups. Right now the only way to consume SOAP services from the browser is to use a "behavior", which only works in Internet Explorer and doesn't work cross-domain (it can only call SOAP services that exist on the same server as the client code). So in order for applications to use SOAP services on the client, the server must act as an intermediary, and introduces another layer on top of the original service itself. Right now the only way for the browser to use a Web service on another domain is using JSON, which doesn't support all the security and transaction goodness that SOAP does. The client needs to be able to use SOAP directly, on other domains, before this will quiet down.
By the way, I really believe this is doable with a little elbow grease; Dave Johnson has already figured out how to send XML cross-domain using dynamic script tags, a technique that I'm pretty excited about. I think all it's going to take is for somebody to translate Microsoft's web service behavior to pure javascript using a similar technique and we'll be rockin'



