Azure Mobile Services .Net Backend Frustration

This post is dedicated to all the haters of todo list and hello world examples of cutting edge technology.

Onat Yiğit Mercan
3 min readSep 22, 2014

We need industrial showcases, not a dumb tech demo.

The day Azure Mobiles Services .Net Backend became production ready, i was eager to give it a shot to use on @Pinicate‘s backend. Everything was looking really cool: there were MongoDB extension, social integration, multi-platform SDK, etc. We have already built our backend on Asp .Net Web Api 2.0 with facebook/twitter authentication, mongodb and some other standart stuff. Lacking of documentation was painful but not as painful as over-documented todo list examples.

https://twitter.com/onatm/status/511629554025119744

The disappointment phase

I wanted to leave token exchange to Mobile Services’ server/client side SDK and only care about the business logic. Everything should be plain and simple and i was expecting that until i created a sample Mobile Services project with MongoDB extension. It was a real disappointment: There were nor aggreagation operation nor geospatial query support.

The tinkering phase

So, i started to built a sample project — https://github.com/onatm/ecowa-api

The idea was simple: Combining Azure Mobile Services SDK and Web Api 2.0 together along with some persistence library to gain advantage of using both sides. The key point in here is leaving authorization to Mobile Services’ login providers. Microsoft people also suggested to build the application in this way.

https://twitter.com/onatm/status/510171716166123521

I have build a simple backend with an api controller and facebook authentication support to authorize users for GET requests. Backend is split into 4 different projects.

As you may understand from project naming Ecowa.Data is persistence layer, Ecowa.Model has view-models, Ecowa.Business runs business logic and Ecowa.Api is our Mobile Services endpoint. Data, Model and Business projects are built on some custom persistence and dependecy libraries.

Creating Api project from scratch was really simple: Just add the NuGet packages, write your WebApiConfig.cs as usual and deal with the controllers.

The confusing conclusion phase

Spending 15 days on reading a maze like documentation and developing for 4 hours long, i can say that Mobile Services is simple to develop your mobile application’s backend except the fact of confusing documentation and lack of operations in MongoDB extension. And for people who want to store data on MSSQL, there is a DataAnnotation bug in EntityData class for almost 5 months.

You can find the articles i have followed to create the backend project from scratch.

Türk okuyucular için — https://eksisozluk.com/entry/45700503

--

--

Onat Yiğit Mercan

hacktivist developer, geomatics & software engineer, ❤️ open source, works @Redgate