000 08239cam a2200733Mi 4500
001 ocn958946779
003 OCoLC
005 20171224115030.0
006 m d
007 cr |||||||||||
008 160613s2016 nju o 000 0 eng d
040 _aNLE
_beng
_erda
_epn
_cNLE
_dEBLCP
_dOCLCO
_dN$T
_dIDEBK
_dN$T
_dDG1
_dOCLCF
_dDG1
_dTEFOD
_dRECBK
_dJG0
015 _aGBB684858
_2bnb
020 _a9781119060406
_q(electronic bk.)
020 _a1119060400
_q(electronic bk.)
020 _a9781119060185
_q(electronic bk.)
020 _a1119060184
_q(electronic bk.)
020 _a9781119060154
_q(electronic bk.)
020 _a111906015X
_q(electronic bk.)
020 _z9781119060147 (hbk.)
029 1 _aCHNEW
_b000886103
035 _a(OCoLC)958946779
037 _a9781119060185
_bWiley
037 _aEF8D5C0A-6E54-42CB-9998-9D5DD356E868
_bOverDrive, Inc.
_nhttp://www.overdrive.com
050 4 _aQA76.59
072 7 _aCOM
_x074000
_2bisacsh
082 0 4 _a005.25
_223
049 _aMAIN
100 1 _aHeckman, Rocky,
_eauthor.
245 1 0 _aDesigning platform independent mobile apps and services /
_cRocky Heckman.
250 _a1st.
264 1 _aHoboken :
_bWiley-IEEE Press,
_c2016.
300 _a1 online resource.
336 _atext
_2rdacontent
337 _acomputer
_2rdamedia
338 _aonline resource
_2rdacarrier
500 _aPreface Acknowledgments 1 The Mobile Landscape 1 1.1 Introduction 1 1.2 Previous Attempts At Cross Platform 3 1.2.1 Java 3 1.2.2 Early Web Apps 5 1.2.3 Multiple Code Bases 8 1.3 Breadth Versus Depth 10 1.4 The Multi-Platform Targets 13 1.4.1 Traditional 13 1.4.2 Mobile 14 1.4.3 Wearables 15 1.4.4 Embedded 16 2 Platform Independent Development Technologies 18 2.1 Vendor Lock In 19 2.2 Recommended Standards and Guidelines 21 2.2.1 Respecting the Device 21 2.2.2 Respecting the Network 23 2.2.3 Communication Protocols 25 2.2.4 Data Formats 37 2.2.5 Mobile User Experience Guidelines 47 2.2.6 Authentication 53 2.2.7 Dealing With Offline and Partially Connected Devices 56 3 Platform independent Development Strategy 77 3.1 High Level App Development Flow 77 3.2 Five Layer Architecture
500 _a78 3.3 Five Layer Architecture Detail 80 3.3.1 The UI Layer 80 3.3.2 The Service Interface Layer 81 3.3.3 The Service Layer 83 3.3.4 The Data Abstraction Layer 84 3.3.5 The Data Layer 85 4 The UI Layer 87 4.1 Porting versus Wrapping 87 4.2 Multi-Client Development Tools 88 4.2.1 PhoneGap (http://phonegap.com/ ) 88 4.2.2 Xamarin (http://xamarin.com/ ) 90 4.2.3 Unity (http://www.unity3d.com ) 91 4.2.4 Visual Studio 91 4.3 Cross Platform Languages 92 4.4 Avoid Writing for the Least Common Denominator 93 4.5 Wrapping up 94 5 The Service Interface Layer 96 5.1 Message Processing 96 5.1.1 Push versus Pull 97 5.1.2 Partially Connected Scenarios 98 5.2 Message Processing Patterns 99 5.3 High Volume Messaging Patterns 103 5.4 High Volume Push Notifications 110 5.5 Message Translation and Routing 117 5.5.1
500 _aMessage Translation 117 5.5.2 Message Routing 125 5.5.3 Handling Large Amounts of Data 132 5.6 Wrapping up the Service Interface layer 134 6 The Service Layer 136 6.1 Thinking in Nodes 136 6.1.1 Scale Out and Scale Up 136 6.1.2 Scale Out versus Scale Up 136 6.2 Planning for Horizontal Scaling 139 6.2.1 Node Sizing 139 6.2.2 Statelessness 142 6.3 Designing Service Layers for Mobile Computing 145 6.3.1 Service Componentization 146 6.4 Implementation Abstraction 147 6.4.1 Service Interface Abstraction 148 6.5 Using CQRS / ES for Service Implementation 151 6.5.1 CQRS Overview 152 6.5.2 Why CQRS 153 6.5.3 Being Able to Separate Data Models 154 6.5.4 Aggregates and Bounded Contexts 156 6.5.5 The Read and Write Sides 157 6.5.6 CQRS Communications 159 6.6 Side by Side Multi Versioning 167 6.7 Service Agility 168 6.8
500 _aConsumer, Business,
500 _aand Partner Services 168 6.9 Portable and Modular Service architectures 169 6.9.1 Designing Pluggable Services 173 6.9.2 Swapping Services 175 6.9.3 Deployment and Hosting Strategies 180 7 The Data Abstraction Layer 183 7.1 Objects to Data 183 7.2 Using the DAL with External Services 186 7.3 Components of a DAL 189 7.3.1 Data Mapper 190 7.3.2 Query Mapper 192 7.3.3 Repository 197 7.3.4 Serializers 199 7.3.5 Storage Consideration 201 7.3.6 Cache 205 7.4 Wrapping up the DAL 207 8 The Data Layer 209 8.1 Overview 210 8.2 Business Rules in the Data Layer 211 8.3 Relational Databases 211 8.4 NoSQL Databases 214 8.4.1 Key Value Database 218 8.4.2 Document Database 221 8.4.3 Column Family Databases 225 8.4.4 Graph Database 230 8.5 File storage 233 8.6 Blended approach 236 8.6.1 The Polyglot
500 _aData Layer 237 9 Strategies for Ongoing Improvement 241 9.1 Feature Expansion 241 9.2 Data collection matters 245 9.3 Multi-Versioning 247 9.4 Version Retirement 251 9.4.1 Scale Back 253 9.5 Client Upgrades 257 10 Conclusion 261 Index
506 _aOwing to Legal Deposit regulations this resource may only be accessed from within National Library of Scotland. For more information contact enquiries@nls.uk.
_5StEdNL
588 _aDescription based on CIP data; item not viewed.
505 0 _aIEEE Press; Title page; Copyright; Dedication; PREFACE; ACKNOWLEDGMENTS; CHAPTER 1 THE MOBILE LANDSCAPE; 1.1 INTRODUCTION; 1.2 PREVIOUS ATTEMPTS AT CROSS-PLATFORM; 1.3 BREADTH VERSUS DEPTH; 1.4 THE MULTI-PLATFORM TARGETS; CHAPTER 2 PLATFORM-INDEPENDENT DEVELOPMENT TECHNOLOGIES; 2.1 VENDOR LOCK-IN; 2.2 RECOMMENDED STANDARDS AND GUIDELINES; 2.3 WRAPPING UP; CHAPTER 3 PLATFORM-INDEPENDENT DEVELOPMENT STRATEGY; 3.1 HIGH-LEVEL APP DEVELOPMENT FLOW; 3.2 FIVE-LAYER ARCHITECTURE; 3.3 FIVE-LAYER ARCHITECTURE DETAIL; CHAPTER 4 THE USER INTERFACE LAYER; 4.1 PORTING VERSUS WRAPPING
505 8 _a4.2 MULTI-CLIENT DEVELOPMENT TOOLS4.3 CROSS-PLATFORM LANGUAGES; 4.4 AVOID WRITING FOR THE LEAST COMMON DENOMINATOR; 4.5 WRAPPING UP; CHAPTER 5 THE SERVICE INTERFACE LAYER; 5.1 MESSAGE PROCESSING; 5.2 MESSAGE PROCESSING PATTERNS; 5.3 HIGH-VOLUME MESSAGING PATTERNS; 5.4 HIGH-VOLUME PUSH NOTIFICATIONS; 5.5 MESSAGE TRANSLATION AND ROUTING; 5.6 WRAPPING UP; CHAPTER 6 THE SERVICE LAYER; 6.1 THINKING IN NODES; 6.2 PLANNING FOR HORIZONTAL SCALING; 6.3 DESIGNING SERVICE LAYERS FOR MOBILE COMPUTING; 6.4 IMPLEMENTATION ABSTRACTION; 6.5 USING CQRS/ES FOR SERVICE IMPLEMENTATION
505 8 _a6.6 SIDE BY SIDE MULTI-VERSIONING6.7 SERVICE AGILITY; 6.8 CONSUMER, BUSINESS, AND PARTNER SERVICES; 6.9 PORTABLE AND MODULAR SERVICE ARCHITECTURES; 6.10 WRAPPING UP; CHAPTER 7 THE DATA ABSTRACTION LAYER; 7.1 OBJECTS TO DATA; 7.2 USING THE DAL WITH EXTERNAL SERVICES; 7.3 COMPONENTS OF A DAL; 7.4 WRAPPING UP; CHAPTER 8 THE DATA LAYER; 8.1 OVERVIEW; 8.2 BUSINESS RULES IN THE DATA LAYER; 8.3 RELATIONAL DATABASES; 8.4 NOSQL DATABASES; 8.5 FILE STORAGE; 8.6 BLENDED APPROACH; 8.7 WRAPPING UP; CHAPTER 9 STRATEGIES FOR ONGOING IMPROVEMENT; 9.1 FEATURE EXPANSION; 9.2 DATA COLLECTION MATTERS
505 8 _a9.3 MULTI-VERSIONING9.4 VERSION RETIREMENT; 9.5 CLIENT UPGRADES; 9.6 WRAPPING UP; CHAPTER 10 CONCLUSION; REFERENCES; INDEX; EULA
520 _aPresents strategies to designing platform agnostic mobile apps connected to cloud based services that can handle heavy loads of modern computing -Provides development patterns for platform agnostic app development and technologies -Includes recommended standards and structures for easy adoption -Covers portable and modular back-end architectures to support service agility and rapid development.
650 0 _aMobile apps.
650 0 _aCell phones.
650 7 _aCOMPUTERS / Hardware / Handheld Devices
_2bisacsh
650 7 _aTECHNOLOGY & ENGINEERING / Mobile & Wireless Communications
_2bisacsh
650 7 _aCell phones.
_2fast
_0(OCoLC)fst01735605
650 7 _aMobile apps.
_2fast
_0(OCoLC)fst01909896
655 4 _aElectronic books.
776 0 8 _iPrint version:
_z9781119060147
856 4 0 _uhttp://onlinelibrary.wiley.com/book/10.1002/9781119060406
_zWiley Online Library
938 _aRecorded Books, LLC
_bRECE
_nrbeEB00692298
938 _aIngram Digital eBook Collection
_bIDEB
_ncis32406802
938 _aEBL - Ebook Library
_bEBLB
_nEBL4690019
938 _aEBSCOhost
_bEBSC
_n1357237
994 _a92
_bDG1
999 _c14321
_d14321