WCF Web Api: oData format doesn’t mean oData service

Over the years I must admit that the WCF acronym to me has had the effect of instilling huge amounts of fear and loathing. We have inhouse some really complex stuff that requires gargatuan declarative angle-bracketed configuration monsters that are next to impossible to figure out for most people. One makes changes, fearing both life and mental health. WCF, in short, is one of those Microsoft inventions that make you wonder why you didn’t train to become something else – a plumber for instance.

Recently I’ve been playing a bit with the WCF Web Api, however, and it seems like a really easy way to get some REST-ful data over the wire. When you return a collection of data from Web Api, you can elect to return it  as an IQueryable in which case you will, as it says,  be “Enabling OData query support” .

Mark that phrasing carefully: You are not enabling OData as such – it’s just that you can now use the OData URI syntax when you retrieve data. So don’t fall into the same hole that I did and think that you have full blown OData!

Other than that misconception on my part, it’s all thumbs up for this initiative to focus (and tame) the WCF monster into something more immediately  useful. The WCF Data Services (OData) effort is the same story. Now I just have to convince the rest of my fellow devs and customers that the days of heavyweight WCF/SOAP are coming to a an end in a lot (most) scenarios…

With that said, do go check out Glenn Block’s speech at Mix 11: "There’s a URI for that".

PS. I just discovered that we have one SOAP implementation where all data is exchanged with a mobile client as delimited strings, in order to conserve bandwith by eliminating a lot of XML tags!

Advertisements

One thought on “WCF Web Api: oData format doesn’t mean oData service

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s