This post originated from an RSS feed registered with .NET Buzz
by Scott Hanselman.
Original Post: DCOM deserves our respect
Feed Title: Scott Hanselman's ComputerZen.com
Feed URL: http://radio-weblogs.com/0106747/rss.xml
Feed Description: Scott Hanselman's ComputerZen.com is a .NET/WebServices/XML Weblog. I offer details of obscurities (internals of ASP.NET, WebServices, XML, etc) and best practices from real world scenarios.
I thought it was cool that noone commented negatively (as well they shouldn't) when
the very prolific Chris Brumme said in his recent post on Apartments
and Pumping in the CLR:
In general, I love OLE and the folks
who work on it.Although it is inappropriate for the Internet, DCOM
is still the fastest and most enterprise-ready distributed object system out there.In
a few ways the architecture of .NET Remoting is superior to DCOM, but we never had
the time or resources to even approach the engineering effort that has gone into DCOM.Presumably
Indigo will eventually change this situation.I also love COM’s
strict separation of contract from implementation, the ability to negotiate for contracts,
and so much more.
A lot of folks just knee-jerk and say "DCOM Sucks" and that's not justified.
A while back Clemens
said:
Enterprise Services has a very elegant solution for mixing
the two models in that it uses Remoting to do almost all marshaling work (with two
exceptions: QC and calls with isomorphic call sigs) and then tunnels the serialized
IMessage through DCOM transport, which means that you get full CLR
type fidelity while using a rock solid transport that has been continuously
optimized ever since 1993. I understand that some people consider a 10 year
old protocol boring; I just call it "stable".
Preach on my brothers. In this time where software innovates at lightening speed,
some younger and short-sighted developers may thing a 5 year old OS or 10 year old
protocol are 'out of date.'
At Corillian, while our Voyager platform has supported .NET since .NET's inception
and supports WS-I compliant Web Services, the core
application still uses DCOM for inter-machine communication on the inside of the firewall.
And Voyager still runs [quite possibly] the largest single instance Banking
Web site in the world. It scales quite nicely, thank you, and due to people
who came before me. I poo-pooed DCOM when I came to work at Corillian 3 years
ago. And while I've worked on Voyager these past years, building .NET abstraction
layers on top of it, hosting the CLR within the product, and communicating with all
breeds of mainframes, DCOM has done it's job nicely as a transport between our distributed
services.
Remember my friends (that means you VB guys also) that due to the work of a lot of
OLE people 10 years ago, your crown has been paid for. Now put it on.