quite a story?
like I said in my last entry, one of the great things about XML is that it is completely cross-platform, so much less concern is needed for what OS you're running.
back in the pre-browser-based-apps days, you always wanted to go Microsoft, because that was the platform most people had. but even when you chose Windows, you had to do a lot of work to make the program interoperable with other version of Windows. interoperability at this time meant your program could run on different versions of Windows, or maybe even Mac, and communicate with the same program running on a different Windows or Mac platform.
then, with browser-based apps, you could write software that anyone could use thru a browser over the internet. interoperability at this point is/was largely ignored, I think. people think/thought that because the app runs thru a browser, interoperability was a non-issue. but that's only if one confines the scope of interoperability to be user-based interoperability.
XML Web Services systems are built to allow your system to be used by not just human users, but also by other systems. as such, they require the next phase in interoperability. interoperability for other producers of applications, rather than just the user. if you write your applications to deliver their information via XML Web Services, you have made your system interoperable (in theory, of course) enough to be used by all other systems.
but likewise, you also now have the ability to use Amazon, eBay, and Google services in your OWN applications, with no concern for what platforms they are running. IF your application is for human users and web-based, you also have little concern for the user's platform.
new interoperability completely frees up the programmer.
but this is not Microsoft-specific, nor Microsoft-created. it's just the progression of software development as enabled by the internet. like humans, who benefit much by being able to email more and more other people, software programs benefit much by being able to use more and more other software programs.
just as open-source software is a natural advancement in software development as enabled by the internet. it's pretty cool to think about where we might be in 5 or 10 years, but for these next years, Microsoft doesn't know where it all goes. the entire programming community is now free to decide.</div>
MS-Interoperability
also interesting is the fact that in Gates's letter, he uses the tired old FUD tactic of claiming that because open-source systems CAN permutate, they will do so, and that it will only be bad for companies. the consequence he points out is the increased amount of work on implementing and testing the resulting disparate systems. but in this same letter, Gates goes on to explain how using XML Web Services "significantly reduces the cost and complexity of connecting disparate systems..."
so what do you get when using .NET to build web services? you won't get disparate systems. in fact, you get the Microsoft package, hook, line, and sinker. you'll be required to develop on Windows, your .NET web services will have to be deployed on Windows, and the .NET client apps you build will have to be running on a Windows box with a .NET framework installed. but that shouldn't be a problem, because all your client apps will only ever be running on Microsoft clients, right?
on the other hand, if you choose some kind of open-source platform, you face the risk of having continuous innovation, and improvement made available to you, to be adopted by you when you choose. furthermore, since we're talking about XML Web Services, XML is just text. which means that any system that understands text is interoperable with any other system that understands text, and the XML/Web Services method makes it straight-forward. so the open-source method gives you the freedom to choose a very specific kind of system, while still being interoperable with any other system.
I give credit to Microsoft for recognizing interoperability as a huge benefit to a system, but I think they're trying to convince everyone that because they've been involved with the Web Services standards for a long time, their interoperability platform is intrinsically better than others. and it's just not so. theirs uses XML Web Services, and any others can too. we're still just talking about text, and any platform out there can do the job.
well, maybe not an abacus.
</div>
change XML?
I may leave some neophyte comments, but in my experience (B2B interchanges) XML is the best solution, and is only gaining momentum in that area, so for that area of applications, I can't think of anything better.
</div>
plug and play programs
W3C makes a move
I for one have not experience any significant performance bottlenecks in my work with XML, but it is more due to the fact that our XML systems are not in production where there are millions of message being delivered. webmethods uses XML messages under the sheets, but it is all intra-app, so there would be no network stress to speak of. perhaps when we get more processes running simultaneously, we'll notice performance slow down due to processor resources being taxed.
until then, though, I don't anticipate using XML-binary to any extent.
</div>