I wrote this document November 2014, in an effort to reconcile how mobile impacts the enterprise, with a business to employee focus. The introduction is included below.
Creating a mobile application that integrates into the enterprise infrastructure involves considerations that goes beyond the app itself. There are many ancillary concerns that developers should understand since they may affect the design of the app. For example, concerns with app exploitation via the network necessitate the addition of a web application firewall (WAF) which can be added fairly transparently with little to no effect on an existing app. However, the need to centralize app configuration and have updates pushed from an enterprise mobility management (EMM) solution requires the app to integrate with the mobile device management (MDM) SDK. These are just two examples illustrating how little or how much impact the mobile enterprise environment has on app design and development. Enterprise demands could require integrated analytics, per-app VPN, forced app updates, data-leak protection via containerization and multifactor authentication based on a device risk assessment integrated with the corporate directory. The modern enterprise mobile app could be asked to provide all these capabilities in addition to the business requirements themselves. This overview will strive to describe capabilities in generic terms and open standards and call out specific IBM products as footnotes.
The intended audience of this document are mobile application developers. They concern themselves deeply with languages, frameworks, usability, legacy integration, as well as source control, requirements capture and tracking, technical documentation, internationalization issues, build and test automation. Meanwhile all these topics continue to rapidly evolve at an Internet-pace. This leaves some mobile app developers with a meager understanding of the corporate environment into which they are unleashing their creation.