This post originated from an RSS feed registered with Agile Buzz
by James Robertson.
Original Post: Re: Service Oriented Architectures vs. Distributed Object Technologies
Feed Title: Cincom Smalltalk Blog - Smalltalk with Rants
Feed URL: http://www.cincomsmalltalk.com/rssBlog/rssBlogView.xml
Feed Description: James Robertson comments on Cincom Smalltalk, the Smalltalk development community, and IT trends and issues in general.
James Robertson completely misses the point of Don's comments on distributed computing with objects versus using message passing. An example of a service oriented architecture that uses message passing is HTTP on the World Wide Web. It is flexible, scalable and loosely coupled. No one can say with a straight face that using CORBA, Java RMI or DCOM is as scalable or as loosely coupled unless they're trying to sell you something. What Don and the folks on the Indigo team are trying to do is apply the lessons learned from the Web solving problems traditionally tackled by distributed object systems.
Now, I was going to respond on Dare's blog in a comment. However, his blog comment system bailed, and IE ate my text (which I had copied before submitting). There's a lesson in that about the coupling of systems....
Here's my point though. It's magic thinking to say that you have looser coupling simply because you use Http transport and XML documents. It's a fantasy. Why do I say that? Well, let's posit a blog server that accepts XmlRpc formatted posts. There you go - http transport, xml documents. Can I send it an Atom document and have it 'just work'? No. Why not? because the client and server are coupled - there's an accepted format for posts. The transport protocol and XML format don't magically fix that. I have no idea why some people utter the term "XML" as if it's magic glue that fixes everything. Hang out on the Atom mailing list for awhile, and you should be cured of that thought.
It's actually no different than CORBA - except that maybe it's slower. Either way, I have a server listening on a port, expecting data in a given form, and able to perform a constrained set of actions if I send it the right requests - and ready to send back errors if I don't. I can't start sending XML documents to a service that expects URL encoded forms any more than I can make COM requests to a CORBA server (ignoring bridging middleware). The point is, using a text based protocol and XML documents doesn't magically decouple anything. You still have all sorts of constraints on the server and client side as to what can and can't be sent. Heck, you might even call that an API.... but then, that might be too much like distributed message sending....
What all this reminds me of is the relentless way you'll see politicians stick to "Talking Points". MS has decided that "Objects" are passe - likely so that J2EE can be painted as "old" and "primitive" compared to the "new and improved" "service level archictecture" MS has. It's the same stuff, with different names. bah