Detta är del av en artikelserie Guppy – Hur bygger man en riktig tjänst med Azure Mobile Services?

I mitt förra inlägg beskrev jag de funktioner som Azure Mobile Services har. Är detta tillräckligt för att implementera en tjänst på plattformen?

Jag blev själv osäker på detta när jag läste och såg några enkla demonstrationer av plattformen. Speciellt tyckte jag att datadelen var rätt tunn. Detta för att man oftast visar att man skapar en tabell med några kolumner och sedan jobbar endast med denna. Det funkar för väldigt enkla saker, såsom high score lista, men inte för tjänster som jag ville bygga.

Men jag har blivit mycket mer positiv efter att nu har byggt Guppy, som innehåller nio tabeller och som har komplexa relationer mellanimage dem. Det som fick mig att tro på plattformen var möjligheten att använda sig av javascript på serversidan och speciellt en objekt med namnet mssql. Detta gör det möjligt att skriva vanliga frågor i T-SQL. Genom detta så kan man hantera komplexa relationer mellan de olika tabellerna. (Exempel kommer i andra blogginlägg.)

En annan sak som också gjorde att jag blev mer övertygad om plattformen var möjligheten att koppla upp sig direkt emot den Azure SQL databas som används i tjänsten. (Jag använder mig av Visual Studio 2012, men det finns andra verktyg också.) Där kunde jag både manipulera tabellernas definition och innehåll och jag kunde också skriva mina sql-frågor och testa dem.

Några av de viktiga fördelarna med plattformen är också enkelheten i autenticiering och notifieringar, vilket jag använder mig av mycket i tjänsten.

Finns det något som jag saknar?

Ja, det finns det. Detta är en tidig release av denna plattform. Det som jag har saknat mest är möjligheten att slippa jobba i ett webbgränssnitt när jag skall skriva javacripten. (Det går att ladda ned och upp dem via ett kommandoverktyg, men det går inte riktigt hela vägen.)

En annan sak är att alla end-points i plattformen är tabeller. Det innebär att jag alltid på något sätt måste anropa en av tabellerna som jag har skapat för att köra igång ett javascript på servern. Jag har hittat på lösningar för detta och kommer att beskriva dem längre fram. Det vore fint om man istället också kunde ha end-points som var metoder.

I alla tabeller måste man ha en kolumn som heter id. För vissa är detta också något som blir en sten i skon, men jag har inte haft något problem med detta.