This document discusses the functionalities needed for an enterprise app including working with large files, backend data, CRUD operations, users, roles, authentication, authorization, and different notification types. It states that all of these need to be provided through a service layer. It then provides examples of backend as a service platforms like Windows Azure Mobile Services and Icenium Everlive that can provide these features as a service.