Preface

About This Book

Every year sees dozens of new information technologies spring into general use. Many of these new types of hardware and software enjoy brief popularity in the IT community, but then fade from view, many times within a few months of their broader industry introduction. However, every decade or so, a new technology comes along with such fundamental impact that it forever changes the IT landscape. Every enterprise, across all industries, becomes motivated to adopt its use. Mobile apps represent one such transformational technology.

Over the course of 35 years in the computing industry, I’ve participated in four of these transformational IT waves, with mobile computing being the most recent. There are lots of patterns of adoption that are repeated during each wave.

The important adoption pattern for this book is when established enterprises begin the process of integrating the new technology with their existing systems. These companies have made significant investments in previous generations of IT and the new generation has to be knitted with the old instead of starting over “from scratch.”

That is why we titled this book “Enterprise” Mobile App Development. It has been written specifically to cover issues and topics that arise when mobile app development meets corporate enterprise IT systems. The coauthors have decades of enterprise software-development expertise as well as extensive depth of knowledge in the mobile aspects of their chapter topic. We cover the entire lifecycle involved in enterprise mobile app development, not just one activity such as coding or testing. The chapters are designed to be useful by themselves, but they all fit into a progression that roughly follows the flow of mobile-development activities in a project.

The IBM® developerWorks® Series

This book continues the line of IBM Press publications that comprise the IBM developerWorks series.

We’ve seen that as new technologies such as mobile, cloud, and social computing technologies have developed, there is a need for books aimed at the enterprise IT professional level that offer practical, hands-on coverage. Thus, we intend to meet that need with topics in the revamped IBM developerWorks series—this book is the second in the series.

Just as IBM developerWorks has always provided the most up-to-the-minute information on topics of interest to developers, we want the books in this series to provide the best combination of in-depth instruction and links to new and updated material on the web so that the books will both inform our readers on the subjects that interest them and help readers follow along with exercises and examples even when the underlying technologies and products change.

So one of the key aspects of the books in this new series is that we not only provide links to information on developerWorks that are relevant to the topics in the text, but we also provide a “landing pad” about each book on developerWorks that links to constantly updated instructions for installing the tools, working through the examples, and helping developers understand what they need to do to be effective with the IBM products that the books are about.

You can find the landing page for this book at: www.ibm.com/developerworks/dwbooks/enterprise-mobile/index.html.

We hope you enjoy reading this book as much as we’ve enjoyed writing it.

Leigh Williamson, August 2015

How This Book Is Organized

Chapter 1, “Mobile: The New Generation of Information Technology,” introduces the reasons why mobile applications are more than just a compelling new technology for enterprises. They motivate business innovation and transformation. Chapter 1 provides some examples of this, as well as an introductory discussion of some of the challenges and considerations that mobile software brings into the enterprise IT space.

Chapter 2, “Mobile Development Lifecycle Overview,” provides a full discussion of the lifecycle for developing enterprise mobile apps. While there are many development tasks that are same between mobile software and other kinds of software, there are also some parts of the mobile lifecycle that are unique. Chapter 2 starts with a quick refresher about software lifecycle concepts in general and introduces DevOps concepts that are crucial for success in a modern development project. In addition to describing the idealized mobile development lifecycle, we also make a nod to pragmatism and cover techniques for migrating from a not-so-perfect lifecycle toward one more aligned with mobile-development considerations.

Chapter 3, “Design Quality Is Crucial, Make the Investment Up-Front,” is an important new topic in the coverage of modern software development. It seems like an automatic assumption that good design is essential for any mobile app. It’s widely said that without design, a mobile app will fail to be an effective system of engagement. But what do we really mean by “design” in the context of mobile app development? And how can a development team apply techniques that will produce “good” design outcomes? Chapter 3 has been written by practitioners of new design thinking, specifically in the context of enterprise mobile software. You’ll learn specific exercises and techniques that will benefit the entire development team and result in outstanding user-centered mobile apps that will delight the people who ultimately interact with them. Design practices are important for all kinds of products, but unfortunately, this is an aspect of enterprise software development that has frequently lacked investment. The mobile era is changing all that. Do not overlook this chapter and miss the opportunity to learn “battle-tested” techniques for putting design into your mobile project.

Chapter 4, “Mobile Application Development,” covers coding and building the mobile app, which are the tasks that are at the core of the development activities. The techniques, languages, and architecture used for mobile development are rapidly changing, with important best practices for mobile software emerging at a furious pace. Chapter 4 covers a discussion about the factors to be considered when selecting an approach for coding and building your enterprise mobile app. Regardless of future evolution in mobile software and technology, these factors will remain relevant to any enterprise mobile project. We recommend rereading Chapter 4 before settling on this aspect of each new mobile undertaking. Chapter 4 also touches on the subject of Cloud software, which fits with modern mobile app architecture like hand and glove. You’ll see a comprehensive architecture for mobile/cloud software systems that includes all of the considerations important for an enterprise class solution. The chapter covers mobile app deployment concerns as well, since those are a higher priority for enterprise class apps where exiting systems need to be involved.

Chapter 5, “Mobile Enterprise—Beyond the Mobile End Point,” picks up from where Chapter 4 leaves the mobile backend topic and goes deeply into multiple enterprise mobile backend systems, covering how the mobile “front-end” can connect to and integrate with them. Typical protocols and application programming interfaces (APIs) are discussed. Security is covered in depth, since it is a topic with which every enterprise needs to be concerned. Management of mobile devices and software is part of the topics in this chapter too.

Chapter 6, “A Comprehensive Approach to Testing of Mobile Applications,” deals exclusively with mobile software quality considerations. It doesn’t take very long to think of many of the ways that mobile apps present challenges for testing and verification. We cover the range of techniques available to address these testing challenges, along with a comparison to help understand when one approach is better than the others. For mobile apps, testing is a continuous activity that goes on even after the app has been placed into production and is in use on real end user’s devices. Given the damage to enterprise reputation and monetary results possible from a “bad app,” mobile quality assurance is a job that’s never “done.” Chapter 6 discusses how to apply the technology and products in a process that flows in a constant cycle.

Chapter 7, “Best Practices of Mobile DevOps,” “closes the loop” of the development cycle with an in-depth discussion of DevOps best practices. Picking up from the initial DevOps coverage in Chapter 2, this chapter goes into more detail about putting DevOps into practice in a mobile software project. Follow the guidelines laid out in Chapter 7 and you will be able to crank up the velocity of your development team and accelerate delivery of the mobile app; something that every mobile project aspires to achieve.

Chapter 8, “Conclusions and Further Readings,” provides review and reference material for further research on each of the topics.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset