Sam: "Web Service Sublimation For the record, messages should be typed, described in XSD, and as loosely coupled as possible -- as specified in their XSD definitions. Excelent article. Consisely captures the history and tradeoffs."
I would strongly agree with this assessment. This is perhaps one of the best articles on the subject I've seen published.
Sam: "One sentence in particular captures the debate that Don Box and I started over beers last week. If they [are] described with another technology, like Java, the promise of interoperability based on XML technologies will be lost. Exactly. My feeling is that a one-to-one and onto mapping of XML schema to any pre-existing language is neither possible nor desirable."
This ties in to the problem I have with generating WSDL portTypes by slamming a Java class or a C# class through a Native-2-WSDL utility. The interface that is generated is tied very very closely to not only the underlying platform specific typing system, but also to the whims and wierdness of the Native-2-WSDL utility being used. Most Web service interfaces should be treated like IDL interfaces -- defined independently of the platform and adapted later to the underlying implementation.
Sam: "So while the approach of having metadata associated with a class definition define the serialization is effective for most situations, I still believe that .NET remoting and/or ASP.NET need to have a mechanism for allowing an individual service to augment or override this. Simon agrees. As we left it, Don remained unconvinced."
Make it three votes in favor of this opinion.
Sam: "As Tim Ewald (one of the co-authors of this XML.com article) said at last week's DevCon, everyone starts from their own language/platform and works towards the middle and hopes we'll all get to the same place. No successful API was ever defined that way."
Here here! Ironically, many Web services are duplicating most of the patterns for bad object oriented application design when it comes to how to design the Web service interface. Starting with the implemenation interface and working out just plain sucks.
1:20:30 PM
|