Archives / 2014
  • DocumentDB - NoSQL Database As A Service On Azure

    Microsoft Azure team has announced a new NoSQL database named "DocumentDB". DocumentDB is a fully managed, massively scalable, NoSQL database as a service on the Microsoft Azure cloud platform. This is a right movement from Microsoft as the existing Table storage was not effcient comparing to other NoSQL databases available in the market. In my initial evalution, DocumentDB is the most feature rich NoSQL databse comparing to many popular NoSQL database.  In DocumentDB, we can write Trigger, Stored Procedure and User Defined Function (UDF) in JavaScript. 

  • Sample App With ASP.NET Web API and ReactJS

    We have just started a sample app for demonstrate building apps with ReactJS and ASP.NET Web API.  An early version of the app can available on github at . Please note that the ReactJS version of the app is not a final version, but it is an early version which will continuously refactor with a proper Flux architecture. The RESTful API written with ASP.NET Web API 2.

  • Microsoft MVP On Microsoft Azure

    I am delighted to announce that I have been awarded Microsoft Most Valuable Professional 2014 award in Microsoft Azure.This is my fifth Microsoft MVP award in a row. Last four years, I was received Microsoft MVP award for my contributions to ASP.NET, but this time I am honoured with Microsoft Azure MVP award.

  • Using Azure Redis Cache As A Persistent Storage For ASP.NET Session State

    In this post, I will demonstrate how to use Azure Redis Cache for storing ASP.NET session state. In Azure, In-Proc session mode does not work as our application will be working with sticky sessions on a load balancing scenario. In this context, ASP.NET  session state and caching do not work so that we have to put ASP.NET state information on a persistent storage. And it is very important that we should develop the cloud apps in stateless manner so that we can easily scale our apps. In Azure, we can leverage the following storage options as a persistent storage for storing ASP.NET state information.

  • Pub/Sub In Node.js Apps Using Azure Service Bus Topics

    In my previous post Building Distributed Node.js Apps with Azure Service Bus Queue, we have discussed how we can design distributed apps in Node.js by leveraging Microsoft Azure Service Bus Queues. Service Bus Queue provides brokered communication between apps regardless of whether hosted on Cloud or on-premises server. Service Bus Queue is designed for delivering the brokered messages to single consumer or an app. We can say that Service Bus Queue is providing a one-to-one communication infrastructure. But, in many scenarios, we may need to deliver the brokered messages to multiple consumers or apps, where we can use Azure Service Bus Topics and Subscriptions which provides a one-to-many communication with a publish/subscribe pattern. Service Bus Topics are built on the top of Service Bus Queues for working with publish/subscribe scenarios. In this post, I will take a look at Azure Service Bus Topics and Subscriptions for implementing publish/subscribe pattern in Node.js apps.

  • Single Page Application Demo With Hapi.js, AngularJS And Azure Table

    In my previous post Building an API in Node.js Using Hapi.js and Azure Table, we discussed about building an API in Node.js using Hapi.js as web development framework and Azure Table as the storage mechanism. This app has been updated with a Single Page Application (SPA) client, built with AngularJS. The updated app is available on github at   

  • Building Distributed Node.js Apps with Azure Service Bus Queue

    In this blog post, I will take a look at Azure Service Bus Queue for building distributed apps in Node.js. Azure Service Bus Queues provides, a queue based, brokered messaging communication between apps, which lets developers build distributed apps on the Cloud and also for hybrid Cloud environments. Azure Service Bus Queue provides First In, First Out (FIFO) messaging infrastructure. Service Bus Queues can be leveraged for communicating between apps, whether the apps are hosted on the cloud or on-premises servers.

  • Microsoft Azure Mobile Services Managed Client SDK with Offline Support

    In this post, I will take a look at the new offline support provided by Microsoft Azure Mobile Services to the managed client SDK v1.3 alpha, which can be used for building Windows store apps with offline capabilities and syncing data between local database and Azure Mobile Service database. Microsoft Azure Mobile Services has been evolving over time with new useful features. On the last update, Azure Mobile Services started to support .NET for writing backend so that developers can now write backend logic either in C# or in JavaScript/Node.js. The latest addition to the evolving Microsoft Azure Mobile Services is the support for working with offline scenarios, which is an excellent feature, while we are building mobile apps. This lets the mobile apps to store data on the local storage in offline scenario and can sync-up the data to the Mobile Services storage when we are connected to the internet. The current version is a preview version available for managed clients. SQLite is used for persisting the offline data on the client apps.

  • Node.js Tools for Visual Studio 2013 Beta Released

    A while ago, I had introduced Node.js Tools for Visual Studio for building a Node.js Web Site on Microsoft Azure. Last day,  Node.js Tools for Visual Studio team has released a beta version of Node.js Tools for Visual Studio, which provides an improved tooling experience than the previous version. You can download the latest version of Node.js Tools for Visual Studio from its CodePlex site.

  • Microsoft Azure Updates -- April 2014

    At the Build 2014 conference, Microsoft announces lot of exciting things which including updates on Microsoft Azure. Now Windows Azure has been rebranded as Microsoft Azure. This is good for Azure platform since Azure is a cross platform, which provides a polyglot Cloud platform for multiple operating systems.

  • Windows Azure Mobile Services with .NET Backend

    In this post, I will take a look at the new .NET support provided in Windows Azure Mobile Services for building mobile backend. Windows Azure Mobile Services was a technology based on Node.js, where we write backend code in JavaScript and we can leverage the Node.js ecosystem including NPM modules. But with the new release of Windows Azure Mobile Services, we can also build Mobile Services backend with .NET, which is a ASP.NET Web API based infrastructure. This is super exciting feature to .Net developers as developers can now work with Visual Studio 2013 for building Mobile Services backend with .NET where they can debug, test and run applications locally with their favourite IDE Visual Studio. For ASP.NET Web API developers, they can work with Mobile Services using their existing skills.

  • Gulp.js : A Better Alternative to Grunt.js

    Recently, we have started a single page application (SPA) demo in github with AngularJS. When we start this project, my plan was to use Grunt.js for task automation. But later, I have observed that there is a new framework named Gulp.js, that provides more cleaner and elegant syntax, which is easy to read and easy to write comparing to Grunt.js. Then I have evaluated the framework and really impressed with Gulp.js. Now I highly recommend Gulp.js over Grunt.js mainly due to its cleaner syntax.

  • Demo SPA App for ASP.NET Web API 2 and AngularJS

    In my previous post, I have announced SocialGoal, a reference web app for ASP.NET MVC 5 and EF 6 Code First. Today, I am announce the release of a demo single page application (SPA) for ASP.NET Web API 2 and AngularJS, developed by my team at Marlabs. The application is published on github at A release note is available in the docs folder of the project repository. The current version is an early first drop of the application, which we will continuously refactor, and later we will provide guidance for developing real-world client-side JavaScript apps and SPAs, including unit testing, task automation and performance optimizations.

  • Releasing SocialGoal - Reference Web App for ASP.NET MVC 5, EF 6 Code First, AutoMapper, Autofac, TDD and DDD

    My team at Marlabs, developed and released a sample reference web app for the Microsoft ASP.NET stack, named “SocialGoal” . SocialGoal is a social networking web app for socializing your goals and strategies with people. People can create goals and can be shared across the network of SocialGoal users. This app is built with ASP.NET MVC 5, EF 6 Code First, AutoMapper, Autofac, Twitter Bootstrap and following Test-Driven Development (TDD) and Domain Driven Design (DDD). The first drop of the application is available on github at A release note is available in the docs folder of the project repository. The primary objective of the SocialGoal app is to provide a learning app for building real-world web apps with ASP.NET MVC 5 and EF 6 Code First.

  • Better NPM Support in Windows Azure Mobile Services with package.json

    A while ago, I blogged about Git Source Control Integration in Windows Azure Mobile Services which lets the developers use Git for working with Mobile Services scripts. The source control integration lets you easily work as a team for working on Mobile Services scripts. This options lets Node.js developers more flexibility and control on the Windows Azure Mobile Services scripts, as you can install npm modules for your Windows Azure Mobile Services. But, this source control integration, had lack of support for package.json so that we had been inconvenient, while working with version controls. In fact, Node.js developers ignore node_modules from source controls and will be installed npm modules using npm install command which will identify dependencies from package.json and will automatically install npm modules.

  • A Simple CRUD Demo with Koa.js

    In my previous blog post, I have introduced Koa.js, a new framework building Node.js apps, by leveraging harmony (ECMAScript 6) features of JavaScript. In this blog post, I will demonstrate how to write a web app in Koa.js with basic CRUD functionalities. The source code of the demo web app is available on Github. For the sake of the demo, the web app uses an array object as a data store for persistence, but the demo app will be re-write with MongoDB as a persistence storage and will be update on Github. The demo web app uses the following npm modules:

  • Koa.js : Next Generation Web Framework for Building Node.js Apps Without Callback Hell

    I have been following the Node.js platform since 2011 and had been observed that it was difficult to maintain full-fledged web apps on the production servers, mainly due to the lack of error handling capabilities with callback hells. I have been recommending Node.js for building REST APIs and mobile backends and had been feared about developing complex web apps on the production environments.  I have been using Express.js as an application framework building apps, and at the same time, I was looking for a better web application framework. Last year, I had evaluated DerbyJS and MeteorJS. I was bit interested on DerbyJS last year, but the pace of the development of Derby framework was not good. But last month, I have super excited after the initial release of Koa.js. Initially, the most interesting fact was the team behind the framework. Koa was developed by the same time who has created the most popular Node.js framework, Express. TJ Holowaychuk, who is the most prolific author of Node.js modules, is leading the Koa project.