APIs are the new distribution channel. I heard this several times at the Gartner AADI event in December, and it’s not really new news. There were also mobile app development sessions that were talking about native OS mode vs HTML5 in the development context. But what is actually behind a mobile app at design time and runtime? APIs! APIs are the gateway to the back-end services that support mobile apps. As well as cloud and web applications, for that matter.
At design time, for a developer to be able to create a mobile app, the developer needs to be able to search for APIs that will provide the information he or she needs. At one AADI session, I saw an example of a Realtor’s app. It included not only facts about the property, but it also included a map of where the property is located. So this particular example is a mashup of property information (address) from one API (e.g. RealtyTrac) feeding another API which provides the geocoding map. Together, the developer provides a useful app which contains relevant information that consumers will readily adopt because it’s handy, easy to use and provides desired information. Not all apps are mashups, of course, and each of the apps that comprise this particular mashup provides its own benefits in its own right. Note that this scenario is an “open API” style, where 3rd party developers are using public APIs. There are also scenarios where companies develop their own mobile apps without exposing their APIs externally to 3rd party developers.
When it comes to invocation, or runtime, the APIs and an API management platform support mobile apps in many ways. They provide requested data to the consumer (mobile app) in a secure fashion, they are provisioned to authenticate users and provide access, ensure SLAs are met, and they provide monetization services, such as API usage and metering, reporting and billing. Furthermore, they virtualize services, and ensure 24x7x365 availability. They apply policy-based governance to ensure the correct level of access to specific data. For example, there may be different levels of service for free and paid subscribers, where paid subscribers would typically have access to additional data or services. Levels of service could also be measured by other metrics such as throughput, bandwidth consumed, concurrency, number of access allowed over a specific time period, and availability. Think about all the back-end data that the app requires. Where is all this data, and how many sources of data needed? What needs to be done to transform, merge and aggregate the data to display it properly on a mobile device? This is what mediation and service orchestration is all about, and it is another capability of an API platform to support mobile apps. In summary, an API Management platform provides the lifecycle management of the APIs and the design time and runtime capabilities which deliver the information to the mobile app.