Michi Henning’s comment formatted

Here's Michi's comment to my last post with the formatting preserved:

Savas, my five cents worth, as usual...

> We are even starting seeing hardware products to help with XML processing.

Now, *that's* really quite something. Translation: "The processing overheads of SOAP are so staggeringly high that the only way to get acceptable performance is to build custom hardware."

This is typical of so much of what happens in this industry. First, we adopt a protocol that incredibly inefficient and neglects just about everything we've learned about protocol design in the past three decades. Then we widely adopt this protocol, common sense notwithstanding. Then we publish articles to state that 140 RPCs per second is "not slow." And, finally, when someone such as myself or Marc point out that 140 RPCs per second are not only slow, but atrociously so, we counter by saying:

"We are even starting seeing hardware products to help with XML processing."

Amazing.

Savas, you ask:

> How many hardware manufacturers have got into the ICE protocol processing market?

Of course, the answer to that question is zero. Why? Because Ice, even without hardware support, is tens or hundreds of times faster than SOAP already. So fast, in fact, that it easily saturates a 100Mbps network, and achieves around 500Mbps over the backplane. No need for hardware here, obviously.

> Microsoft is betting on SOAP and made it a key part of its distributed computing platform, not DCOM.

Betting on SOAP? Hmmm... .NET remoting does not use SOAP. It uses a binary protocol for performance reasons. So, I'm not sure that Microsoft are "betting on SOAP". They certainly are not for their .NET remoting protocol. And DCOM failed because it could not be made to scale, due to its misguided garbage collection idea. And because DCOM, amazing as that may sound, was even more complex than CORBA.

> Nowadays, issues related to security, policies, contracts, agreements, reliability, > metadata processing, semantics, etc. require us to come up with new paradigms for > building distributed systems. These paradigms require new models, new protocols, new tools.

Absolutely. I don't see how an botched protocol such as SOAP as the transport would in any way contribute towards solving these issues.

> It seems that Michi still believes that RPC is the way to build distributed systems.

Yes, of course. In fact, I am not aware how I could build a distributed system without RPC. After all, the messages have to somehow move between client and server, I would think. And WS is no different here: a SOAP interaction sends some data to an endpoint which performs some processing on the data, and returns some results. If that's not RPC, I don't what is. WS *is* RPC, by definition. And everything else is simply a matter of granularity-I can implement coarse-grained models using Ice or CORBA as well as I can with WS.

By all means, let people build document-centric applications, I have no problem with that. But to tell them repeatedly that it is perfectly OK to do so on top of a hopeless transport and, worse, to tell them that it doesn't matter that the transport is hopeless, is, at the very least, irresponsible, in my opinion.

> The strength of XML and SOAP is not in their performance advantages but in their wide adoption and tooling support.

Jim's blog entry was about performance, and Marc's and my replies were about performance. Jim said that "SOAP is not slow" and we provided some figures to show that this is not a sustainable statement. Why are you bringing up a completely new topic now? Possibly because there is no way that SOAP can possibly win on performance?

Agreed, standardization is useful. Especially so when what is being standardized is high-quality technology. For WS, the verdict on the quality of the technology is still outstanding. And, please, don't cite wide adoption as a counter-argument here. We all know that wide adoption is not necessarily an indication of quality. Marketing, hype, fashion, and "run with the herd" behavior have usually a lot more to do with wide adoption than technical merit.

One response to “Michi Henning’s comment formatted”

  1. Dilip
    People making their living out of programming in .NET know that the comment about .NET Remoting isn’t strictly true. Moving forward, atleast post-Whidbey, .NET Remoting seems to have been given a quite burial. Supporting post: http://blogs.msdn.com/richardt/archive/2004/3/5.aspx