Those of you who know me or have attended one of my presentations know that I’m a total RESTafarian when it comes to the software architectural style I prefer for web services.

I started using REST in the early 2000s to create a high-speed, human-readable, server API to trade financial instruments between brokerages and counterparties. When SOAP finally got traction in the .NET and Java world, I started using it because WSDL and widespread tooling made it easy for people to consume the web services I had to publish. XML was having its moment in the sun. That being said, I could never get past the clear drop in performance I saw vs. the lighter-weight RESTful way of doing things.

Fast forward to to the cross-browser standardization of Ajax in JavaScript, and RESTful web services started to surge since SOAP was way too heavy for client-side web page calls. Along the way, a compact way of describing objects and collections of objects called JSON began to steal XML’s thunder as a way to serialize data. While this new REST + JSON pattern of lightweight communication and data serialization got it’s start with the web and JavaScript, it soon found a home in the surging tidal wave of devices that have proliferated over the last decade.

The slow, unreliable wireless data networks that brought Smartphones to life demanded a new level of efficiency when it came to wire protocols. While proprietary, binary protocols ruled in the early days, they finally gave way to something that could work with any device. At Microsoft, we began to make it easier for developers to create REST web services via our Windows Communication Foundation (WCF) and special toolkits in .NET 3.5 and 4.0.  I started using it because of the obvious benefits to wireless-efficiency and also so I could stop having to “roll my own” REST web services using bits and pieces of other technologies.  WCF is a Swiss Army Knife and does lots of things which sometimes makes it overkill when you need to expose simple function calls or data to the Internet via REST.

I’m thrilled to say that our newest, simplest way to create RESTful web services is called the ASP.NET Web API.  Using the power of ASP.NET MVC 4, we’ve delivered a framework that makes it easy to build HTTP services that reach a wide range of clients, including web browsers and most every Smartphone.  I’m using it now to expose enterprise data out to the Internet where it can be easily consumed as collections of JSON objects.  Mobile web browsers can retrieve this data via Ajax calls and store it offline in Web Storage.  Smartphone apps can download and store the data in local databases or serialize it to flash storage as JSON.  I like it!

Take it for a spin.

-Rob

Tagged on:         

One thought on “ASP.NET Web API: The New Mobile Web Services

  • June 28, 2012 at 11:04 am
    Permalink

    Probably the best article I have read stating exactly what the Web API is in terms of existing technologies. It seems to me the ASP.NET Web API is a simpler and more complete package for quickly getting up and running with REST based services. This as opposed to the WCF way with webHttpBinding which is a bit more involved to get set up, configured, and hosted. Nice job!

    Reply

Leave a Reply