Skip to:Content
|
Bottom
Cover image for Professional iOS network programming : connecting the enterprise to the iPhone and iPad
Title:
Professional iOS network programming : connecting the enterprise to the iPhone and iPad
Personal Author:
Publication Information:
Indianapolis, I.N. : Wiley, 2012
Physical Description:
xxiv, 335 p. : ill. ; 23 cm.
ISBN:
9781118362402

9781118382233

9781118417164
General Note:
Includes index

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010305811 QA76.774.I67 C69 2012 Open Access Book Book
Searching...

On Order

Summary

Summary

Learn to develop iPhone and iPad applications for networked enterprise environments

The iPhone and iPad have made a powerful impact on the business world. Developers creating iOS apps for the enterprise face unique challenges involving networking, system integration, security, and device management. This Wrox guide provides everything you need to know to write iOS apps that integrate with enterprise network resources, providing options for networking iOS devices to enterprise systems and to each other.

Offers a complete compendium of methods and techniques for networked communication between iOS applications and other platforms and devices Includes instruction on incorporating synchronous and asynchronous HTTP requests, security, communication issues, and more Covers payload handling, network security, GameKit and Bonjour communications, and low-level network communications

Professional iOS Network Programming focuses on the networking aspects of iOS and its relationship to remote data sources, offering a truly unique approach.


Author Notes

Jack Cox is a Director at CapTech Ventures with broad experience designing complex systems, managing project teams, and collaborating with business executives to develop innovative applications.
Nathan Jones has experience in enterprise-wide system integration and mobility including strategy definition, application development, and post-development release management.
John Szumski is an enterprise software developer with experience ranging from middleware web services to mobile development on all major platforms.
Wrox Professional guides are planned and written by working programmers to meet the real-world needs of programmers, developers, and IT professionals. Focused and relevant, they address the issues technology professionals face every day. They provide examples, practical solutions, and expert education in new technologies, all designed to help programmers do a better job.


Table of Contents

Introductionp. xix
Part I Understanding IOS and Enterprise Networking
Chapter 1 Introducing IOS Networking Capabilitiesp. 3
Understanding the Networking Frameworksp. 3
iOS Networking APIsp. 4
NSURL Connectionp. 5
Game Kitp. 5
Bonjourp. 5
NSStreamp. 6
CFNetworkp. 6
BSD Socketsp. 6
Run Loopsp. 7
Run Loop Modesp. 8
Summaryp. 8
Chapter 2 Designing Your Service Architecturep. 9
Remote Façade Patternp. 10
Example Façade Servicesp. 12
Example Façade Clientsp. 15
Service Versioningp. 17
Example Versioned Servicesp. 18
Example Client Using Versioned Servicesp. 19
Service Locatorsp. 20
Summaryp. 24
Part II HTTP Requests: The Workhorse of IOS Networking
Chapter 3 Making Requestsp. 27
Introducing HTTPp. 28
Understanding HTTP Requests and Responsesp. 29
URL Structurep. 30
Request Contentsp. 31
Response Contentsp. 33
High-Level iOS HTTP APIsp. 35
Objects Common to All Request Typesp. 35
Synchronous Requestsp. 39
Queued Asynchronous Requestsp. 42
Asynchronous Requestsp. 45
Advanced HTTP Manipulationp. 53
Using Request Methodsp. 53
Cookie Manipulationp. 54
Advanced Headersp. 60
Summaryp. 63
Chapter 4 Generating and Digesting Payloadsp. 65
Web Service Protocols and Stylesp. 66
Simple Object Access Protocol (SOAP)p. 66
Representational State Transfer (REST)p. 68
Choosing an Approachp. 69
Payloadsp. 70
Introducing Payload Data Formatsp. 70
Digesting Response Payloadsp. 73
Generating Request Payloadsp. 86
Summaryp. 92
Chapter 5 Handling Errorsp. 93
Understanding Error Sourcesp. 93
Operating System Errorsp. 95
HTTP Errorsp. 101
Application Errorsp. 102
Rules of Thumb for Handling Errorsp. 103
Include Error Handling in the Interface Contractp. 103
Error Statuses Liep. 104
Validate the Payloadp. 104
Separate Errors from Normal Business Conditionsp. 104
Always Check HTTP Statusp. 105
Always Check NSErrorp. 105
Develop a Consistent Method for Handling Errorsp. 105
Always Set a Timeoutp. 105
Gracefully Handling Network Errorsp. 105
Design Pattern Descriptionp. 106
Command Dispatch Pattern Examplep. 111
Summaryp. 116
Part III Advanced Networking Techniques
Chapter 6 Securing Network Trafficp. 119
Verifying Server Communicationp. 120
Authenticating with HTTPp. 124
HTTP Basic, HTTP Digest, and NTLM Authenticationp. 125
Client-Certificate Authenticationp. 127
Message Integrity with Hashing and Encryptionp. 131
Hashingp. 132
Message Authentication Codesp. 136
Encryptionp. 139
Storing Credentials Securely on the Devicep. 151
Summaryp. 155
Chapter 7 Optimizing Request Performancep. 157
Measuring Network Performancep. 158
Network Bandwidthp. 158
Network Latencyp. 159
Device Powerp. 160
Optimizing Network Operationsp. 161
Reducing Request Bandwidthp. 161
Reducing Request Latencyp. 168
Avoid Network Requestsp. 170
Summaryp. 173
Chapter 8 Low-Level Networkingp. 175
BSD Soketsp. 176
Configuring a Socket Serverp. 177
Connecting as a Socket Clientp. 178
CFNetworkp. 182
NSStreamp. 186
Summaryp. 190
Chapter 9 Testing and Manipulating Network Trafficp. 191
Observing Network Trafficp. 192
Sniffing Hardwarep. 192
Sniffing Softwarep. 193
Manipulating Network Trafficp. 200
Setting Up Charlesp. 202
HTTP Breakpointsp. 205
Rewrite Rulesp. 207
Simulating Real-World Network Conditionsp. 209
Summaryp. 211
Chapter 10 Using Push Notificationsp. 213
Scheduling Local Notificationsp. 214
Creating Local Notificationsp. 214
Canceling Local Notificationsp. 218
Handling the Arrival of Local Notificationsp. 219
Registering and Responding to Remote Notificationsp. 223
Configuring Remote Notificationsp. 224
Registering for Remote Notificationsp. 229
Remote Notification Playloadsp. 234
Sending Remote Notificationsp. 236
Responding to Remote Notificationsp. 240
Understanding Notification Best Practicesp. 243
Summaryp. 244
Part IV Networking App to App
Chapter 11 Inter-App Communicationp. 247
URL Schemesp. 248
Implementing a Custom URL Schemep. 248
Sensing the presence of Other Appsp. 251
Advanced Communicationp. 252
Shared Keychainsp. 257
Enterprise SSOp. 257
Detecting Previous Installationsp. 264
Summaryp. 266
Chapter 12 Device-to-Device Communication with Game Kitp. 267
Game Kit Basicsp. 268
Peer-to-Peer Networkingp. 271
Connecting to a Sessionp. 272
Sending Data to Peersp. 274
Client-Server Communicationp. 279
Summaryp. 280
Chapter 13 Ad-Hoc Networking with Bonjourp. 281
Zeroconf Overviewp. 282
Addressesp. 282
Resolutionp. 283
Discoveryp. 283
Bonjour Overviewp. 284
Publishing a Servicep. 284
Browsing for Servicesp. 290
Resolving a Servicesp. 293
Communicating with a Servicep. 295
Implementing Bonjour-Based Applicationsp. 299
Employee Applicationp. 301
Customer Applicationp. 309
Summaryp. 317
Indexp. 319
Go to:Top of Page