You may have heard the acronym BaaS, or "Backend as a Service." The basic idea is quite important: a REST API on the server side can provide database communication and hosting services for application developers. This reduces server side coding and enables smaller teams to build better applications with faster development schedules. There is a derivative acronym called mBaaS, or "Mobile Backend as a Service." Mobile devices definitely need RESTful services, so this is a more specialized version of BaaS. Unfortunately, in both cases, these terms have become associated with other ideas that make this simple value proposition hard to understand. As the mobile paradigm shift plays out we are either going to need to redefine these acronyms or drop them altogether.
What Does BaaS Have To Do With NoSQL?
The main proponents of the term BaaS were probably Kinvey, Parse, and Stackmob. Famously, Kinvey created an infographic of the "BaaS Landscape" and drew themselves in the middle of the diagram. These companies were often popular with consumer video game developers that needed somewhere to store high scores and a simple way to handle OAuth. They provided basic CRUD services for data, and in each case used a NoSQL database for storage, perhaps MongoDB or CouchDB. This made sense because their customers didn't have a legacy database or the need for structured data.
But in the world of enterprise software the vast majority of data is stored in SQL. For example, corporate information about accounts, contacts, and opportunities could be useful for a mobile application. The links between these objects are important. Contacts might be associated with a particular account, and opportunities might be associated with a particular contact. Companies need an easy way to connect Active Directory roles through a REST API to existing SQL roles and data. All things considered, SQL support is more important than NoSQL for mobile application development.