Finetix own Charles Alvarez co-authored the CORBA Persistence spec.
My thoughts on why CORBA died as quickly as it did:
- To do mappings for anything but simple object structures was hard.
- It took a very long time to standardize the basic API calls (don't get me started on BOA vs POA!) and services. In the mean time if you had used Iona's proprietary APIs then most of the time you couldn't be bothered to port your code to another vendors proprietary API (except when Iona tried to increase their license fees x10 in the early 00'!).
- The CORBA protocol is binary. XML is at least semi-readable text, which makes it easier to debug. Of course text-based protocols are much slower, but nobody seems to have been able to agree yet on a binary version of XML for web services.
- Security. A number of CORBA vendors support the CSIv2 spec (part of J2EE 1.4 spec, supported by WebSphere and others since appservers use the CORBA on-the-wire protocol IIOP) or simply SSL wrappers.
- While C# bindings were never officially specified (MS didn't support this effort) a couple of open source efforts did a good job at filling this need: IIOP.NET (which is really cool, allows you to call EJBs from .NET!) and Remoting.CORBA