« Three conferences to go | Main | Roll back the clock »

Don on what CORBA got wrong

Over in his new blog, Don comments on what he thinks CORBA got wrong. This might surprise you, but I wholly agree with him, and in fact I would state some of what he said even more strongly. Now, don't get me wrong -- I haven't turned into some sort of CORBA turncoat or traitor, spewing FUD about it like there's no tomorrow (like one guy I know). There is simply no denying that CORBA has succeeded wildly and remains a viable solution for problems requiring high-performance and flexible custom integration, nor is there any use in denying that the distributed computing world has advanced considerably due to CORBA. Rather, I think it's just generally useful to fairly and objectively analyze and criticize technologies so we can learn and improve.

Specifically, I agree with Don about the programming model issue. We CORBA types have been saying for years that there's no such thing as a "one size fits all" solution, and yet we insist that there's only one way to write a CORBA application in any given language. That doesn't make sense. Don uses the term "yuck" when referring to the CORBA C++ mapping, and while I don't think it's as bad as people make it out to be, it certainly leaves much to be desired. The bottom line is that C++ is a multiparadigm language, so there should be multiple ways to use it with CORBA. That's unlikely to happen, unfortunately, but still, things might be improving soon. Right now there's a group in the OMG who are setting a foundation for a new CORBA C++ mapping. I hope they succeed, and above all, I hope they keep it simple. I spoke informally with C++ experts Kevlin Henney and Nicolai Josuttis recently at JAOO about what a new CORBA C++ mapping might look like, and we all agreed that basing it on ISO C++ and the standard library should mean that it could be rather simple.

In terms of programming models, I think Tim gets it completely right when he says that programmers should be allowed to choose the way requests and messages are accessed. I have believed for a long time that that's precisely how things should be done.

Something else that Don doesn't mention about what CORBA (and DCOM and others) got wrong is something that drove Don to help create SOAP in the first place: the need for the same infrastructure at each end of the wire. Not only the same infrastructure, but in some cases, the same heavyweight infrastructure. The more details you force to be the same on all nodes in the network, the lower your chances of scaling well, and in fact the lower the likelihood that your system will actually prove useful on enough of those nodes to make the system worthwhile. The need for a ubiquitous distributed object model, for example, is nice on a small scale, but it simply doesn't scale up. Such a model can also interfere with integration details in large-scale systems; you can end up fighting the model instead of focusing on the real-world problems you're trying to solve.

A reduction in the need for shared details and a focus on the message is what modern service orientation brings to the picture. And no, it isn't a reinvention of the wheel; rather, it's simply a case of learning from the past and improving on it.

TrackBack

Listed below are links to weblogs that reference Don on what CORBA got wrong:

» WS and Corba from Commonality
I found Ted Neward's post on WS and Corba quite interesting. I tend to agree with most of what's being... [Read More]

» CORBA versus Web Services, de nuevo from diego sevilla's weblog
Sólo como referencia, quería guardar aquí trozos de una discusión interesante entre Steve Vinoski, Don Box, etc. Enlaces aquí, aquí y aquí. [Read More]

Comments (4)

Mark Little:

Steve, I couldn't agree more. But good technology and ideas don't necessarily lead to success. So, I'd add that probably the two key reasons for why WS will succeed, where any other SOA probably wouldn't, are a) the use of XML as the universal language, and b) the widespread adoption by the likes of MSFT as well as IBM.

Now, here's a question: assume we could roll back the clock to 1989 and get MSFT to join the OMG in the same spirit as everyone else. Further assume that this lead to CORBA dominating the desktop as well as backend systems (not such a wild idea given the first assumption). Do you think we'd be here today with WS as we know it now? Would it have happened earlier, or not at all?

athi:

The one guy " Ro...Se.."

Mark, I think I disagree with both your explanations for WS success. I think it's more about (a) *any* text-based format and (b) support from open-source scripting languages.

Mark Little:

Bill, first I said "probably ... succeed" ;-)
And there may be other things that will contribute to its success, but I stand by these two as the most important.

Secondly I'm talking about what we have now. I don't think there's much argument that XML will remain the exchange format, or that MSFT and IBM will continue to embrace WS. So, I'm considering what we have now, not what we might have had.

I think we could argue about XML versus *any* test-based format, but the point is really that XML is *the* standard that is accepted by everyone. So, in effect the real reason for WS success is that: everyone uses is and accepts it.

However, it doesn't have to be text; if ASN1 had been globally accepted (for example) you could substitute XML above for ASN1. But the fact is it wasn't for entirely different reasons, but it had a good chance at one time. XML got a kick-start because of HTML and the Web (where I mean the "old" definition of the Web - http + html + cgi + etc.)

To be honest, the open-source aspect isn't an issue either. It's an unfortunate fact of life, but there are some companies such as IBM and MSFT who can define "standards" by virtue of their market share. (Just look at Windows, for instance). Much of what these guys are doing isn't happening in the open and SOAP didn't begin life in the open either. How many MSFT customers really care about open source ;-)?

Furthermore, if I had to go for a single key to WS success, then it has to be the global adoption. No other distributed system has ever been in this position before.

About

This page contains a single entry from the blog posted on October 2, 2004 3:23 PM.

The previous post in this blog was Three conferences to go.

The next post in this blog is Roll back the clock.

Many more can be found on the main index page or by looking through the archives.

Powered by
Movable Type 3.31