I disagree with the statement of this paper that the failure of DCOM/CORBA/RMI was that they have an RPC model. DNS relies on RPC's and works just fine on the scale of the Internet. SOAP relies on RPC's, just a smaller set of RPC's. RPC's don't have to be synchronous and don't have to be in CORBA either. SOAP works because it is dealing with much less complicated problems than are done with CORBA and does so with much greater complexity. The main valid argument with CORBA is the relative inflexibility of the IDL (no versioning, etc.), but this is a relatively easy to deal with issue. CORBA has worked very well in enterprises for many years and also works quite well on the internet with full cross-vendor and platform interoperability.
Basing next generation distributed computing on http, xml and uris is a serious limitation although it does make some things simpler. It also isn't reasonable to compare CORBA, DCOM, and RMI since they differen considerably in terms of interoperability, platform independence, and language independence. XML is great but adds a great deal of complexity compared to full object-oriented techniques which are excellent at dealing with complex problems.
Check out http://www.zeroc.com for a good technical alternative to CORBA/DCOM etc, that actually works and builds on the best we have learned from past experiences. I have no connection to that work, but I think it is very well designed.
|