First time here? You are looking at the most recent posts. You may also want to check out older archives or the tag cloud. Please leave a comment, ask a question and consider subscribing to the latest posts via RSS. Thank you for visiting! (hide this)

November 2011 Blog Posts

Web API preview 6 is out: how to get a RESTful mind

As you may or may not have heard, yesterday WCF Web API preview 6 has been released.

If you never heard about it I recommend you read the quick introduction on CodePlex, but basically it is a facility that helps you expose your services over the web, taking advantage of the richness of the HTTP protocol, in a RESTful way (vs using SOAP or other abstraction layers).

Getting started resources on Web API

To quickly get started with it you can download the code and samples, and download the compiled CHM for a more conceptual and step by step approach. Alternatively you can get the latest version directly from NuGet.

Still on the project’s documentation page you can find some quick starts covering the basics of how to build a very simple web API, how to add CRUD operations on single resources and a overview of the “API Enhancements”, which is a very convenient set of features to make development easier and more integrated with ASP.NET MVC. Also a quick video intro on the testing UI is available.

Also interesting, if you have one hour and 20 minutes, is the introductory talk Glenn Block presented at TechDays Belgium earlier this year: WCF Web APIs, HTTP your way. At the same venue, Glenn also dove a bit deeper into more advanced features of REST web stack of WCF: Unlocking the secrets of REST with WCF.

Understanding REST

All those docs and links will make you understand how to implement a RESTful API on the .NET stack, but will not explain you which are the principles of a REST api.

Here are a few books and online resources I recommend you have a look at to understand REST and how to properly design API that don’t look just like RPC on a different protocol.


Book also used by Glenn as source of inspiration to design the Web API is “REST in Practice” published by O'Reilly: it covers REST from the enterprise point of view and does so by implementing RestBucks, a coffee ordering REST API. It is implemented in .NET and Java, and you can get the source from the book’s site.

If you prefer a cookbook style approach, RESTful Web Services Cookbook: Solutions for Improving Scalability and Simplicity, still from O'Reilly, explains the solution to many of the problems and questions you might have when designing a REST api.

Finally, as a quick reference and a set of rules if you want to make sure you get the API “semantically right” I liked the REST API Design Rulebook (again from O’Reilly). The author also introduces a supposed standard called Web Resource Modeling Language (WRML) which frankly I’ve never heard of before and looks like it’s a brain-child of the author of the book: just skip that part.

Sample projects and articles

The most useful online resources I found are related to the REST in Practice book.

First is the article How to GET a cup of coffee, which was the original idea on which the book was based.

As I mentioned above, the book comes with a sample built with .NET, but using a custom implementation. Fortunately two folks in the .NET community ported the sample RestBucks project over to WCF Web API:

What is great about is that not only you get the code to learn from, but if you want you can build your client (or use fiddler) and play with the APIs directly online. And in addition it has great documentation and also a series of blog posts that explain the implementation details.

Now… go GET some REST

Ok… stupid joke…

I’m lately getting into REST services for the new system architecture I’m implementing where I work, and even it might require changing a bit the initial approach (thinking in term of resources for things outside of CRUD is not that easy at first), it makes everything very easy to implement, super interoperable (and having a lot of different systems interoperability was a issue) and makes it straightforward to later push the same API to the outside world.

Hope these resources can get you start looking into REST, you’ll not regret it.

Tags: , , Conf 7: Voting and registration

The Call for Presenters concluded yesterday evening, and I’m very happy to say that we received 50 proposals from more or less 40 different speakers.


From now, logging in with your twitter or (activated during this week) facebook account, you’ll be able to vote for the 5 sessions you’d like to attend; the 19 sessions with most votes will be selected and put into the agenda. The voting will close on December 19th and the agenda will be out before the Christmas.


We also have some proposals from speakers from the (enlarged) Belgian .NET community: Rob Ashton, Maarten Balliauw, Xavier Decoster and… myself.


The registration will open on December 12 at 12:00 CET. As the previous years, the number of places will be limited, so, first comes first served. So, if you want to register, book your time.


#ugialtnetconf was too long, so this year the official hashtag will be #uan12. More space for your tweets.

If you speak Italian you can read more info (in Italian) on my Italian blog: conf 7: votazioni aperte e data iscrizioni.

Getting more and more into the Microsoft Belgian community

I’m a Meet member,MSDN.10)

Not sure if it’s the same in every country, but here in Belgium & Luxemburg they just setup a team of community members, called the MEET (which stands for Microsoft Extended Experts Team) that is there to help via their blogs and with speeches and acts as advisors for the events organized by MS Belgium. I’m glad to say that, despite my short time in Belgium, I’m part of that team. And among the other things, now I also have a bio both in French and Dutch (scroll at the bottom to see mine). Pretty cool, isn’t it?

TechDays BE 2012

TechDays 2012 logo

Like every year, also in 2012 Microsoft Belgium is organizing the national developer conference: TechDays BE.

I attended last year conference in the ATE booth, and I hope I’ll be able to attend to next one again.

This one is also a special edition, because it will be the 10th anniversary edition, and it will be held still in a Kinepolis, but in a new city: Braine l'Alleud (less than 20 minutes from Brussels South).

It will also have a new track: to the usual Developers and IT-Pros, there will be a new track dedicated to Entrepreneurs.

Topics will about the usual suspects:

  • Tooling and languages with Visual Studio, C# and VB
  • Cloud development with Windows Azure Platform
  • Web development with HTML5, JavaScript and ASP.NET ...
  • Windows & Internet Explorer
  • Windows Server & Hyper-V
  • Windows Phone 7 development
  • System Center 2012 & Windows Intune

If you register before the 21st of December you get the Early Bird 15% discount.


Hope to see you there. conf 7: proposals, dates and voting

During the last 3 weeks I’ve been pretty busy with the organization of the of next 21st January. This post is a quick update on the status of the Call For Presenters and the next steps that will lead to the big day.

First of all: the official closing date for the CFP is November 27, at 23:59 CET, so you still have 9 days to think about something and submit it.

So far, we have received 29 proposals, from 23 different speakers, and the agenda will have 3 tracks of 5 slots and one track with 4 slots, for a total of 19 sessions. So, if you do the math, a voting is needed, and at least 4 speakers will not be included in the agenda, which is a real pity since all the proposals are really great.

In the following week the voting will begin, and will close just before Christmas, and somewhere in the middle, probably the December 12th, the registration will be opened (detailed dates will be announced later).

For the voting everybody will be able to select his 5 favorite proposals and, when the voting closes, the top 19 sessions will be put in the agenda. The voting will happen on the official website.

And finally, I want to tease you with a quick list of the topics of the sessions proposed so far: NHibernate, ASP.NET MVC, NuGet, SignalR, Git, Javascript frameworks, real-time web, oData, DDD, Agile, Continuous Integration & Delivery/Deployment, UX, WinRT/Metro, CQRS, PHP, dynamic languages, Roslyn, async messaging.

If you speak Italian you can read a bit more of info on my Italian blog: conf 7: proposte pervenute e votazioni