Back in the mid-nineties I was involved with an effort to create a back-end for a financial account management website. It was one of the first such efforts on the web, and ultimately was very successful, running more than 160 websites for small, primarily community-sized, banks and credit unions. As the main architect of the back-end I chose an implementation of the Common Object Request Broker Architecture (CORBA) by Iona Technologies, a small Dublin, Ireland company that was on the leading edge of the distributed object trend. Since then the company has moved on to Service Oriented Architectures, which is fitting, since so have the rest of us.
CORBA worked, and we were able to get our back-end operating and doing its job at acceptable levels of performance and reliability, but not without a lot of workarounds and more time and effort than should have been necessary. So it was with some interest that I read Michi Henning’s article in this month’s issue of ACM Queue, chronicling the rise and fall of CORBA, what was wrong with it, and why it didn’t make it very far out of the starting gate. My own experience dovetails almost exactly with what Michi reports: CORBA was a promising technology that in the end was hurt by overly complex standards issuing forth from a consensus-driven process in which competing vendor and user communities struggled to get everything they wanted into the platform. Come to think of it, I would say more or less the same thing happened to C++, which is why I use C# almost exclusively these days. Anyway, it’s a worthwhile read, especially if you’re participating in a standards process, or an open source software project.