Interop and Services
May 25th, 2005Ted Neward: Interoperability, as an idea, only requires that programs be written with an eye towards doing things that don’t exclude any one platform, tool or technology from playing on the playground with the other kids….Services, on the other hand, is a design philosophy that seeks to correct for the major failures in distributed object and distributed component design.
That post reminded me of a blog I ran across talking about the default way Indigo represents C# primitives on the wire. Hint: its not “xsd:int”. They’ve created an xsd:int restriction with some bounds, some versioning information and more. Handy dandy for the service writers, but it makes things a little bit harder for consumers. (sidenote: I am a little bit afraid of the ClrType and ClrAssembly attributes…)
We’ve had all the “1.0” tools now for XSD where we mapped xml directly to object. However, this makes it looks like its time to get serious. Tools such as XMLBeans which support 100% of XML schema will be required to interact with services (not sure how JAXB 2.0 does on the interop front). The potential benefits getting this all to work right is too great to ignore. Ted said it well:
It’s an attempt to create “things” that are more reliable to outages, more secure, and more easily versioned and evolvable, things that objects/components never really addressed or solved.
Onwards to web services 2.0!
Update: fixed typo.