Enterprise Class Mobile Application Development: A Complete Lifecycle Approach for Producing Mobile Apps, 1st edition

Published by IBM Press (November 22, 2015) © 2016

  • Leigh Williamson
  • Roland Barcia
  • Omkar Chandgadkar
  • Ashish Mathur
  • Soma Ray
  • Darrell Schrag
  • Roger Snook
  • Jianjun Zhang
$19.99

  • A print text (hardcover or paperback)
  • Free shipping

This book introduces a comprehensive approach for team development of mobile business apps, combining best practices for collaborative software lifecycle management with newer requirements unique to the mobile space. Authored by a team of IBM experts responsible for delivering the cutting-edge IBM Mobile Enterprise product offerings, it has been designed to provide value for every participant in the mobile enterprise app development project. This book will help students to build robust enterprise applications that securely leverage existing enterprise services and data sources. It shows how to develop robust cross-platform mobile apps that support students, no matter what devices they choose.

  • A complete, proven approach to building, integrating, and deploying enterprise-class mobile business apps
  • Written by seasoned professionals who help produce IBM Mobile Enterprise product offerings
  • Covers all mobile app development and delivery activities, from project inception through final app testing and production deployment
  • Includes best practices for cost-effective mobile application implementation
  • Offers expert recommendations for leveraging agile development techniques in mobile projects
Preface      xvii
Acknowledgments      xxi
About the Author      xxiii
Chapter 1: Mobile: The New Generation of Information Technology      1

Why Businesses Are Adopting Mobile Applications      1
Driving Business Process Innovation      1
A Formula for Designing Engaging Systems      2
Unique Challenges for Development of Engaging Applications      4
Form Factors and User Input Technology      4
Usability and User Interaction Design      4
Choice of Implementation Technology      5
Mobile Application Build and Delivery      6
Testing      7
Enterprise Mobile Development      7
Summary      8
Chapter 2: Mobile Development Lifecycle Overview      9
Introduction      9
DevOps and Enterprise Mobile Development Lifecycle Overview      11
A DevOps Approach Is Core to Delivering Client Value      11
One Essential View of DevOps: The Mobile Developer Perspective      12
Sprint 1: “Hello World”--Initial Operating Capability and Prototype      13
Design--The Big Picture      14
Integrate: Enterprise Services and Data      17
Test: Manual Testing Is Better than No Testing      18
Test: Simulate/Preview      18
Sprint 2: “Hello DevOps!”--Improve Developer Productivity      19
Develop: Productivity with Wizards and Mobile Platform Portability      19
Instrument: Quality Assurance and Testing “In the Wild”      19
Test: Code-Centric and Unit Testing      20
Deploy: Automate Your Deployment Pipeline      21
Sprint 3: “Software Delivery Is a Team Sport!”      23
Develop: Agile Planning      23
Develop: Work Items (Defects, Enhancement Requests)      23
Develop: Application Lifecycle Management (ALM) Imperatives      24
Test: Improving Manual, Automating User Interface Tests, and Test Data Management      26
Sprint 4: “Ruggedized for the AppStore”      27
Test: “FURPS” and Virtualization      27
Scan and Certify      28
Obtain Insight: Application Quality Feedback and Analytics      28
Sprint 5: “Optimizing Enterprise DevOps”      29
Integrate: Enterprise Developer Integration      29
Instrument and Obtain Insight: Customer Experience (CX) and Campaign Management      31
Obtain (AppStore) Insight: Mobile Quality Assurance      32
Manage: Application Versions, Updates, and More!      33
Summary      35
Chapter 3: Design Quality Is Crucial, Make the Investment Up-Front      37
Overview      37
Why Is Design Important?      37
Scope of Design in Mobile App Development      37
Design Research      38
Information Architecture      38
Interaction Design      38
Visual Design      38
Overarching Design Principles and Guidelines      39
Discover, Try, and Buy      39
Get Started      39
Everyday Use      40
Manage and Upgrade      42
Leverage and Extend      42
Get Support      42
Designing for Enterprise Mobile      42
Designing the IBM Way      42
Core Practices      43
Some Design Methods      45
Understand      45
Explore      46
Prototype      50
Evaluate      53
Summary      54
Chapter 4: Mobile Application Development      55
The Mobile App      55
Factors for Choosing      56
How Should I Build Applications?      58
The Case for Cloud      58
Mobile App Architectural Components      61
Mobile Device Components      61
Public Network Components      63
Provider Cloud Service Components      63
Enterprise Network Components      68
Complete Picture      68
Mobile App Flow      68
Mobile App Deployment Considerations      71
Summary      74
Chapter 5: Mobile Enterprise--Beyond the Mobile End-Point      75
Building Mobile Apps Powered by Enterprise Backend      75
Connecting the Mobile App with Enterprise IT Services and Data      76
Types of IT Backends to Integrate from Mobile Apps      78
Type of API Protocols      80
Security Integration      81
IBM DataPower XG45 Security Gateway      84
Mobile Devices Security Considerations      86
Loss and Theft      87
Malware      89
Phishing      90
Understanding the Worklight Security Integration Framework      90
Secured Data Store and Synchronization      92
Enterprise Mobile Application Management and Device Management      92
Special Challenges in Managing Mobile Applications and Devices      93
Example Product: IBM MaaS360      94
Architectural Choices for Secured Enterprise Connectivity      95
Summary      98
Chapter 6: A Comprehensive Approach to Testing of Mobile Applications      99
Why Is Quality Essential?      99
When Should Quality Be in Focus?      100
What Is the Cost of Quality?      100
Automated versus Manual Testing     100
Preproduction versus Postrelease     101
Automated Mobile App Testing Considerations     103
Test Devices     103
Emulators and Simulators     103
Device Clouds     103
Crowd-Sourced Testing     104
Using Service Virtualization to Isolate Mobile Code     105
Mobile Test Automation Techniques     105
Mobile App Programmatic Instrumentation     105
Random Generated Mobile Tests     106
Image Recognition Automated Mobile Tests     107
Making Manual Testing More Effective     107
Crash Data Capture and Analysis     108
Performance Testing     109
Load and Stress Performance Testing     109
Mobile Client Resource Metrics     109
User Sentiment as a Measure of Quality     110
Summary     111
Chapter 7: Best Practices of Mobile DevOps     113
What Is DevOps?      113
Some Definitions     113
The IBM DevOps Solution     115
Plan and Measure     115
Develop and Test     116
Release and Deploy     116
Monitor and Optimize     116
DevOps Best Practices     116
Plan and Track Everything     116
Dashboard Everything     117
Version Everything     117
Automate Everything     118
Test Everything     118
Monitor Everything     118
Mobile DevOps Challenges     119
Fragmented Platforms     119
Mobile Applications Front a Complex Enterprise Back Office     119
App Stores Add Additional Asynchronous Deployment Step     121
Security, Code Signing, and Keystores     121
Testing     121
Mobile DevOps Best Practices     121
Practice Continuous Integration/Delivery and Automate Builds and Deployments     121
Test Each Build     122
Simulate Backend Services to Expand Testing Environment Availability     123
Monitor Deployed Application and Backend Server Performance     124
Centralize Governance of Provisioning Profiles, Certificates, and API Keys     126
Use a Private App Store to Test Deployment Devices     126
Convert Real User Feedback to Enhancement     126
Summary     127
Chapter 8: Conclusions and Further Readings     129
Conclusions     129
Further Readings     130
Chapter 2: Development Lifecycle     130
Chapter 3: Design Related     131
Chapter 4: Mobile Development     131
Chapter 5: Mobile Server     132
Chapter 6: Mobile Quality     132
Chapter 7: Mobile DevOps     133
Index     135
Leigh Williamson is an IBM Distinguished Engineer who has been working in the Austin, Texas lab since 1989, contributing to IBM’s major software projects including OS/2, DB2, AIX, Java, WebSphere Application Server and associated family of products, the Rational brand of software offerings, the MobileFirst line of solutions, and the IBM Cloud products and services. He is currently a member of the IBM Cloud Strategy team, influencing the direction for the IBM Cloud portfolio. You can follow Leigh on twitter @leighawillia. He holds a B.S. degree in Computer Science from Nova University and an M.S. degree in Computer Engineering from University of Texas at Austin.
Roland Barcia is an IBM Distinguished Engineer and CTO for the Mobile IBM Cloud Support and Lab Services. Roland is responsible for technical thought leadership and strategy, practice technical vitality, and technical enablement. He works with many enterprise clients on mobile strategy and implementations. He is the coauthor of four books and has published more than 50 articles and papers on topics such as mobile technologies, Bluemix, IBM MobileFirst, Java, Ajax, REST, and messaging technologies. He frequently presents at conferences and to customers on various technologies. Roland has spent the past 16 years implementing mobile, API, middleware systems on various platforms, including Sockets, CORBA, Java EE, SOA, REST, web, and mobile platforms. He has a master’s degree in computer science from the New Jersey Institute of Technology.
Omkar Chandgadkar is an experience designer with a background in computer engineering and Human Computer Interaction. At IBM, he is involved in conducting strategic research for developer tools and designing for the complex challenges of enterprise customers. Through his work, Omkar strives to design experiences that solve user problems and generate business value.
Ashish Mathur is an IBM Senior Technical Staff Member and Lead Software Architect for IBM Rational functional testing tools and has the mission to build the next-generation mobile and desktop web-testing software. He has been working on automated testing software since 1993 contributing to major IBM and Rational testing software, including Rational Test Workbench, RFT, RQM, RPT, and Rational Test manager. He has been in multiple roles in automated testing including that of a tester, consultant, subject matter expert, and a developer of the tools. He works out of the IBM India Software Labs in Bangalore, India.
Soma Ray is a UX strategist with research and design backgrounds. With educational background in Electronics, Business Administration, and Human Computer Interaction from University of Pune, India and University of Michigan, Ann Arbor, Soma has always strived to make technology more accessible and empathetic for its users. She has worked in the enterprise technology industry and currently works for the IBM Design Studio in Austin Texas.
Darrell Schrag is a 27-year software professional having spent significant time in the DoD/Aerospace and Financial Services industries. Darrell joined Rational Software in 1993 to bring software-development practices and tools to successful customers. Darrell continues to contribute to customer success with IBM after its acquisition of Rational Software. Darrell has spent time at IBM as a Rational services consultant as well as a worldwide mobile and DevOps specialist. Darrell is currently a Cloud Advisor in the IBM Cloud business unit, helping customers find their best path forward with IBM cloud solutions.
Roger Snook brings 25 years of software product innovation and consultative engagements across several industries focused on developer and project productivity to drive good business results--good design is good business! Roger is an IBM Certified Expert IT Specialist, Open Group Master IT Specialist, and an OMG Certified UML Professional in the Washington DC/West Virginia area, and holds a B.S. degree in Computer Science from Rensselaer Polytechnic Institute, Troy, New York. You can find Roger on several social networks or volunteering in his local community youth soccer or faith-based activities.
Jianjun Zhang is a Senior Technical Staff Member in IBM’s Systems group, Middleware division. In the past number of years, he worked on exciting projects including helping to integrate Worklight into IBM’s MobileFirst portfolio to become the foundation of the mobile strategy, leading a SaaS product development that helps business developers create mobile and web applications for departmental use without having to master coding skills. Lately, he is building cloud services to help business individuals and organizations alike to develop and manage cloud applications, Internet of Things devices, and business insights. He has a Bachelor’s degree from Fudan University in China and a Master’s degree from Northern Illinois University in the United States.

Need help? Get in touch

Video
Play
Privacy and cookies
By watching, you agree Pearson can share your viewership data for marketing and analytics for one year, revocable by deleting your cookies.

Pearson eTextbook: What’s on the inside just might surprise you

They say you can’t judge a book by its cover. It’s the same with your students. Meet each one right where they are with an engaging, interactive, personalized learning experience that goes beyond the textbook to fit any schedule, any budget, and any lifestyle.