Ayende @ Rahien

It's a girl

The consequences of web services architecture

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
12/12/2007 03:31 PM by
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
12/12/2007 03:46 PM by
The Other Steve

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

Stuart Cam
12/12/2007 06:51 PM by
Stuart Cam

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

Vladan Strigo
12/12/2007 08:20 PM by
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
12/13/2007 04:35 AM by
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
12/13/2007 08:28 AM by
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
12/13/2007 09:20 AM by
Ayende Rahien


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

Darius Damalakas
12/13/2007 09:29 AM by
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
12/13/2007 09:33 AM by
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/

Comments have been closed on this topic.