
What Ever Happened to and Other Tech History – Communications of the ACM by rbanffy
A lot of things have come and gone in the last few decades in computing. This post will cover a short list of topics that I saw in my career that were either notable or that people used to argue about a lot. Or both. Some of this might be a fun trip down memory lane, and some may be PTSD-inducing, but it is important to periodically look back in computing to learn from past experiences, as things that seem inevitable outcomes today weren’t always so clear at the time. This post will look at distributed computing, operating systems, and networking.
Distributed Computing
DCE
DCE (Distributed Computing Environment) was an RPC (Remote Procedure Call) framework that started in the late 1980s and developed in the early 1990s. It got a fair amount of industry vendor attention, particularly with a transaction processing system called Encina, but much less so on implementations. DCE may have been advanced in concept, but never really went mainstream.
CORBA
CORBA (Common Object Request Broker Architecture) started in the early 1990s, it experienced a brief but notable surge of interest in the mid/late 1990s with Java, as Java’s “run anywhere” goals overlapped with CORBA’s. A lot of people talked about CORBA and quite a few even tried it, but also found out that implementing and deploying CORBA-based solutions was quite complicated, as was multi-vendor consortium coordination to push the whole thing forward. It didn’t help that Microsoft wasn’t a fan. A 2006 ACM Queue article did a great job describing how things played out.
EJBs
In the late 1990s, it looked like Java was going to take over the world, and Enterprise Java Beans (EJBs) seemed to be well-placed to become a widescale pattern for distributed computing combined with Java application servers. Initial versions of EJB also utilized CORBA under the hood. Unfortunately, much like with CORBA, developers found out that the EJB development and deployment paradigm was more complicated than expected, and the resulting technical benefits weren’t always worth the complexity. EJBs are still a part of the Java ecosystem for backward compatibility (no small feat), but I would hazard a guess it’s been a while since many new EJBs have been written.
DCOM
Microsoft, especially during the 1990’s, was very much opposed to “run anywhere” if it meant anything other than Windows. Thus, DCOM (Distributed Component Object Model, originally “Network OLE”) was born. Microsoft saw DCOM as the way all developers would build distributed applications, at least on Windows. DCOM still exists, but I would estimate it is only utilized today by hard-core Windows developers and not for general solution development.
SOAP
After experiencing DCE, CORBA, EJB, and DCOM all in a single decade, one might think that the computing industry would have been burned out with distributed computing and RPC frameworks. But like a true technical romantic, The Next Thing was always around the corner. SOAP (Simple Object Access Protocol) is an XML-based framework that was started in the late 1990s and eventually became a part of the W3C (World Wide Web Consortium) standards in 2003. SOAP had a lot of momentum and it seemed like the way distributed computing was going to be solved, until it wasn’t. SOAP was eventually replaced by REST and JSON as the default Web services implementation pattern a decade later. I’m sure there are places with a lot of SOAP messages though, as legacy code doesn’t re-write itself.
Operating Systems
Unix
Just about everybody knows the high-level Unix story arc: created back at Bell Labs back in the