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
- 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
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
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