About a month ago, I was invited to give a presentation on Web Services to a software engineering class at the University of San Francisco. I demurred, pointing out that I’m not really an expert on Web Services, and definitely not a fan of them.
Some e-mail was exchanged and I wound up giving a historical talk on CORBA. For those who don’t know, CORBA is an object-distribution framework defined by the Object Management Group. It was a nice framework, which accomplished most of its main goals (letting programmers write new programs access legacy programs and data), was heavily promoted during the mid 1990’s, and has subsequently all but disappeared from the computing landscape.
The goal of the talk was to try and figure out why. I took some old slides from my Enterprise Java Course, wrote some new ones centered around the evolution of modern computing, and ran the resulting slides past a dozen or so of my closest friends who also know CORBA. The result is an admittedly idiosyncratic history of a technology that never quite lived up to its hype. I managed to present a pretty good overview of CORBA, discuss the reasons it never achieved widespread adoption, and shoehorn in a fairly nice discussion of RMI at the end. Maybe I’ll get around to that in a future talk.
The original abstract was:
CORBA, the Common Object Request Broker Architecture, is a specification for distributed objects that has been around since the late 1980’s. The goal of CORBA was to provide a language independent standard for middleware (both the basic protocols and for standard pieces of infrastructure). After an initial wave of hype, CORBA never really lived up to the expectations that were set for it, and it has since been mostly displaced by other technologies. In this talk, we’ll present an overview of CORBA and discuss whether or not it succeeded, and what lessons can be drawn for future distribution mechanisms.
Tell me what I got wrong about CORBA. Alternatively, tell me why web services are better.