Ayende @ Rahien

My name is Oren Eini
Founder of Hibernating Rhinos LTD and RavenDB.
You can reach me by phone or email:


+972 52-548-6969

, @ Q c

Posts: 6,026 | Comments: 44,842

filter by tags archive

The consequences of web services architecture

time to read 1 min | 90 words

I mentioned before that MS CRM's decision to build all its external API based on web services (that cannot be accessed outside of ASMX proxies) was a big mistake. It is a mistake because you are handing the developer a really clumsy, stupid, API.

I just spent an hour trying to figure out how to set a value to null. An hour!

It couldn't be as simple as this:

customer.new_employeeintouch = null;

It has to be:

customer.new_employeeintouch = new Lookup();
customer.new_employeeintouch.IsNull = true;
customer.new_employeeintouch.IsNullSpecified = true;


Stefan Wenig

Oh come on, this is so logical you should actually be surprised that resharper did not guess it and expand your "= null" to that code ;-)

The Other Steve

Rest assured. Microsoft could have come up with a clumsy, stupid API without involving web services.

Stuart Cam

Yes they could have, its called the Sharepoint 2007 API...

Vladan Strigo

Did you maybe think that MS CRM is only a test of developer patience? Something like MTV Boiling Point thingy?

Hehehehehe... if you can only last for a couple of more things like that.... MS will award you :) :)



Jeremy Gray

Riffing on The Other Steve's point: Microsoft DID come up with a clumsy, stupid API without involving web services.

There's nothing about that API example that is specific to web services or that would have been caused by wanting to expose it as a web service. I'm sure that API was equally clumsy and stupid before it was wrapped for web service exposure.

Let's call a horse a horse, shall we?

Darius Damalakas

Ayende, but I did not get what was the problem with the web services?

Looks more like your opinnion, without having facts.

Ayende Rahien


Do you really think that something like this is a reasonable API?

Darius Damalakas


Absolutely not.

The code smell probably lasts for two miles, or even longer. ;)

It's just that I'm picky, same API can be made without web services. simple as that

Ayende Rahien

Oh, yes.

But the reason for this API is that they decided to base everything on XML proxies.

I am going to assume that without that it would have been better.

I'm hearing that SharePoint managed to do as worse, but I have no personal experience/

Comment preview

Comments have been closed on this topic.


No future posts left, oh my!


  1. Technical observations from my wife (3):
    13 Nov 2015 - Production issues
  2. Production postmortem (13):
    13 Nov 2015 - The case of the “it is slow on that machine (only)”
  3. Speaking (5):
    09 Nov 2015 - Community talk in Kiev, Ukraine–What does it take to be a good developer
  4. Find the bug (5):
    11 Sep 2015 - The concurrent memory buster
  5. Buffer allocation strategies (3):
    09 Sep 2015 - Bad usage patterns
View all series


Main feed Feed Stats
Comments feed   Comments Feed Stats