• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Scott densmore-sic-2011
 

Scott densmore-sic-2011

on

  • 3,784 views

Scott Densmore's presentation at Seattle Interactive Conference 2011

Scott Densmore's presentation at Seattle Interactive Conference 2011

Statistics

Views

Total Views
3,784
Views on SlideShare
3,784
Embed Views
0

Actions

Likes
0
Downloads
3
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Scott densmore-sic-2011 Scott densmore-sic-2011 Presentation Transcript

    • BUILDING CLOUD APPSWITH IOSScott Densmore – Senior SDE patterns &practices
    • Agenda This talk is focused on building iOS applications with Windows Azure We’ll talk about storage, identity, communications, platform services, and tools I’ll show a few demos for the concepts
    • Expectations An understanding of how storage, identity, and communications work with iOS when using Windows Azure
    • Why Device + Cloud? The cloud levels the playing field The cloud provides a larger pool of resources from which to pull The cloud provides a way to reach across device platforms
    • Why Windows Azure? Platform as a Service (PaaS): you build it, Windows Azure runs it Automatic O/S patching Elasticity and scale Utility billing Higher-level services  ACS, Traffic Manager, Caching, CDN
    • What will we see today? Storage Identity Communications Platform Services
    • Storage
    • Storage: What are our options? Windows Azure Tables  Non-relational structured storage  Massive scale-out  OData Windows Azure Blobs  Big files  REST Windows Azure Queues  Persistent Async Messaging  Enqueue, Dequeue
    • Storage: What are our options? SQL Azure  Relationaldatabase  Highly available  Managed for you as a service
    • Storage: Secrets Windows Azure  Storage name  Storage key SQL Azure  Username  PasswordOnce your share your secret, it’s no longer secret
    • Storage: How to keep secretssecret?Proxy the requests (2)1. Client sends data to web role Web Role2. Web role sends data to storage (1)
    • Storage: Shared AccessSignatures1. Client makes request of Web Role for SAS (4) Web2. Web Role sends client Role SAS (2) (3)3. Client makes request (1)4. Client gets response
    • Storage: SQL Azure1. Client sends request to proxy (2) Web2. Proxy makes SQL call Role (3) against SQL Azure (4)3. SQL Azure returns a response4. Proxy returns response to (1) device
    • Storage: Offloading work withqueues1. Client writes a message to a queue Worker (2 Role2. Worker role is polling ) the queue (3)3. Worker role finds the message (1)
    • Storage: What are the options?Choices Direct Proxy OtherBlob (private) x x x (SAS)Blob (public) x x (write) x (read- only)Table x xQueue x xDatabase x
    • demoiOS and Storage
    • Identity
    • Identity: What are the options? Create your own  Username + password, token, etc.  ASP.NET Membership Providers Use a single existing identity system  Live Id, Facebook, etc.  Develop directly against Identity Provider protocol Outsource identity management  Access Control Service
    • Identity: Authenticating Users withACS Web Role Access Control Service
    • demoiOS and Identity
    • Communications
    • Communications Two forms of communication with devices Device-initiated Cloud-initiated
    • Communications: Device-initiated Device-initiated options HTTP-based, request/response Framework choices (WCF, OData, WebRequest, etc.) Wire format choices (SOAP, JSON, POX, etc.)
    • Communications: Cloud-initiated Push Notifications  Single connecting between the device and the notification service  Bandwidth- and battery-friendly  No guarantee of delivery
    • Communications: Subscribing toPush Device requests a channel Web *NS returns channel Role *NS Device sends URL to cloud  Channel URL is stored in cloud Cloud sends notification *NS pushes to device
    • Communications: Cloud to Device Common pattern  Use cloud-initiated push to tell the device to call to a service Web *NS Role Cloud sends notification Notification services pushes to device Device receives message and calls to a service Web Role sends a response
    • Communications: Differentnotifications Windows 8: Windows Push Notification Service (WNS) Windows Phone: Microsoft Push Notification Service (MPNS) iOS: Apple Push Notification Service (APNS) Android: Cloud To Device Messaging (C2DM)
    • demoiOS and Communications
    • Platform Services
    • Platform Services Traffic Manager Content Delivery Network (CDN) SQL Azure Data Sync  SQL Azure  Windows Azure Storage Caching
    • Putting it all together
    • Any pictures? WAZ SAS Storage Process Image Store Image in Windows Azure UserAuthenticate Shared Token Access Access Send Notification WindowsImage Process Signature Azure Authentication Blob Storage Translated Translated Text Send ImageTranslated Text Apple Push Text Notification Service Hawaii OCR & Bing Translator
    • Tools and Resources
    • Toolkits Easier for device developers to use Windows Azure  Windows Phone: http://bit.ly/watwp7  iOS: http://bit.ly/watios  Android: http://bit.ly/watandroid  OData: http://bit.ly/odataobjc Toolkits include:  Native libraries (e.g. .NET, Objective-C)  Samples  Project templates  Documentation
    • Questions
    • Windows Azure Office Hours Talk to an expert Download the SDK and toolkits Get a free trial Enter to WIN a Samsung Focus Windows phone
    • Vote your evaluationThis session was . . . A little lite Just right More than I hoped for!
    • Coming soon to a tent near you! www.devcamps.ms