Mobile Applications: Architecture, Design, and Development

Mobile Applications: Architecture, Design, and Development

Read it now on the O’Reilly learning platform with a 10-day free trial.

O’Reilly members get unlimited access to books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.

Book description

Delivering high-value mobile applications-from start to finish

This is the definitive guide to building successful mobile applications. It covers every facet of development and deployment, including business issues, architectural design, integration with existing web and legacy applications, and the management of mobile application development projects. It also presents three application case studies that demonstrate best practices at work in real projects. Coverage includes:

Mobile Applications is indispensable for everyone who needs to deliver robust, high-value mobile solutions: project managers, technical leaders, architects, and experienced developers alike.

Show and hide more Table of contents Product information

Table of contents

  1. Copyright
  2. Praise for Mobile Applications: Architecture, Design, and Development
  3. About Prentice Hall Professional Technical Reference
  4. Hewlett-Packard® Professional Books
  5. Foreword
  6. Preface
    1. Intended Audience
    2. Acknowledgments
    3. Download Site
    1. 1.1. What is Mobility?
      1. 1.1.1. Portability
      2. 1.1.2. Usability
      3. 1.1.3. Functionality
      4. 1.1.4. Connectability
      1. 1.2.1. Umbrella Considerations
      2. 1.2.2. Fallacies About Mobile Application Development
      1. 2.1. Who is Going Mobile?
        1. 2.1.1. Workers
        2. 2.1.2. Consumers
        1. 2.2.1. Communication
        2. 2.2.2. Work
        3. 2.2.3. Entertainment
        4. 2.2.4. Education
        5. 2.2.5. Location
        1. 2.3.1. Pros
        2. 2.3.2. Cons
        1. 3.1. Client-Server
          1. 3.1.1. Layers
          2. 3.1.2. Tiers
          1. 3.2.1. Thin Clients
          2. 3.2.2. Fat Clients
          3. 3.2.3. Web Page Hosting
          1. 3.3.1. One-Tier Architecture
          2. 3.3.2. Two-Tier Architecture
          3. 3.3.3. Three-Tier Architecture
          1. 3.4.1. Always Connected
          2. 3.4.2. Partially Connected
          3. 3.4.3. Never Connected
          1. 3.5.1. Continuous Communication
          2. 3.5.2. Store-and-Forward Synchronization
          1. 3.6.1. Pattern Matrix
          2. 3.6.2. Zero-Layer, Three-Tier, Always Connected Architecture
          3. 3.6.3. Three-Layer, Three-Tier, Partially Connected Architecture
          1. 3.7.1. Requirements
          2. 3.7.2. Technology Independence
          3. 3.7.3. High Performance and Availability
          4. 3.7.4. Scalability
          5. 3.7.5. User System Requirements
          1. 4.1. Mobile Device Types
            1. 4.1.1. Pagers/RIM Devices
            2. 4.1.2. Cellular Telephones
            3. 4.1.3. PDAs
            4. 4.1.4. Tablet PCs
            5. 4.1.5. Laptop PCs
            6. 4.1.6. Hybrids
            7. 4.1.7. Capability and Cost Considerations
            1. 4.2.1. CPU
            2. 4.2.2. Operating System
            3. 4.2.3. Memory
            4. 4.2.4. Disk
            5. 4.2.5. Batteries and Power
            6. 4.2.6. Connection Ports
            7. 4.2.7. Screen
            8. 4.2.8. Keyboard
            9. 4.2.9. Mouse, Stylus, Pen, and Voice
            10. 4.2.10. Peripherals
            1. 4.3.1. Wired
            2. 4.3.2. Wireless
            1. 5.1. User Interface
              1. 5.1.1. Device I/O
              2. 5.1.2. Keyboard
              3. 5.1.3. Mouse
              4. 5.1.4. Stylus, Pen, and Touch-Screen
              5. 5.1.5. Speech
              6. 5.1.6. Scanner
              7. 5.1.7. Screen
              1. 5.2.1. Text
              2. 5.2.2. Images
              3. 5.2.3. Animation
              4. 5.2.4. Sounds
              5. 5.2.5. Movies
              1. 5.3.1. Page Layout and Navigation
              2. 5.3.2. Personalization and Customization
              3. 5.3.3. Help
              4. 5.3.4. Search
              1. 5.4.1. Consider Hardware Dependencies
              2. 5.4.2. Consider Software Dependencies
              3. 5.4.3. Consider Absolute and Relative Sizing and Positioning
              4. 5.4.4. Reduce Horizontal Scrolling
              5. 5.4.5. Use Text Extensively
              6. 5.4.6. Check Image Scaling
              7. 5.4.7. Reduce Image Size and Quantity
              8. 5.4.8. Reduce Animation
              9. 5.4.9. Reduce Input and Typing
              10. 5.4.10. Implement Separate Page Sets
              1. 6.1. Thin Client
                1. 6.1.1. Development Considerations
                2. 6.1.2. Architecture
                1. 6.2.1. Development Considerations
                2. 6.2.2. Common Use Cases
                3. 6.2.3. Architecture
                4. 6.2.4. Presentation Layer
                5. 6.2.5. Business Layer
                6. 6.2.6. Data Access Layer
                1. 6.3.1. Development Considerations
                2. 6.3.2. Architecture
                3. 6.3.3. Presentation Layer
                4. 6.3.4. Business Layer
                5. 6.3.5. Data Access Layer
                1. 6.4.1. Consider Thin Versus Fat Versus Web Page Hosting
                2. 6.4.2. Increase Code Abstraction and Reusability
                1. 7.1. HTTP and HTML
                2. 7.2. WAP and WML
                3. 7.3. Synchronization Software
                4. 7.4. RDA and Merge Replication
                5. 7.5. SOAP and WEB Services
                6. 7.6. Message Queues
                7. 7.7. TCP/IP
                8. 7.8. Summary
                1. 8.1. Evolution of Enterprise Architectures
                  1. 8.1.1. Client-Server Architecture
                  2. 8.1.2. Web-Enabled Service-Centric Architecture
                  3. 8.1.3. User-Centric, Single Sign-On Web Architecture
                  1. 8.2.1. Architecture
                  2. 8.2.2. Logical View
                  1. 8.3.1. Architecture
                  2. 8.3.2. Users, Roles, and Entitlements
                  3. 8.3.3. Presentation Tier
                  4. 8.3.4. Application Tier
                  5. 8.3.5. Database Tier
                  6. 8.3.6. Existing Back-end Systems
                  7. 8.3.7. Authentication
                  8. 8.3.8. Enrollment
                  9. 8.3.9. Administration
                  10. 8.3.10. High Availability and Performance
                  11. 8.3.11. Scalability
                  12. 8.3.12. Security
                  1. 9.1. Mobilized Enterprise Web Architectures
                    1. 9.1.1. Vulnerabilities
                    2. 9.1.2. Threats
                    3. 9.1.3. Mitigation
                    1. 9.2.1. Authentication
                    2. 9.2.2. Smart Cards
                    3. 9.2.3. Biometric Authentication
                    1. 9.3.1. Automatic Logout and Credentials Re-Entry
                    2. 9.3.2. Data Destruction
                    3. 9.3.3. Database Encryption
                    4. 9.3.4. Code-Embedded Usernames and Passwords
                    1. 9.4.1. Communication Encryption
                    1. 9.5.1. Firewalls and Tier Separation
                    2. 9.5.2. Application Services and Port Lockdown
                    3. 9.5.3. Communication Encryption
                    4. 9.5.4. Database Authentication
                    5. 9.5.5. Database Encryption
                    1. 10.1. Project Management
                      1. 10.1.1. Management Models
                      2. 10.1.2. Planning
                      3. 10.1.3. Team Resources
                      4. 10.1.4. Status Reports and Status Meetings
                      5. 10.1.5. Financials
                      6. 10.1.6. Environment
                      7. 10.1.7. Version and Change Management
                      8. 10.1.8. Training
                      9. 10.1.9. Common Managerial Headaches
                      1. 10.2.1. Requirement Types
                      2. 10.2.2. Gathering Requirements
                      3. 10.2.3. Documenting Requirements
                      1. 10.3.1. Design Documentation
                      2. 10.3.2. Design Considerations
                      1. 10.4.1. Coding
                      2. 10.4.2. Unit Testing
                      1. 10.5.1. Testing Process
                      2. 10.5.2. Testing Documentation
                      3. 10.5.3. Testing Considerations
                      1. 10.6.1. Mobile Client Production Releases
                      2. 10.6.2. Server Production Releases
                      1. 10.7.1. Re-Evaluation
                      2. 10.7.2. Reiteration
                      1. 10.8.1. Day-to-Day Operations
                      2. 10.8.2. Monitoring
                      3. 10.8.3. Backup and Restoration
                      1. 11.1. Use Cases
                        1. 11.1.1. Use Case Actors
                        2. 11.1.2. Existing Web Site Use Cases
                        3. 11.1.3. Mobile Web Site Use Cases
                        1. 11.4.1. Existing Presentation Layer
                        2. 11.4.2. Business Logic Layer
                        3. 11.4.3. Data Access Layer
                        1. 11.5.1. Architecture
                        2. 11.5.2. Users and Roles
                        3. 11.5.3. Presentation Layer
                        4. 11.5.4. Business Logic Layer
                        5. 11.5.5. Data Access Layer
                        6. 11.5.6. Authentication
                        7. 11.5.7. Enrollment
                        8. 11.5.8. Administration
                        9. 11.5.9. Mobile Device Support
                        10. 11.5.10. Presentation Layer Detailed Design
                        1. 12.1. Use Cases
                          1. 12.1.1. Use Case Actors
                          2. 12.1.2. Mobile Client Use Cases
                          3. 12.1.3. Web Site Use Cases
                          1. 12.2.1. Overall Architecture
                          2. 12.2.2. Process Flow
                          1. 12.3.1. Presentation Layer
                          2. 12.3.2. Business Logic Layer
                          3. 12.3.3. Data Access Layer
                          1. 12.4.1. Presentation Layer
                          2. 12.4.2. Business Logic Layer
                          3. 12.4.3. Data Access Layer
                          1. 12.5.1. XML Web Service
                          2. 12.5.2. Presentation Layer
                          3. 12.5.3. Business Logic Layer
                          4. 12.5.4. Data Access Layer
                          1. 13.1. Use Cases
                            1. 13.1.1. Use Case Actors
                            2. 13.1.2. Existing Web Site Use Cases
                            3. 13.1.3. Mobile Web Site Use Cases
                            1. 13.2.1. Overall Architecture
                            1. 13.3.1. Presentation Layer
                            2. 13.3.2. Business Logic Layer
                            3. 13.3.3. Data Access Layer
                            1. 13.4.1. XML Web Service
                            2. 13.4.2. Presentation Layer
                            3. 13.4.3. Business Logic Layer
                            4. 13.4.4. Data Access Layer
                            1. A.1. Books
                              1. Bibliography
                              1. B.1. Architecture
                                1. B.1.1. Hosting Web Pages
                                2. B.1.2. Environment
                                3. B.1.3. PWHCOMP
                                4. B.1.4. PWHOST
                                1. B.2.1. General Procedure
                                2. B.2.2. Example
                                Show and hide more

                                Product information

                                • Title: Mobile Applications: Architecture, Design, and Development
                                • Author(s): Valentino Lee, Heather Schneider, Robbie Schell
                                • Release date: April 2004
                                • Publisher(s): Pearson
                                • ISBN: 0131172638