2016-02-12

Jason Bloomberg is the leading industry analyst and globally recognized expert on agile digital transformation. He writes and speaks on how today’s disruptive enterprise technology trends support the digital professional’s business transformation goals.

He writes for Forbes, his biweekly newsletter the Cortex, several contributed blogs, and he helps technology vendors and service providers communicate their digital transformation stories. His latest book is The Agile Architecture Revolution (Wiley, 2013).

The icons on your phone’s main screen may be discrete, separate shapes, but in reality, today’s mobile apps are more likely to be an interconnected web of functionality.

Examples abound: logging in via Facebook, Twitter, or some other social media account. Dynamic advertising that in some cases interacts directly with application functionality. Apps that launch each other, creating chains or even networks of interdependent functionality.

Mobile applications have penetrated the enterprise as well. Today’s enterprise mobile apps are not only interfaces to traditional apps like CRM or ERP, but they also empower users to connect functionality and data from multiple apps – all from the phone.

In fact, it’s rare these days to find a mobile app that doesn’t connect to something else. The secret sauce behind this web of functionality is the Application Programming Interface (API). APIs are the building blocks that modern mobile app developers use to assemble today’s apps and connect them to back end platforms and applications.

APIs, in fact, have been around for many years. In the early days of computing, APIs were the interfaces between different pieces of software on the same computer. With the rise of distributed computing, APIs played a critical role in helping software on different computers both communicate and control each other.

Today, APIs generally leverage Internet-centric technologies and architectural styles like REST to provide lightweight, simple, and standardized interactions among disparate pieces of software, now scattered around the world on computers, smartphones, and many other devices.

However, the unique nature of the mobile environment presents some challenges to developers who want to leverage APIs in mobile apps. The most pressing: Google’s Android operating system and the iOS operating system found on Apple iPhones aren’t compatible with each other.

Furthermore, other operating systems from companies like Microsoft and BlackBerry, while only on a few percent of phones today, also have compatibility challenges.

Disregarding these last two outliers, however, there are three basic environments for building mobile apps: Android, iOS, and native web apps.

Instead of running natively on the phone’s operating system, a native web app runs in a browser (typically Safari on an iPhone or Chrome on an Android phone). Because these browsers both leverage the modern HTML5 language, native apps run reasonably well on most modern phones.

It might seem, therefore, that building a native web app is the best way to go, and in some cases it is. But if your app needs to access the special hardware of the phone, like the camera, accelerometer, etc., then the best approach is to bite the bullet and develop separate versions of the app for both Android and iOS.

To aid with this task, the vendors of various back-end technologies offer software development kits (SDKs) that help your developers build apps for the different platforms. SDKs also have API support built in, enabling the mobile app to interact with back-end services.

There are also free, open source frameworks like PhoneGap that simplify the challenge of building different versions of apps for different mobile operating systems. PhoneGap lets developers use familiar web languages like HTML, CSS, and JavaScript to create mobile apps using standardized web APIs.

Enterprise Scenarios

In many ways the enterprise mobile story is similar to the story for mobile consumers, since after all, we’re all consumers and we all have smartphones, regardless of whether we’re at work or not.

Furthermore, most enterprise mobile apps are actually rather simple. They tend to be basic form completion apps, for example, entering information about a customer call or updating an order. The back end for such apps might be a cloud-based application like Salesforce, or in many cases, just a database or enterprise application running in your corporate data center.

Salesforce, as well as its large ecosystem of partners, all provide APIs to support mobile interactions with their platform and the applications that run on it. When your back end is a database or existing application, however, then you must expose APIs that abstract the underlying database queries. Exposing such APIs is one of the roles of an API management platform like Software AG’s API Management Platform.

API management platforms also serve an important security role as well. In fact, security is one of the most important challenges of APIs, especially in the enterprise.

To properly secure mobile apps, developers must be able to work with a number of security-related protocols: SSL, OAuth, OpenID Connect, PKI, and others. Leveraging the proper SDKs and APIs can facilitate the proper application of such protocols.

On the back end server side, there are corresponding challenges to supporting a properly secure and managed set of APIs for consumption in mobile devices. To meet this need, Mobile Enterprise Application Platforms (MEAPs) extend the functionality of general-purpose API management tools specifically to support mobile applications.

Today, cloud-based platforms known as Mobile Backend as a Service (MBaaS) are disrupting the MEAP market. MBaaS provides turn-key functionality for mobile initiatives that replaces traditional API management, and also provides a mobile-specific environment better than general purpose Platform as a Service (PaaS) vendors typically offer.

MBaaS provides mobile app developers with a way to link their applications to backend cloud storage and APIs, while also providing features such as user management, push notifications, and integration with social networking services.

The Intellyx Take

The definition of an application has been evolving over the years, from a single software program running on one computer to software that many computers share to the complex, widely distributed, multiple participant notion we have today. Mobile apps are one phase of this digital evolution.

No app stands alone. Mobile apps must interact with other applications and platforms in the cloud and in corporate data centers, and they must do so efficiently and securely.

APIs are the secret to this broad ecosystem of functionality that mobile apps are now a part of. APIs are how enterprises deliver value to customers, connect with partners, and support their employees. As a result, APIs are a critically important part of any digital transformation initiative.

Copyright © Intellyx LLC. Software AG is an Intellyx client. At the time of writing, no other organizations mentione



The post The API-Empowered Mobile Application appeared first on Reality Check.

Show more