Manage Learn to apply best practices and optimize your operations.

Developers get into BaaS, mobile APIs for new opportunities

Backend as a Service and mobile APIs offer devel¬opers a whole new dimension of opportunity: cloud services to build the mobile apps of the future.

Tom Nolle Tom Nolle, president of
CIMI Corp.

A new development in the application programming interface (API) market, Backend as a Service (BaaS), offers developers...

a whole new dimension of opportunity: cloud services to build the mobile applications of the future.

Mobility, mobile broadband and mobile apps are transforming the Internet and the way people communicate and use information. For developers, the mobile app represents an enormous, lucrative new market. From a business perspective, each of the mobile platforms has its own benefits and limita­tions. Each also has its technical framework -- its own APIs. Mobile develop­ment platform APIs generally fall into two categories: platform APIs related to the mobile device's own operating system and middleware, and service APIs related to the access of Web-hosted material.

Technically, the key issue for BaaS is preserving the dominant RESTful Web service model of interface.

The new opportunity in APIs is Backend as a Service, an extension of the service API model. The goal of BaaS is to convert common and useful elements of mobile application logic -- storage, identity management, social network integration, photo enhancing -- into representational state transfer (REST) Web services that the application invokes as needed, making these services "back ends" to mobile apps.

As a concept, BaaS is similar to Software as a Service (SaaS) and Plat­form as a Service (PaaS): It offers functionality as a Web service. With SaaS, what's offered is an application or application component.'s CRM is a good example. PaaS offers a collection of services designed to pres­ent a complete virtual operating system; Microsoft's Windows Azure is the best-known PaaS example. BaaS is somewhere in between; it offers PaaS-like features, but not as a complete programming platform. Like SaaS, those features might perform business functions oriented to vertical markets or functionalities that can be used across industries. In all cases, though, BaaS aims to enhance mobile development.

Implementing BaaS

Success with BaaS requires a targeted business case and careful implementa­tion to support mobile development practices. Most BaaS deployments today are horizontal -- they cover a variety of markets -- and deal with well-known issues such as social network integration. The problem with these types of BaaS implementations is that they are so obvious that competition is inevitable, and so basic that differentiation is difficult. For example, it's likely that major cloud providers will move into BaaS services related to storage and iden­tity, and social network companies will offer social network BaaS integration. Vertical markets, where a developer already has skills, contacts and software products, are useful places to look into for BaaS opportunity. In horizontal mar­kets, data analysis and reduction tools, or forecasting and projection tools, are good candidates for BaaS.

More about BaaS

Test your knowledge of BaaS

Take a look at the BaaS market

BaaS takes on key mobile challenges

Technically, the key issue for BaaS is preserving the dominant RESTful Web service model of interface. These in­terfaces appear as a simple PUT/GET transactional model that doesn't re­main in a processing state between calls. Most of the major PUT/GET giants have exposed their own service APIs as RESTful interfaces that receive and re­spond using XML data structures. XML handling can be a chore, however, and it's helpful to either accept a simpler data structure or provide programming logic to use the interface as a reusable function in each of the target mobile devices.

Creating a BaaS service with the correct level of functional granularity is also important. Mobile users typically expect a quick response to a request, and there are interface timing issues that make it unadvisable to turn a com­plex function with a long execution time into a single service. Since RESTful interfaces are expected to be stateless, care is required in turning a complex function into a series of elements that can be used independently, but can function together when needed. Each request must stand on its own, and data from the response to a given request, if needed later, must be stored in the device and returned or maintained and updated by the service.

Passing as PaaS

Perhaps the most significant aspect of BaaS, from the developer's perspec­tive, is the relationship with PaaS. Any developer who has reviewed the APIs for search or social network giants, or for cloud management, knows that mul­tiple APIs typically form an ecosystem that, if it grows large enough, can ap­proach the functionality of a platform, as in PaaS. A few disconnected BaaS APIs are less compelling than, for example, an entire BaaS ecosystem aimed at supporting mobile-social network collaboration for enterprises. Popular open source blogging or chat room tools, for instance, could be built on uni­fied communications and collaboration, augmented with APIs to create voice and video calls.

BaaS will lead to a systematized view of background services for mobile development, which is for all practical purposes a mobile-driven PaaS plat­form. Developers, operators and enterprises need to think about this evolu­tion -- because a cooperative and symbiotic collection of BaaS tools are more valuable to developers and consumers than individual APIs could ever be. The BaaS movement could be a catalyst for moving developer focus from de­vices to the cloud -- and that means faster service and increased competition among handset vendors. But BaaS, like any cloud trend, is in the early stages, and there's a whole mobile world out there.

About the author
Tom Nolle is president of CIMI Corp., a strategic consulting firm specializing in telecommunications and data communications since 1982.

Follow us on Twitter at @SearchSOA.

Dig Deeper on API management