SlideShare a Scribd company logo
Nick Harris
Technical Evangelist
@cloudnick
http://www.nickharris.net
Agenda
• This session is focused on building device
  applications with Windows Azure
• We’ll talk about storage, identity,
  communications, platform services, and
  tools
• A couple demos
demo
BabelCam
Windows Phone application leveraging
Windows Azure
Any pictures?
           WAZ
SAS       Storage
                                                    Process Image


                                                Windows Azure
       Store Image in Windows
              Shared Access
              Access Token
              Authenticate
         User Authentication
           Send Notification
            Process Image
              Signature
          Azure Blob Storage

                                                                    Translated Text
                                                                    Send Image

                                                Translated
      Translated                                   Text
         Text

                     Microsoft Push
                                                               Hawaii OCR &
                      Notification
                                                               Bing Translator
                        Service
What did we just see?
•   Storage
•   Identity
•   Communications
•   Platform Services
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?
•   PaaS: you built it, Windows Azure runs it
•   Automatic O/S patching
•   Elasticity and scale
•   Utility billing
•   Higher-level services
    – ACS, Traffic Manager, Caching, CDN
Storage
Storage: What are our options?
• Windows Azure Tables
  – Non-relational structured storage
  – Massive scale-out
• Windows Azure Blobs
  – Big files
• Windows Azure Queues
  – Persistent Async Messaging
  – Enqueue, Dequeue
Storage: What are our options?
• SQL Azure
  – Relational database
  – Highly available
  – Managed for you as a service
Storage: Secrets

• Windows Azure
   – Storage name
   – Storage key
• SQL Azure
   – Username
   – Password
Once your share your secret, it’s no longer secret
Storage: How do we keep secrets secret?
Proxy the requests             (2)

                            Web
1. Client sends data to     Role
   web role
2. Web role sends data to
   storage                         (1)
Storage: Using Shared Access
                   Signatures
•   Client makes request
    of Web Role for SAS       Web
•   Web Role sends            Role        (3) (4)

    client SAS                        (2)

•   Client makes request           (1)
•   Client gets response
Storage: SQL Azure
• Client sends request          (2)
  to proxy
• Proxy makes SQL call   Web          (3)
                         Role
  against SQL Azure
• SQL Azure returns a             (4)
  response
• Proxy returns                 (1)
  response to device
Storage: Offloading work through queues
• Client writes a                      Worker
                           (2)
  message to a queue                    Role
                                 (3)
• Worker role is polling
  the queue
• Worker role finds the          (1)
  message
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 IdP protocol
• Outsource identity management
  – Access Control Service
Communications
Communications
• Two forms of communication with devices
  – Device-initiated
  – Cloud-initiated
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>



<id>http://localhost:33779/WcfDataSer vice1.sv c/Drive rs</id>
<updated>2010-05-24T22:12:38Z</upda ted>
<link rel="self" title="Drivers" href="Drivers" />
- <entry>
<id>http://localhost:33779/WcfDataSer vice1.sv c/Drive rs(1)</id>
                                                                                        Communications: Device-initiated
- <feed xml:base="http://localhost:3377 9/Wcf DataSer vice1.svc/" xmlns:d="http://schemas.microsoft.com/ado/2007/08 /datas ervices" xmlns:m="http://schemas.microsof t.com/ado/20 07/08/dataserv ices/m etadata "
xmlns="http://www.w3.org/2005/Atom">
<title type="text">Drivers</title>
                                                                                                                                                                                                                    <ArrayOfDriver xmlns=http://schemas.datacontract.org/2004/07/ContosoWcfService.Models
                                                                                                                                                                                                                    xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<title type="text" />
<updated>2010-05-24T22:12:38Z</upda ted>



                                                                                                                                                                                                                    <Driver>
- <author>
<name />
</author>
<link rel="edit" title="Driver" href="Drivers(1)" />
<link rel="http://schemas.microsoft.com/ado/2007/08 /dataservices/related/DistributionCenter" type="application/atom+xml;type=e ntry" title="DistributionCenter" href="Drivers(1)/DistributionCenter" />




                     • Device-initiated options
                                                                                                                                                                                                                    <DistributionCenterId>1</DistributionCenterId>
<link rel="http://schemas.microsoft.com/ado/2007/08 /dataservices/related/Today s" type="application/atom+xml;type=feed" title="Todays" href="Drivers(1)/Todays" />
<category term="ContosoBottlingMode l.Driver " scheme="http://schemas.microsof t.com/ado/20 07/08/dataserv ices/scheme" />
- <content type="application/xml">
- <m:properties>
<d:DriverId m:type="Edm.Int32">1</d:DriverI d>



                                                                                                                                                                                                                    <DriverId>1</DriverId>
<d:DistributionCenterId m:type="Edm.Int32">1</d:Distributi onCente rId>
<d:FirstName>Rob</d:FirstName>
<d:LastName>Tiffany</d:LastName>
</m:properties>
</content>



                                                                                                                                                                                                                    <FirstName>Rob</FirstName>
</entry>
- <entry>
<id>http://localhost:33779/WcfDataSer vice1.sv c/Drive rs(2)</id>
<title type="text" />
<updated>2010-05-24T22:12:38Z</upda ted>



                                                                                                                                                                                                                    <LastName>Tiffany</LastName>
- <author>
<name />
</author>
<link rel="edit" title="Driver" href="Drivers(2)" />
<link rel="http://schemas.microsoft.com/ado/2007/08 /dataservices/related/DistributionCenter" type="application/atom+xml;type=e ntry" title="DistributionCenter" href="Drivers(2)/DistributionCenter" />



                                                                                                                                                                                                                    </Driver>
<link rel="http://schemas.microsoft.com/ado/2007/08 /dataservices/related/Today s" type="application/atom+xml;type=feed" title="Todays" href="Drivers(2)/Todays" />
<category term="ContosoBottlingMode l.Driver " scheme="http://schemas.microsof t.com/ado/20 07/08/dataserv ices/scheme" />
- <content type="application/xml">
- <m:properties>
<d:DriverId m:type="Edm.Int32">2</d:DriverI d>



                                                                                                                                                                                                                    <Driver>
<d:DistributionCenterId m:type="Edm.Int32">1</d:Distributi onCente rId>
<d:FirstName>Loke Uei</d:FirstName>
<d:LastName>Tan</d:LastName>
</m:properties>
</content>



                                                                                                                                                                                                                    <DistributionCenterId>1</DistributionCenterId>
</entry>
- <entry>
<id>http://localhost:33779/WcfDataSer vice1.sv c/Drive rs(3)</id>
<title type="text" />
<updated>2010-05-24T22:12:38Z</upda ted>



                                                                                                                                                                                                                    <DriverId>2</DriverId>
- <author>
<name />
</author>
<link rel="edit" title="Driver" href="Drivers(3)" />




                                                                                     – HTTP-based, request/response
<link rel="http://schemas.microsoft.com/ado/2007/08 /dataservices/related/DistributionCenter" type="application/atom+xml;type=e ntry" title="DistributionCenter" href="Drivers(3)/DistributionCenter" />



                                                                                                                                                                                                                    <FirstName>Loke Uei</FirstName>
<link rel="http://schemas.microsoft.com/ado/2007/08 /dataservices/related/Today s" type="application/atom+xml;type=feed" title="Todays" href="Drivers(3)/Todays" />
<category term="ContosoBottlingMode l.Driver " scheme="http://schemas.microsof t.com/ado/20 07/08/dataserv ices/scheme" />
- <content type="application/xml">
- <m:properties>
<d:DriverId m:type="Edm.Int32">3</d:DriverI d>



                                                                                                                                                                                                                    <LastName>Tan</LastName>
<d:DistributionCenterId m:type="Edm.Int32">1</d:Distributi onCente rId>
<d:FirstName>Dan</d:FirstName>
<d:LastName>Bouie</d:LastName>
</m:properties>
</content>



                                                                                                                                                                                                                    </Driver>
</entry>
- <entry>
<id>http://localhost:33779/WcfDataSer vice1.sv c/Drive rs(4)</id>
<title type="text" />
<updated>2010-05-24T22:12:38Z</upda ted>



                                                                                                                                                                                                                    <Driver>
- <author>
<name />
</author>
<link rel="edit" title="Driver" href="Drivers(4)" />
<link rel="http://schemas.microsoft.com/ado/2007/08 /dataservices/related/DistributionCenter" type="application/atom+xml;type=e ntry" title="DistributionCenter" href="Drivers(4)/DistributionCenter" />



                                                                                                                                                                                                                    <DistributionCenterId>1</DistributionCenterId>
<link rel="http://schemas.microsoft.com/ado/2007/08 /dataservices/related/Today s" type="application/atom+xml;type=feed" title="Todays" href="Drivers(4)/Todays" />
<category term="ContosoBottlingMode l.Driver " scheme="http://schemas.microsof t.com/ado/20 07/08/dataserv ices/scheme" />
- <content type="application/xml">
- <m:properties>
<d:DriverId m:type="Edm.Int32">4</d:DriverI d>



                                                                                                                                                                                                                    <DriverId>3</DriverId>
<d:DistributionCenterId m:type="Edm.Int32">1</d:Distributi onCente rId>
<d:FirstName>John</d:FirstName>
<d:LastName>Dietz</d:LastName>
</m:properties>
</content>



                                                                                                                                                                                                                    <FirstName>Dan</FirstName>
</entry>




                                                                                                                                                                                                                                                                             [{"DistributionCenterId":1,"DriverId":1,"FirstName":"Rob","LastName":"Tiffany"},
- <entry>
<id>http://localhost:33779/WcfDataSer vice1.sv c/Drive rs(5)</id>
<title type="text" />
<updated>2010-05-24T22:12:38Z</upda ted>




                                                                                     – Framework choices (WCF, OData,
                                                                                                                                                                                                                    <LastName>Bouie</LastName>
- <author>
<name />
</author>
<link rel="edit" title="Driver" href="Drivers(5)" />
<link rel="http://schemas.microsoft.com/ado/2007/08 /dataservices/related/DistributionCenter" type="application/atom+xml;type=e ntry" title="DistributionCenter" href="Drivers(5)/DistributionCenter" />



                                                                                                                                                                                                                    </Driver>
<link rel="http://schemas.microsoft.com/ado/2007/08 /dataservices/related/Today s" type="application/atom+xml;type=feed" title="Todays" href="Drivers(5)/Todays" />
<category term="ContosoBottlingMode l.Driver " scheme="http://schemas.microsof t.com/ado/20 07/08/dataserv ices/scheme" />




                                                                                                                                                                                                                                                                              {"DistributionCenterId":1,"DriverId":2,"FirstName":"Loke Uei","LastName":"Tan"},
- <content type="application/xml">
- <m:properties>
<d:DriverId m:type="Edm.Int32">5</d:DriverI d>



                                                                                                                                                                                                                    <Driver>
<d:DistributionCenterId m:type="Edm.Int32">2</d:Distributi onCente rId>
<d:FirstName>Derek</d:FirstName>
<d:LastName>Snyder</d:LastName>
</m:properties>
</content>



                                                                                                                                                                                                                    <DistributionCenterId>1</DistributionCenterId>
</entry>




                                                                                                                 JSON
- <entry>
<id>http://localhost:33779/WcfDataSer vice1.sv c/Drive rs(6)</id>




                                                                                                                                                                                                                                                                              {"DistributionCenterId":1,"DriverId":3,"FirstName":"Dan","LastName":"Bouie"},
<title type="text" />
<updated>2010-05-24T22:12:38Z</upda ted>



                                                                                                                                                                                                                    <DriverId>4</DriverId>
- <author>
<name />
</author>
<link rel="edit" title="Driver" href="Drivers(6)" />
<link rel="http://schemas.microsoft.com/ado/2007/08 /dataservices/related/DistributionCenter" type="application/atom+xml;type=e ntry" title="DistributionCenter" href="Drivers(6)/DistributionCenter" />



                                                                                                                                                                                                                    <FirstName>John</FirstName>
<link rel="http://schemas.microsoft.com/ado/2007/08 /dataservices/related/Today s" type="application/atom+xml;type=feed" title="Todays" href="Drivers(6)/Todays" />




                                                                                              REST-XML
<category term="ContosoBottlingMode l.Driver " scheme="http://schemas.microsof t.com/ado/20 07/08/dataserv ices/scheme" />




                                                                                    OData
- <content type="application/xml">
- <m:properties>




                                                                                                                                                                                                                                                                              {"DistributionCenterId":1,"DriverId":4,"FirstName":"John","LastName":"Dietz"},
<d:DriverId m:type="Edm.Int32">6</d:DriverI d>



                                                                                                                                                                                                                    <LastName>Dietz</LastName>
<d:DistributionCenterId m:type="Edm.Int32">2</d:Distributi onCente rId>
<d:FirstName>Steve</d:FirstName>
<d:LastName>Hegenderfer</d:LastNam e>
</m:properties>




                                                                                                                  639
</content>




                                                                                        WebRequest, etc.)
                                                                                                                                                                                                                    </Driver>
</entry>
- <entry>
<id>http://localhost:33779/WcfDataSer vice1.sv c/Drive rs(7)</id>
<title type="text" />
<updated>2010-05-24T22:12:38Z</upda ted>



                                                                                                                                                                                                                    <Driver>
                                                                                                                                                                                                                                                                              {"DistributionCenterId":2,"DriverId":5,"FirstName":"Derek","LastName":"Snyder"},
- <author>
<name />




                                                                                               1.2kb
</author>
<link rel="edit" title="Driver" href="Drivers(7)" />
<link rel="http://schemas.microsoft.com/ado/2007/08 /dataservices/related/DistributionCenter" type="application/atom+xml;type=e ntry" title="DistributionCenter" href="Drivers(7)/DistributionCenter" />




                                                                                    8.5kb                                                                                                                           <DistributionCenterId>2</DistributionCenterId>
<link rel="http://schemas.microsoft.com/ado/2007/08 /dataservices/related/Today s" type="application/atom+xml;type=feed" title="Todays" href="Drivers(7)/Todays" />
<category term="ContosoBottlingMode l.Driver " scheme="http://schemas.microsof t.com/ado/20 07/08/dataserv ices/scheme" />
- <content type="application/xml">
- <m:properties>
<d:DriverId m:type="Edm.Int32">7</d:DriverI d>



                                                                                                                                                                                                                    <DriverId>5</DriverId>
<d:DistributionCenterId m:type="Edm.Int32">2</d:Distributi onCente rId>




                                                                                                                                                                                                                                                                              {"DistributionCenterId":2,"DriverId":6,"FirstName":"Steve","LastName":“Harris"},
<d:FirstName>Chip</d:FirstName>




                                                                                                                bytes
<d:LastName>Vollers</d:LastName>
</m:properties>
</content>



                                                                                                                                                                                                                    <FirstName>Derek</FirstName>
</entry>
- <entry>
<id>http://localhost:33779/WcfDataSer vice1.sv c/Drive rs(8)</id>
<title type="text" />
<updated>2010-05-24T22:12:38Z</upda ted>



                                                                                                                                                                                                                    <LastName>Snyder</LastName>
- <author>
<name />




                                                                                                                                                                                                                                                                              {"DistributionCenterId":2,"DriverId":7,"FirstName":"Chip","LastName":"Vollers"},
</author>
<link rel="edit" title="Driver" href="Drivers(8)" />
<link rel="http://schemas.microsoft.com/ado/2007/08 /dataservices/related/DistributionCenter" type="application/atom+xml;type=e ntry" title="DistributionCenter" href="Drivers(8)/DistributionCenter" />



                                                                                                                                                                                                                    </Driver>
<link rel="http://schemas.microsoft.com/ado/2007/08 /dataservices/related/Today s" type="application/atom+xml;type=feed" title="Todays" href="Drivers(8)/Todays" />




                                                                                     – Wire format choices (SOAP, JSON, POX,
<category term="ContosoBottlingMode l.Driver " scheme="http://schemas.microsof t.com/ado/20 07/08/dataserv ices/scheme" />
- <content type="application/xml">
- <m:properties>
<d:DriverId m:type="Edm.Int32">8</d:DriverI d>



                                                                                                                                                                                                                    <Driver>
<d:DistributionCenterId m:type="Edm.Int32">2</d:Distributi onCente rId>
<d:FirstName>James</d:FirstName>
<d:LastName>Pratt</d:LastName>




                                                                                                                                                                                                                                                                              {"DistributionCenterId":2,"DriverId":8,"FirstName":"James","LastName":"Pratt"}]
</m:properties>
</content>



                                                                                                                                                                                                                    <DistributionCenterId>2</DistributionCenterId>
</entry>
</feed>
The same list of 8 Customers using SOAP and a DataSet dropped us down to 3 kb but still too big for my taste.
<?xml version="1.0" encoding="utf-8"?>
<DataSet xmlns="http://tempuri.org/" >



                                                                                                                                                                                                                    <DriverId>6</DriverId>
<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/20 01/XMLSchema " xmlns:msdata="urn:schemas-micr osoft-com:xml -msdat a">
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="Driver">



                                                                                                                                                                                                                    <FirstName>Steve</FirstName>
<xs:complexType>
<xs:sequence>
<xs:element name="DriverId" type="xs:int" minOccurs="0" />
<xs:element name="DistributionCenterId" type="xs:int" minOccurs="0" />
<xs:element name="FirstName" type="xs:string" minOccurs="0" />



                                                                                                                                                                                                                    <LastName>Hegenderfer</LastName>
<xs:element name="LastName" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>



                                                                                                                                                                                                                    </Driver>
</xs:complexType>
</xs:element>
</xs:schema>
<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com :xml-m sdata" xmlns:diffgr="urn:schemas-microsof t-com:xml-diff gram-v 1">
<NewDataSet xmlns="">



                                                                                                                                                                                                                    <Driver>
<Driver diffgr:id="Driver1" msdata:rowOrder="0">




                                                                                        etc.)
<DriverId>1</DriverId>
<DistributionCenterId>1</DistributionCenterId>
<FirstName>Rob</FirstName>
<LastName>Tiffany</LastName>



                                                                                                                                                                                                                    <DistributionCenterId>2</DistributionCenterId>
</Driver>
<Driver diffgr:id="Driver2" msdata:rowOrder="1">
<DriverId>2</DriverId>
<DistributionCenterId>1</DistributionCenterId>
<FirstName>Loke Uei</FirstName>



                                                                                                                                                                                                                    <DriverId>7</DriverId>
<LastName>Tan</LastName>
</Driver>
<Driver diffgr:id="Driver3" msdata:rowOrder="2">
<DriverId>3</DriverId>
<DistributionCenterId>1</DistributionCenterId>



                                                                                                                                                                                                                    <FirstName>Chip</FirstName>
<FirstName>Dan</FirstName>
<LastName>Bouie</LastName>
</Driver>
<Driver diffgr:id="Driver4" msdata:rowOrder="3">
<DriverId>4</DriverId>



                                                                                                                                                                                                                    <LastName>Vollers</LastName>
<DistributionCenterId>1</DistributionCenterId>
<FirstName>John</FirstName>
<LastName>Dietz</LastName>
</Driver>
<Driver diffgr:id="Driver5" msdata:rowOrder="4">



                                                                                                                                                                                                                    </Driver>
<DriverId>5</DriverId>
<DistributionCenterId>2</DistributionCenterId>
<FirstName>Derek</FirstName>
<LastName>Snyder</LastName>
</Driver>



                                                                                                                                                                                                                    <Driver>
<Driver diffgr:id="Driver6" msdata:rowOrder="5">
<DriverId>6</DriverId>
<DistributionCenterId>2</DistributionCenterId>
<FirstName>Steve</FirstName>
<LastName>Hegenderfer</LastName>



                                                                                                                                                                                                                    <DistributionCenterId>2</DistributionCenterId>
</Driver>
<Driver diffgr:id="Driver7" msdata:rowOrder="6">
<DriverId>7</DriverId>
<DistributionCenterId>2</DistributionCenterId>
<FirstName>Chip</FirstName>



                                                                                                                                                                                                                    <DriverId>8</DriverId>
<LastName>Vollers</LastName>
</Driver>
<Driver diffgr:id="Driver8" msdata:rowOrder="7">
<DriverId>8</DriverId>
<DistributionCenterId>2</DistributionCenterId>



                                                                                                                                                                                                                    <FirstName>James</FirstName>
<FirstName>James</FirstName>
<LastName>Pratt</LastName>
</Driver>
</NewDataSet>
</diffgr:diffgram>



                                                                                                                                                                                                                    <LastName>Pratt</LastName>
</DataSet>




                                                                                                                                                                                                                    </Driver>
                                                                                                                                                                                                                    </ArrayOfDriver>
Communications: Cloud-initiated
• Push Notifications
  – Single connecting between the device and the
    notification service
  – Bandwidth- and battery-friendly
  – No guarantee of delivery
Communications: Subscribing to Push
• Device requests a
  channel
• *NS returns channel        Web    *NS
• Device sends URL to        Role
  cloud
  – Channel URL is stored
    in cloud
• Cloud sends notification
• *NS pushes to device
Communications: Cloud-initiated 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
Notifications: Different services
• 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)
• …
Platform Services
Platform Services
•   Caching
•   Traffic Manager
•   Content Delivery Network (CDN)
•   SQL Azure Data Sync
Tools & Resources
Windows Azure Toolkits for Devices
• Easier for device developers to use
  Windows Azure
    – Windows Phone:
      http://bit.ly/watwp7
    – iOS: http://bit.ly/watios
    – Android: http://bit.ly/watandroid
• Toolkits include:
    – Native libraries (e.g. .NET,
      Objective-C)
    – Samples
    – Project templates
    – Documentation
Windows Azure Toolkit for Windows 8
•   Deliver a Push Notification Cloud Service with ease.
•   VS 2010 Project Template for Windows Azure
•   Dev 11 Project for Client
•   Samples:
    – ACS Metro Style App
    – Margie’s Travel
    – Push Notification Worker
• Documentation
• Download at: http://watwindows8.codeplex.com/
demo
Show how the toolkits work
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 evaluation

This session was . . .
• A little lite
• Just right
• More than I hoped for!
Nick harris-sic-2011

More Related Content

What's hot

Lecture 7 Web Services JAX-WS & JAX-RS
Lecture 7   Web Services JAX-WS & JAX-RSLecture 7   Web Services JAX-WS & JAX-RS
Lecture 7 Web Services JAX-WS & JAX-RS
Fahad Golra
 
Mike Taulty DevDays 2010 Silverlight 4 - What's New Part 1
Mike Taulty DevDays 2010 Silverlight 4 - What's New Part 1Mike Taulty DevDays 2010 Silverlight 4 - What's New Part 1
Mike Taulty DevDays 2010 Silverlight 4 - What's New Part 1ukdpe
 
Jdbc
JdbcJdbc
LinkedIn Communication Architecture
LinkedIn Communication ArchitectureLinkedIn Communication Architecture
LinkedIn Communication ArchitectureLinkedIn
 
Developing and deploying windows azure applications
Developing and deploying windows azure applicationsDeveloping and deploying windows azure applications
Developing and deploying windows azure applicationsManish Corriea
 
09 business apis
09   business apis09   business apis
09 business apis
darwinodb
 
JavaOne 2009 - Full-Text Search: Human Heaven and Database Savior in the Cloud
JavaOne 2009 - Full-Text Search: Human Heaven and Database Savior in the CloudJavaOne 2009 - Full-Text Search: Human Heaven and Database Savior in the Cloud
JavaOne 2009 - Full-Text Search: Human Heaven and Database Savior in the CloudAaron Walker
 
Lap around windows azure
Lap around windows azureLap around windows azure
Lap around windows azureManish Corriea
 
Social Photos - My presentation at Microsoft Tech Day
Social Photos - My presentation at Microsoft Tech DaySocial Photos - My presentation at Microsoft Tech Day
Social Photos - My presentation at Microsoft Tech Day
TechMaster Vietnam
 
Why you should(n't) run your databases in the cloud
Why you should(n't) run your databases in the cloudWhy you should(n't) run your databases in the cloud
Why you should(n't) run your databases in the cloud
Microsoft TechNet - Belgium and Luxembourg
 
Integrating sps 2010 and windows azure
Integrating sps 2010 and windows azureIntegrating sps 2010 and windows azure
Integrating sps 2010 and windows azureManish Corriea
 
Scaling Web Services with Evolvable RESTful APIs - JavaOne 2013
Scaling Web Services with Evolvable RESTful APIs - JavaOne 2013Scaling Web Services with Evolvable RESTful APIs - JavaOne 2013
Scaling Web Services with Evolvable RESTful APIs - JavaOne 2013
Derrick Isaacson
 
Trainmesfottech - Sql Server DBA Training Course Content
Trainmesfottech - Sql Server DBA Training Course ContentTrainmesfottech - Sql Server DBA Training Course Content
Trainmesfottech - Sql Server DBA Training Course Content
Trainmesofttech
 
Spring 3.1: a Walking Tour
Spring 3.1: a Walking TourSpring 3.1: a Walking Tour
Spring 3.1: a Walking Tour
Joshua Long
 
The Top 10 Things Oracle UCM Users Need To Know About WebLogic
The Top 10 Things Oracle UCM Users Need To Know About WebLogicThe Top 10 Things Oracle UCM Users Need To Know About WebLogic
The Top 10 Things Oracle UCM Users Need To Know About WebLogic
Brian Huff
 
Webservices
WebservicesWebservices
Webservices
s4al_com
 
Java EE microservices architecture - evolving the monolith
Java EE microservices architecture - evolving the monolithJava EE microservices architecture - evolving the monolith
Java EE microservices architecture - evolving the monolith
Markus Eisele
 
Soa development using javascript
Soa development using javascriptSoa development using javascript
Soa development using javascriptDsixE Inc
 

What's hot (20)

Lecture 7 Web Services JAX-WS & JAX-RS
Lecture 7   Web Services JAX-WS & JAX-RSLecture 7   Web Services JAX-WS & JAX-RS
Lecture 7 Web Services JAX-WS & JAX-RS
 
Mike Taulty DevDays 2010 Silverlight 4 - What's New Part 1
Mike Taulty DevDays 2010 Silverlight 4 - What's New Part 1Mike Taulty DevDays 2010 Silverlight 4 - What's New Part 1
Mike Taulty DevDays 2010 Silverlight 4 - What's New Part 1
 
Web 2.0 Futures
Web 2.0 FuturesWeb 2.0 Futures
Web 2.0 Futures
 
Jdbc
JdbcJdbc
Jdbc
 
Krishnakumar Rajendran (1)
Krishnakumar Rajendran (1)Krishnakumar Rajendran (1)
Krishnakumar Rajendran (1)
 
LinkedIn Communication Architecture
LinkedIn Communication ArchitectureLinkedIn Communication Architecture
LinkedIn Communication Architecture
 
Developing and deploying windows azure applications
Developing and deploying windows azure applicationsDeveloping and deploying windows azure applications
Developing and deploying windows azure applications
 
09 business apis
09   business apis09   business apis
09 business apis
 
JavaOne 2009 - Full-Text Search: Human Heaven and Database Savior in the Cloud
JavaOne 2009 - Full-Text Search: Human Heaven and Database Savior in the CloudJavaOne 2009 - Full-Text Search: Human Heaven and Database Savior in the Cloud
JavaOne 2009 - Full-Text Search: Human Heaven and Database Savior in the Cloud
 
Lap around windows azure
Lap around windows azureLap around windows azure
Lap around windows azure
 
Social Photos - My presentation at Microsoft Tech Day
Social Photos - My presentation at Microsoft Tech DaySocial Photos - My presentation at Microsoft Tech Day
Social Photos - My presentation at Microsoft Tech Day
 
Why you should(n't) run your databases in the cloud
Why you should(n't) run your databases in the cloudWhy you should(n't) run your databases in the cloud
Why you should(n't) run your databases in the cloud
 
Integrating sps 2010 and windows azure
Integrating sps 2010 and windows azureIntegrating sps 2010 and windows azure
Integrating sps 2010 and windows azure
 
Scaling Web Services with Evolvable RESTful APIs - JavaOne 2013
Scaling Web Services with Evolvable RESTful APIs - JavaOne 2013Scaling Web Services with Evolvable RESTful APIs - JavaOne 2013
Scaling Web Services with Evolvable RESTful APIs - JavaOne 2013
 
Trainmesfottech - Sql Server DBA Training Course Content
Trainmesfottech - Sql Server DBA Training Course ContentTrainmesfottech - Sql Server DBA Training Course Content
Trainmesfottech - Sql Server DBA Training Course Content
 
Spring 3.1: a Walking Tour
Spring 3.1: a Walking TourSpring 3.1: a Walking Tour
Spring 3.1: a Walking Tour
 
The Top 10 Things Oracle UCM Users Need To Know About WebLogic
The Top 10 Things Oracle UCM Users Need To Know About WebLogicThe Top 10 Things Oracle UCM Users Need To Know About WebLogic
The Top 10 Things Oracle UCM Users Need To Know About WebLogic
 
Webservices
WebservicesWebservices
Webservices
 
Java EE microservices architecture - evolving the monolith
Java EE microservices architecture - evolving the monolithJava EE microservices architecture - evolving the monolith
Java EE microservices architecture - evolving the monolith
 
Soa development using javascript
Soa development using javascriptSoa development using javascript
Soa development using javascript
 

Viewers also liked

Matthew calder-sic-2011
Matthew calder-sic-2011Matthew calder-sic-2011
Matthew calder-sic-2011
Seattle Interactive Conference
 
Olly downs-sic-2011
Olly downs-sic-2011Olly downs-sic-2011
Olly downs-sic-2011
Seattle Interactive Conference
 
Hans gerwitz-sic-2011
Hans gerwitz-sic-2011Hans gerwitz-sic-2011
Hans gerwitz-sic-2011
Seattle Interactive Conference
 
Carey Jenkins: Building the Team that Builds the Product - Seattle Interactiv...
Carey Jenkins: Building the Team that Builds the Product - Seattle Interactiv...Carey Jenkins: Building the Team that Builds the Product - Seattle Interactiv...
Carey Jenkins: Building the Team that Builds the Product - Seattle Interactiv...
Seattle Interactive Conference
 
Joanna Lord: Habits of High Growth Companies and Other Unicorn Adventures - S...
Joanna Lord: Habits of High Growth Companies and Other Unicorn Adventures - S...Joanna Lord: Habits of High Growth Companies and Other Unicorn Adventures - S...
Joanna Lord: Habits of High Growth Companies and Other Unicorn Adventures - S...
Seattle Interactive Conference
 

Viewers also liked (8)

Matthew calder-sic-2011
Matthew calder-sic-2011Matthew calder-sic-2011
Matthew calder-sic-2011
 
Ida ireland-sic-2011
Ida ireland-sic-2011Ida ireland-sic-2011
Ida ireland-sic-2011
 
Esmee williams-sic-2011
Esmee williams-sic-2011Esmee williams-sic-2011
Esmee williams-sic-2011
 
Olly downs-sic-2011
Olly downs-sic-2011Olly downs-sic-2011
Olly downs-sic-2011
 
Shannon carter-sic-2011
Shannon carter-sic-2011Shannon carter-sic-2011
Shannon carter-sic-2011
 
Hans gerwitz-sic-2011
Hans gerwitz-sic-2011Hans gerwitz-sic-2011
Hans gerwitz-sic-2011
 
Carey Jenkins: Building the Team that Builds the Product - Seattle Interactiv...
Carey Jenkins: Building the Team that Builds the Product - Seattle Interactiv...Carey Jenkins: Building the Team that Builds the Product - Seattle Interactiv...
Carey Jenkins: Building the Team that Builds the Product - Seattle Interactiv...
 
Joanna Lord: Habits of High Growth Companies and Other Unicorn Adventures - S...
Joanna Lord: Habits of High Growth Companies and Other Unicorn Adventures - S...Joanna Lord: Habits of High Growth Companies and Other Unicorn Adventures - S...
Joanna Lord: Habits of High Growth Companies and Other Unicorn Adventures - S...
 

Similar to Nick harris-sic-2011

Microsoft Accademic Cloud Tour Genova
Microsoft Accademic Cloud Tour GenovaMicrosoft Accademic Cloud Tour Genova
Microsoft Accademic Cloud Tour Genovaantimo musone
 
Distributed Traceability in AWS - Life of a Transaction
Distributed Traceability in AWS - Life of a TransactionDistributed Traceability in AWS - Life of a Transaction
Distributed Traceability in AWS - Life of a Transaction
Amazon Web Services
 
Intro to .NET for Government Developers
Intro to .NET for Government DevelopersIntro to .NET for Government Developers
Intro to .NET for Government Developers
Frank La Vigne
 
Internet Explorer 8
Internet Explorer 8Internet Explorer 8
Internet Explorer 8
David Chou
 
The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...
Mark Roden
 
The future of web development write once, run everywhere with angular js an...
The future of web development   write once, run everywhere with angular js an...The future of web development   write once, run everywhere with angular js an...
The future of web development write once, run everywhere with angular js an...
Mark Leusink
 
AD102 - Break out of the Box
AD102 - Break out of the BoxAD102 - Break out of the Box
AD102 - Break out of the Box
Karl-Henry Martinsson
 
IBM Connect 2016 - Break out of the Box
IBM Connect 2016 - Break out of the BoxIBM Connect 2016 - Break out of the Box
IBM Connect 2016 - Break out of the Box
Karl-Henry Martinsson
 
Creating Flexible Data Services For Enterprise Soa With Wso2 Data Services
Creating Flexible Data Services For Enterprise Soa With Wso2 Data ServicesCreating Flexible Data Services For Enterprise Soa With Wso2 Data Services
Creating Flexible Data Services For Enterprise Soa With Wso2 Data Servicessumedha.r
 
Intro to MVC 3 for Government Developers
Intro to MVC 3 for Government DevelopersIntro to MVC 3 for Government Developers
Intro to MVC 3 for Government DevelopersFrank La Vigne
 
Azure presentation nnug dec 2010
Azure presentation nnug  dec 2010Azure presentation nnug  dec 2010
Azure presentation nnug dec 2010
Ethos Technologies
 
Maven
MavenMaven
Maven
javeed_mhd
 
Maven
MavenMaven
Monitoring in Motion: Monitoring Containers and Amazon ECS
Monitoring in Motion: Monitoring Containers and Amazon ECSMonitoring in Motion: Monitoring Containers and Amazon ECS
Monitoring in Motion: Monitoring Containers and Amazon ECS
Amazon Web Services
 
Collector Web Services
Collector Web ServicesCollector Web Services
Collector Web Services
publisyst
 
Adding Data into your SOA with WSO2 WSAS
Adding Data into your SOA with WSO2 WSASAdding Data into your SOA with WSO2 WSAS
Adding Data into your SOA with WSO2 WSAS
sumedha.r
 
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014(WEB301) Operational Web Log Analysis | AWS re:Invent 2014
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014
Amazon Web Services
 
GIB2021 - Dan Probert - BizTalk Migrator Deep Dive
GIB2021 - Dan Probert - BizTalk Migrator Deep DiveGIB2021 - Dan Probert - BizTalk Migrator Deep Dive
GIB2021 - Dan Probert - BizTalk Migrator Deep Dive
probertdaniel
 

Similar to Nick harris-sic-2011 (20)

Devices + Cloud: Using Windows Azure with Windows Phone, iOS, Android, ...
Devices + Cloud: Using Windows Azure with Windows Phone, iOS, Android, ...Devices + Cloud: Using Windows Azure with Windows Phone, iOS, Android, ...
Devices + Cloud: Using Windows Azure with Windows Phone, iOS, Android, ...
 
Microsoft Accademic Cloud Tour Genova
Microsoft Accademic Cloud Tour GenovaMicrosoft Accademic Cloud Tour Genova
Microsoft Accademic Cloud Tour Genova
 
Distributed Traceability in AWS - Life of a Transaction
Distributed Traceability in AWS - Life of a TransactionDistributed Traceability in AWS - Life of a Transaction
Distributed Traceability in AWS - Life of a Transaction
 
Intro to .NET for Government Developers
Intro to .NET for Government DevelopersIntro to .NET for Government Developers
Intro to .NET for Government Developers
 
Internet Explorer 8
Internet Explorer 8Internet Explorer 8
Internet Explorer 8
 
The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...
 
The future of web development write once, run everywhere with angular js an...
The future of web development   write once, run everywhere with angular js an...The future of web development   write once, run everywhere with angular js an...
The future of web development write once, run everywhere with angular js an...
 
AD102 - Break out of the Box
AD102 - Break out of the BoxAD102 - Break out of the Box
AD102 - Break out of the Box
 
IBM Connect 2016 - Break out of the Box
IBM Connect 2016 - Break out of the BoxIBM Connect 2016 - Break out of the Box
IBM Connect 2016 - Break out of the Box
 
Creating Flexible Data Services For Enterprise Soa With Wso2 Data Services
Creating Flexible Data Services For Enterprise Soa With Wso2 Data ServicesCreating Flexible Data Services For Enterprise Soa With Wso2 Data Services
Creating Flexible Data Services For Enterprise Soa With Wso2 Data Services
 
Intro to MVC 3 for Government Developers
Intro to MVC 3 for Government DevelopersIntro to MVC 3 for Government Developers
Intro to MVC 3 for Government Developers
 
Azure presentation nnug dec 2010
Azure presentation nnug  dec 2010Azure presentation nnug  dec 2010
Azure presentation nnug dec 2010
 
Maven
MavenMaven
Maven
 
Maven
MavenMaven
Maven
 
Monitoring in Motion: Monitoring Containers and Amazon ECS
Monitoring in Motion: Monitoring Containers and Amazon ECSMonitoring in Motion: Monitoring Containers and Amazon ECS
Monitoring in Motion: Monitoring Containers and Amazon ECS
 
Collector Web Services
Collector Web ServicesCollector Web Services
Collector Web Services
 
Adding Data into your SOA with WSO2 WSAS
Adding Data into your SOA with WSO2 WSASAdding Data into your SOA with WSO2 WSAS
Adding Data into your SOA with WSO2 WSAS
 
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014(WEB301) Operational Web Log Analysis | AWS re:Invent 2014
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014
 
GIB2021 - Dan Probert - BizTalk Migrator Deep Dive
GIB2021 - Dan Probert - BizTalk Migrator Deep DiveGIB2021 - Dan Probert - BizTalk Migrator Deep Dive
GIB2021 - Dan Probert - BizTalk Migrator Deep Dive
 
Rails Security
Rails SecurityRails Security
Rails Security
 

More from Seattle Interactive Conference

Everything Connect: Helping brands survive the web’s next big evolution by An...
Everything Connect: Helping brands survive the web’s next big evolution by An...Everything Connect: Helping brands survive the web’s next big evolution by An...
Everything Connect: Helping brands survive the web’s next big evolution by An...
Seattle Interactive Conference
 
Experiencing Extremes: A Design Team's Guide to Accessibility by Jess Vice, S...
Experiencing Extremes: A Design Team's Guide to Accessibility by Jess Vice, S...Experiencing Extremes: A Design Team's Guide to Accessibility by Jess Vice, S...
Experiencing Extremes: A Design Team's Guide to Accessibility by Jess Vice, S...
Seattle Interactive Conference
 
Creativity Meets Technology: Framing web3 for Brands by Luis Antezana, CROWN ...
Creativity Meets Technology: Framing web3 for Brands by Luis Antezana, CROWN ...Creativity Meets Technology: Framing web3 for Brands by Luis Antezana, CROWN ...
Creativity Meets Technology: Framing web3 for Brands by Luis Antezana, CROWN ...
Seattle Interactive Conference
 
When It’s Time to Treat Yourself Like a True Client by Steve Barrett, Tether ...
When It’s Time to Treat Yourself Like a True Client by Steve Barrett, Tether ...When It’s Time to Treat Yourself Like a True Client by Steve Barrett, Tether ...
When It’s Time to Treat Yourself Like a True Client by Steve Barrett, Tether ...
Seattle Interactive Conference
 
Shifting from Me to We: The Rise of Online Community by Paul Peterman, Reddit...
Shifting from Me to We: The Rise of Online Community by Paul Peterman, Reddit...Shifting from Me to We: The Rise of Online Community by Paul Peterman, Reddit...
Shifting from Me to We: The Rise of Online Community by Paul Peterman, Reddit...
Seattle Interactive Conference
 
Communicating Clickable Complexities: From Nuclei to AI by Jenny Burns & Rach...
Communicating Clickable Complexities: From Nuclei to AI by Jenny Burns & Rach...Communicating Clickable Complexities: From Nuclei to AI by Jenny Burns & Rach...
Communicating Clickable Complexities: From Nuclei to AI by Jenny Burns & Rach...
Seattle Interactive Conference
 
UX Localization: Design for the global audience by Shantelle Liu, Zoom
UX Localization: Design for the global audience by Shantelle Liu, ZoomUX Localization: Design for the global audience by Shantelle Liu, Zoom
UX Localization: Design for the global audience by Shantelle Liu, Zoom
Seattle Interactive Conference
 
How the Story of You Gets Created and Told by Dominique Luster, The Luster Co...
How the Story of You Gets Created and Told by Dominique Luster, The Luster Co...How the Story of You Gets Created and Told by Dominique Luster, The Luster Co...
How the Story of You Gets Created and Told by Dominique Luster, The Luster Co...
Seattle Interactive Conference
 
Photography In the Metaverse by Bryan O'Neil Hughes, Adobe | SIC 2022
Photography In the Metaverse by Bryan O'Neil Hughes, Adobe | SIC 2022Photography In the Metaverse by Bryan O'Neil Hughes, Adobe | SIC 2022
Photography In the Metaverse by Bryan O'Neil Hughes, Adobe | SIC 2022
Seattle Interactive Conference
 
What Does Cinderella Have to Do with Blogging by Alison Ver Halen, AV Writing...
What Does Cinderella Have to Do with Blogging by Alison Ver Halen, AV Writing...What Does Cinderella Have to Do with Blogging by Alison Ver Halen, AV Writing...
What Does Cinderella Have to Do with Blogging by Alison Ver Halen, AV Writing...
Seattle Interactive Conference
 
A Renaissance for the Web: Moving on from Cookies by Ruben Ayala, Viant | SIC...
A Renaissance for the Web: Moving on from Cookies by Ruben Ayala, Viant | SIC...A Renaissance for the Web: Moving on from Cookies by Ruben Ayala, Viant | SIC...
A Renaissance for the Web: Moving on from Cookies by Ruben Ayala, Viant | SIC...
Seattle Interactive Conference
 
Craft Killer Headlines: Embracing Creativity as an Analytical Copywriter by B...
Craft Killer Headlines: Embracing Creativity as an Analytical Copywriter by B...Craft Killer Headlines: Embracing Creativity as an Analytical Copywriter by B...
Craft Killer Headlines: Embracing Creativity as an Analytical Copywriter by B...
Seattle Interactive Conference
 
How to Bring Social Media In-House and Make it thrive! by Marisa Peacock, The...
How to Bring Social Media In-House and Make it thrive! by Marisa Peacock, The...How to Bring Social Media In-House and Make it thrive! by Marisa Peacock, The...
How to Bring Social Media In-House and Make it thrive! by Marisa Peacock, The...
Seattle Interactive Conference
 
Websites for Humans: Holistic SEO in 2022 by Kavi Kardos, Director of SEO | S...
Websites for Humans: Holistic SEO in 2022 by Kavi Kardos, Director of SEO | S...Websites for Humans: Holistic SEO in 2022 by Kavi Kardos, Director of SEO | S...
Websites for Humans: Holistic SEO in 2022 by Kavi Kardos, Director of SEO | S...
Seattle Interactive Conference
 
Modern Marketing by Ashley Royalty, Add3 | SIC 2022
Modern Marketing by Ashley Royalty, Add3 | SIC 2022Modern Marketing by Ashley Royalty, Add3 | SIC 2022
Modern Marketing by Ashley Royalty, Add3 | SIC 2022
Seattle Interactive Conference
 
Pushing the Boundaries: How the Wildest Ideas Make the Best Campaigns by Rebe...
Pushing the Boundaries: How the Wildest Ideas Make the Best Campaigns by Rebe...Pushing the Boundaries: How the Wildest Ideas Make the Best Campaigns by Rebe...
Pushing the Boundaries: How the Wildest Ideas Make the Best Campaigns by Rebe...
Seattle Interactive Conference
 
From AI-Generated Stories to Interactive Volumetric Content by Adam Myhill, U...
From AI-Generated Stories to Interactive Volumetric Content by Adam Myhill, U...From AI-Generated Stories to Interactive Volumetric Content by Adam Myhill, U...
From AI-Generated Stories to Interactive Volumetric Content by Adam Myhill, U...
Seattle Interactive Conference
 
Growing as a Designer: How to Master a Craft in 100 Days | Seattle Interactive
Growing as a Designer: How to Master a Craft in 100 Days | Seattle InteractiveGrowing as a Designer: How to Master a Craft in 100 Days | Seattle Interactive
Growing as a Designer: How to Master a Craft in 100 Days | Seattle Interactive
Seattle Interactive Conference
 
Parker's Big Adventure in the Land of Digital Data | Seattle Interactive 2019
Parker's Big Adventure in the Land of Digital Data | Seattle Interactive 2019Parker's Big Adventure in the Land of Digital Data | Seattle Interactive 2019
Parker's Big Adventure in the Land of Digital Data | Seattle Interactive 2019
Seattle Interactive Conference
 
Future of Content | Seattle Interactive 2019
Future of Content | Seattle Interactive 2019Future of Content | Seattle Interactive 2019
Future of Content | Seattle Interactive 2019
Seattle Interactive Conference
 

More from Seattle Interactive Conference (20)

Everything Connect: Helping brands survive the web’s next big evolution by An...
Everything Connect: Helping brands survive the web’s next big evolution by An...Everything Connect: Helping brands survive the web’s next big evolution by An...
Everything Connect: Helping brands survive the web’s next big evolution by An...
 
Experiencing Extremes: A Design Team's Guide to Accessibility by Jess Vice, S...
Experiencing Extremes: A Design Team's Guide to Accessibility by Jess Vice, S...Experiencing Extremes: A Design Team's Guide to Accessibility by Jess Vice, S...
Experiencing Extremes: A Design Team's Guide to Accessibility by Jess Vice, S...
 
Creativity Meets Technology: Framing web3 for Brands by Luis Antezana, CROWN ...
Creativity Meets Technology: Framing web3 for Brands by Luis Antezana, CROWN ...Creativity Meets Technology: Framing web3 for Brands by Luis Antezana, CROWN ...
Creativity Meets Technology: Framing web3 for Brands by Luis Antezana, CROWN ...
 
When It’s Time to Treat Yourself Like a True Client by Steve Barrett, Tether ...
When It’s Time to Treat Yourself Like a True Client by Steve Barrett, Tether ...When It’s Time to Treat Yourself Like a True Client by Steve Barrett, Tether ...
When It’s Time to Treat Yourself Like a True Client by Steve Barrett, Tether ...
 
Shifting from Me to We: The Rise of Online Community by Paul Peterman, Reddit...
Shifting from Me to We: The Rise of Online Community by Paul Peterman, Reddit...Shifting from Me to We: The Rise of Online Community by Paul Peterman, Reddit...
Shifting from Me to We: The Rise of Online Community by Paul Peterman, Reddit...
 
Communicating Clickable Complexities: From Nuclei to AI by Jenny Burns & Rach...
Communicating Clickable Complexities: From Nuclei to AI by Jenny Burns & Rach...Communicating Clickable Complexities: From Nuclei to AI by Jenny Burns & Rach...
Communicating Clickable Complexities: From Nuclei to AI by Jenny Burns & Rach...
 
UX Localization: Design for the global audience by Shantelle Liu, Zoom
UX Localization: Design for the global audience by Shantelle Liu, ZoomUX Localization: Design for the global audience by Shantelle Liu, Zoom
UX Localization: Design for the global audience by Shantelle Liu, Zoom
 
How the Story of You Gets Created and Told by Dominique Luster, The Luster Co...
How the Story of You Gets Created and Told by Dominique Luster, The Luster Co...How the Story of You Gets Created and Told by Dominique Luster, The Luster Co...
How the Story of You Gets Created and Told by Dominique Luster, The Luster Co...
 
Photography In the Metaverse by Bryan O'Neil Hughes, Adobe | SIC 2022
Photography In the Metaverse by Bryan O'Neil Hughes, Adobe | SIC 2022Photography In the Metaverse by Bryan O'Neil Hughes, Adobe | SIC 2022
Photography In the Metaverse by Bryan O'Neil Hughes, Adobe | SIC 2022
 
What Does Cinderella Have to Do with Blogging by Alison Ver Halen, AV Writing...
What Does Cinderella Have to Do with Blogging by Alison Ver Halen, AV Writing...What Does Cinderella Have to Do with Blogging by Alison Ver Halen, AV Writing...
What Does Cinderella Have to Do with Blogging by Alison Ver Halen, AV Writing...
 
A Renaissance for the Web: Moving on from Cookies by Ruben Ayala, Viant | SIC...
A Renaissance for the Web: Moving on from Cookies by Ruben Ayala, Viant | SIC...A Renaissance for the Web: Moving on from Cookies by Ruben Ayala, Viant | SIC...
A Renaissance for the Web: Moving on from Cookies by Ruben Ayala, Viant | SIC...
 
Craft Killer Headlines: Embracing Creativity as an Analytical Copywriter by B...
Craft Killer Headlines: Embracing Creativity as an Analytical Copywriter by B...Craft Killer Headlines: Embracing Creativity as an Analytical Copywriter by B...
Craft Killer Headlines: Embracing Creativity as an Analytical Copywriter by B...
 
How to Bring Social Media In-House and Make it thrive! by Marisa Peacock, The...
How to Bring Social Media In-House and Make it thrive! by Marisa Peacock, The...How to Bring Social Media In-House and Make it thrive! by Marisa Peacock, The...
How to Bring Social Media In-House and Make it thrive! by Marisa Peacock, The...
 
Websites for Humans: Holistic SEO in 2022 by Kavi Kardos, Director of SEO | S...
Websites for Humans: Holistic SEO in 2022 by Kavi Kardos, Director of SEO | S...Websites for Humans: Holistic SEO in 2022 by Kavi Kardos, Director of SEO | S...
Websites for Humans: Holistic SEO in 2022 by Kavi Kardos, Director of SEO | S...
 
Modern Marketing by Ashley Royalty, Add3 | SIC 2022
Modern Marketing by Ashley Royalty, Add3 | SIC 2022Modern Marketing by Ashley Royalty, Add3 | SIC 2022
Modern Marketing by Ashley Royalty, Add3 | SIC 2022
 
Pushing the Boundaries: How the Wildest Ideas Make the Best Campaigns by Rebe...
Pushing the Boundaries: How the Wildest Ideas Make the Best Campaigns by Rebe...Pushing the Boundaries: How the Wildest Ideas Make the Best Campaigns by Rebe...
Pushing the Boundaries: How the Wildest Ideas Make the Best Campaigns by Rebe...
 
From AI-Generated Stories to Interactive Volumetric Content by Adam Myhill, U...
From AI-Generated Stories to Interactive Volumetric Content by Adam Myhill, U...From AI-Generated Stories to Interactive Volumetric Content by Adam Myhill, U...
From AI-Generated Stories to Interactive Volumetric Content by Adam Myhill, U...
 
Growing as a Designer: How to Master a Craft in 100 Days | Seattle Interactive
Growing as a Designer: How to Master a Craft in 100 Days | Seattle InteractiveGrowing as a Designer: How to Master a Craft in 100 Days | Seattle Interactive
Growing as a Designer: How to Master a Craft in 100 Days | Seattle Interactive
 
Parker's Big Adventure in the Land of Digital Data | Seattle Interactive 2019
Parker's Big Adventure in the Land of Digital Data | Seattle Interactive 2019Parker's Big Adventure in the Land of Digital Data | Seattle Interactive 2019
Parker's Big Adventure in the Land of Digital Data | Seattle Interactive 2019
 
Future of Content | Seattle Interactive 2019
Future of Content | Seattle Interactive 2019Future of Content | Seattle Interactive 2019
Future of Content | Seattle Interactive 2019
 

Recently uploaded

UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 

Recently uploaded (20)

UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 

Nick harris-sic-2011

  • 2. Agenda • This session is focused on building device applications with Windows Azure • We’ll talk about storage, identity, communications, platform services, and tools • A couple demos
  • 3. demo BabelCam Windows Phone application leveraging Windows Azure
  • 4. Any pictures? WAZ SAS Storage Process Image Windows Azure Store Image in Windows Shared Access Access Token Authenticate User Authentication Send Notification Process Image Signature Azure Blob Storage Translated Text Send Image Translated Translated Text Text Microsoft Push Hawaii OCR & Notification Bing Translator Service
  • 5. What did we just see? • Storage • Identity • Communications • Platform Services
  • 6. 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
  • 7. Why Windows Azure? • PaaS: you built it, Windows Azure runs it • Automatic O/S patching • Elasticity and scale • Utility billing • Higher-level services – ACS, Traffic Manager, Caching, CDN
  • 9. Storage: What are our options? • Windows Azure Tables – Non-relational structured storage – Massive scale-out • Windows Azure Blobs – Big files • Windows Azure Queues – Persistent Async Messaging – Enqueue, Dequeue
  • 10. Storage: What are our options? • SQL Azure – Relational database – Highly available – Managed for you as a service
  • 11. Storage: Secrets • Windows Azure – Storage name – Storage key • SQL Azure – Username – Password Once your share your secret, it’s no longer secret
  • 12. Storage: How do we keep secrets secret? Proxy the requests (2) Web 1. Client sends data to Role web role 2. Web role sends data to storage (1)
  • 13. Storage: Using Shared Access Signatures • Client makes request of Web Role for SAS Web • Web Role sends Role (3) (4) client SAS (2) • Client makes request (1) • Client gets response
  • 14. Storage: SQL Azure • Client sends request (2) to proxy • Proxy makes SQL call Web (3) Role against SQL Azure • SQL Azure returns a (4) response • Proxy returns (1) response to device
  • 15. Storage: Offloading work through queues • Client writes a Worker (2) message to a queue Role (3) • Worker role is polling the queue • Worker role finds the (1) message
  • 17. 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 IdP protocol • Outsource identity management – Access Control Service
  • 19. Communications • Two forms of communication with devices – Device-initiated – Cloud-initiated
  • 20. <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <id>http://localhost:33779/WcfDataSer vice1.sv c/Drive rs</id> <updated>2010-05-24T22:12:38Z</upda ted> <link rel="self" title="Drivers" href="Drivers" /> - <entry> <id>http://localhost:33779/WcfDataSer vice1.sv c/Drive rs(1)</id> Communications: Device-initiated - <feed xml:base="http://localhost:3377 9/Wcf DataSer vice1.svc/" xmlns:d="http://schemas.microsoft.com/ado/2007/08 /datas ervices" xmlns:m="http://schemas.microsof t.com/ado/20 07/08/dataserv ices/m etadata " xmlns="http://www.w3.org/2005/Atom"> <title type="text">Drivers</title> <ArrayOfDriver xmlns=http://schemas.datacontract.org/2004/07/ContosoWcfService.Models xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <title type="text" /> <updated>2010-05-24T22:12:38Z</upda ted> <Driver> - <author> <name /> </author> <link rel="edit" title="Driver" href="Drivers(1)" /> <link rel="http://schemas.microsoft.com/ado/2007/08 /dataservices/related/DistributionCenter" type="application/atom+xml;type=e ntry" title="DistributionCenter" href="Drivers(1)/DistributionCenter" /> • Device-initiated options <DistributionCenterId>1</DistributionCenterId> <link rel="http://schemas.microsoft.com/ado/2007/08 /dataservices/related/Today s" type="application/atom+xml;type=feed" title="Todays" href="Drivers(1)/Todays" /> <category term="ContosoBottlingMode l.Driver " scheme="http://schemas.microsof t.com/ado/20 07/08/dataserv ices/scheme" /> - <content type="application/xml"> - <m:properties> <d:DriverId m:type="Edm.Int32">1</d:DriverI d> <DriverId>1</DriverId> <d:DistributionCenterId m:type="Edm.Int32">1</d:Distributi onCente rId> <d:FirstName>Rob</d:FirstName> <d:LastName>Tiffany</d:LastName> </m:properties> </content> <FirstName>Rob</FirstName> </entry> - <entry> <id>http://localhost:33779/WcfDataSer vice1.sv c/Drive rs(2)</id> <title type="text" /> <updated>2010-05-24T22:12:38Z</upda ted> <LastName>Tiffany</LastName> - <author> <name /> </author> <link rel="edit" title="Driver" href="Drivers(2)" /> <link rel="http://schemas.microsoft.com/ado/2007/08 /dataservices/related/DistributionCenter" type="application/atom+xml;type=e ntry" title="DistributionCenter" href="Drivers(2)/DistributionCenter" /> </Driver> <link rel="http://schemas.microsoft.com/ado/2007/08 /dataservices/related/Today s" type="application/atom+xml;type=feed" title="Todays" href="Drivers(2)/Todays" /> <category term="ContosoBottlingMode l.Driver " scheme="http://schemas.microsof t.com/ado/20 07/08/dataserv ices/scheme" /> - <content type="application/xml"> - <m:properties> <d:DriverId m:type="Edm.Int32">2</d:DriverI d> <Driver> <d:DistributionCenterId m:type="Edm.Int32">1</d:Distributi onCente rId> <d:FirstName>Loke Uei</d:FirstName> <d:LastName>Tan</d:LastName> </m:properties> </content> <DistributionCenterId>1</DistributionCenterId> </entry> - <entry> <id>http://localhost:33779/WcfDataSer vice1.sv c/Drive rs(3)</id> <title type="text" /> <updated>2010-05-24T22:12:38Z</upda ted> <DriverId>2</DriverId> - <author> <name /> </author> <link rel="edit" title="Driver" href="Drivers(3)" /> – HTTP-based, request/response <link rel="http://schemas.microsoft.com/ado/2007/08 /dataservices/related/DistributionCenter" type="application/atom+xml;type=e ntry" title="DistributionCenter" href="Drivers(3)/DistributionCenter" /> <FirstName>Loke Uei</FirstName> <link rel="http://schemas.microsoft.com/ado/2007/08 /dataservices/related/Today s" type="application/atom+xml;type=feed" title="Todays" href="Drivers(3)/Todays" /> <category term="ContosoBottlingMode l.Driver " scheme="http://schemas.microsof t.com/ado/20 07/08/dataserv ices/scheme" /> - <content type="application/xml"> - <m:properties> <d:DriverId m:type="Edm.Int32">3</d:DriverI d> <LastName>Tan</LastName> <d:DistributionCenterId m:type="Edm.Int32">1</d:Distributi onCente rId> <d:FirstName>Dan</d:FirstName> <d:LastName>Bouie</d:LastName> </m:properties> </content> </Driver> </entry> - <entry> <id>http://localhost:33779/WcfDataSer vice1.sv c/Drive rs(4)</id> <title type="text" /> <updated>2010-05-24T22:12:38Z</upda ted> <Driver> - <author> <name /> </author> <link rel="edit" title="Driver" href="Drivers(4)" /> <link rel="http://schemas.microsoft.com/ado/2007/08 /dataservices/related/DistributionCenter" type="application/atom+xml;type=e ntry" title="DistributionCenter" href="Drivers(4)/DistributionCenter" /> <DistributionCenterId>1</DistributionCenterId> <link rel="http://schemas.microsoft.com/ado/2007/08 /dataservices/related/Today s" type="application/atom+xml;type=feed" title="Todays" href="Drivers(4)/Todays" /> <category term="ContosoBottlingMode l.Driver " scheme="http://schemas.microsof t.com/ado/20 07/08/dataserv ices/scheme" /> - <content type="application/xml"> - <m:properties> <d:DriverId m:type="Edm.Int32">4</d:DriverI d> <DriverId>3</DriverId> <d:DistributionCenterId m:type="Edm.Int32">1</d:Distributi onCente rId> <d:FirstName>John</d:FirstName> <d:LastName>Dietz</d:LastName> </m:properties> </content> <FirstName>Dan</FirstName> </entry> [{"DistributionCenterId":1,"DriverId":1,"FirstName":"Rob","LastName":"Tiffany"}, - <entry> <id>http://localhost:33779/WcfDataSer vice1.sv c/Drive rs(5)</id> <title type="text" /> <updated>2010-05-24T22:12:38Z</upda ted> – Framework choices (WCF, OData, <LastName>Bouie</LastName> - <author> <name /> </author> <link rel="edit" title="Driver" href="Drivers(5)" /> <link rel="http://schemas.microsoft.com/ado/2007/08 /dataservices/related/DistributionCenter" type="application/atom+xml;type=e ntry" title="DistributionCenter" href="Drivers(5)/DistributionCenter" /> </Driver> <link rel="http://schemas.microsoft.com/ado/2007/08 /dataservices/related/Today s" type="application/atom+xml;type=feed" title="Todays" href="Drivers(5)/Todays" /> <category term="ContosoBottlingMode l.Driver " scheme="http://schemas.microsof t.com/ado/20 07/08/dataserv ices/scheme" /> {"DistributionCenterId":1,"DriverId":2,"FirstName":"Loke Uei","LastName":"Tan"}, - <content type="application/xml"> - <m:properties> <d:DriverId m:type="Edm.Int32">5</d:DriverI d> <Driver> <d:DistributionCenterId m:type="Edm.Int32">2</d:Distributi onCente rId> <d:FirstName>Derek</d:FirstName> <d:LastName>Snyder</d:LastName> </m:properties> </content> <DistributionCenterId>1</DistributionCenterId> </entry> JSON - <entry> <id>http://localhost:33779/WcfDataSer vice1.sv c/Drive rs(6)</id> {"DistributionCenterId":1,"DriverId":3,"FirstName":"Dan","LastName":"Bouie"}, <title type="text" /> <updated>2010-05-24T22:12:38Z</upda ted> <DriverId>4</DriverId> - <author> <name /> </author> <link rel="edit" title="Driver" href="Drivers(6)" /> <link rel="http://schemas.microsoft.com/ado/2007/08 /dataservices/related/DistributionCenter" type="application/atom+xml;type=e ntry" title="DistributionCenter" href="Drivers(6)/DistributionCenter" /> <FirstName>John</FirstName> <link rel="http://schemas.microsoft.com/ado/2007/08 /dataservices/related/Today s" type="application/atom+xml;type=feed" title="Todays" href="Drivers(6)/Todays" /> REST-XML <category term="ContosoBottlingMode l.Driver " scheme="http://schemas.microsof t.com/ado/20 07/08/dataserv ices/scheme" /> OData - <content type="application/xml"> - <m:properties> {"DistributionCenterId":1,"DriverId":4,"FirstName":"John","LastName":"Dietz"}, <d:DriverId m:type="Edm.Int32">6</d:DriverI d> <LastName>Dietz</LastName> <d:DistributionCenterId m:type="Edm.Int32">2</d:Distributi onCente rId> <d:FirstName>Steve</d:FirstName> <d:LastName>Hegenderfer</d:LastNam e> </m:properties> 639 </content> WebRequest, etc.) </Driver> </entry> - <entry> <id>http://localhost:33779/WcfDataSer vice1.sv c/Drive rs(7)</id> <title type="text" /> <updated>2010-05-24T22:12:38Z</upda ted> <Driver> {"DistributionCenterId":2,"DriverId":5,"FirstName":"Derek","LastName":"Snyder"}, - <author> <name /> 1.2kb </author> <link rel="edit" title="Driver" href="Drivers(7)" /> <link rel="http://schemas.microsoft.com/ado/2007/08 /dataservices/related/DistributionCenter" type="application/atom+xml;type=e ntry" title="DistributionCenter" href="Drivers(7)/DistributionCenter" /> 8.5kb <DistributionCenterId>2</DistributionCenterId> <link rel="http://schemas.microsoft.com/ado/2007/08 /dataservices/related/Today s" type="application/atom+xml;type=feed" title="Todays" href="Drivers(7)/Todays" /> <category term="ContosoBottlingMode l.Driver " scheme="http://schemas.microsof t.com/ado/20 07/08/dataserv ices/scheme" /> - <content type="application/xml"> - <m:properties> <d:DriverId m:type="Edm.Int32">7</d:DriverI d> <DriverId>5</DriverId> <d:DistributionCenterId m:type="Edm.Int32">2</d:Distributi onCente rId> {"DistributionCenterId":2,"DriverId":6,"FirstName":"Steve","LastName":“Harris"}, <d:FirstName>Chip</d:FirstName> bytes <d:LastName>Vollers</d:LastName> </m:properties> </content> <FirstName>Derek</FirstName> </entry> - <entry> <id>http://localhost:33779/WcfDataSer vice1.sv c/Drive rs(8)</id> <title type="text" /> <updated>2010-05-24T22:12:38Z</upda ted> <LastName>Snyder</LastName> - <author> <name /> {"DistributionCenterId":2,"DriverId":7,"FirstName":"Chip","LastName":"Vollers"}, </author> <link rel="edit" title="Driver" href="Drivers(8)" /> <link rel="http://schemas.microsoft.com/ado/2007/08 /dataservices/related/DistributionCenter" type="application/atom+xml;type=e ntry" title="DistributionCenter" href="Drivers(8)/DistributionCenter" /> </Driver> <link rel="http://schemas.microsoft.com/ado/2007/08 /dataservices/related/Today s" type="application/atom+xml;type=feed" title="Todays" href="Drivers(8)/Todays" /> – Wire format choices (SOAP, JSON, POX, <category term="ContosoBottlingMode l.Driver " scheme="http://schemas.microsof t.com/ado/20 07/08/dataserv ices/scheme" /> - <content type="application/xml"> - <m:properties> <d:DriverId m:type="Edm.Int32">8</d:DriverI d> <Driver> <d:DistributionCenterId m:type="Edm.Int32">2</d:Distributi onCente rId> <d:FirstName>James</d:FirstName> <d:LastName>Pratt</d:LastName> {"DistributionCenterId":2,"DriverId":8,"FirstName":"James","LastName":"Pratt"}] </m:properties> </content> <DistributionCenterId>2</DistributionCenterId> </entry> </feed> The same list of 8 Customers using SOAP and a DataSet dropped us down to 3 kb but still too big for my taste. <?xml version="1.0" encoding="utf-8"?> <DataSet xmlns="http://tempuri.org/" > <DriverId>6</DriverId> <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/20 01/XMLSchema " xmlns:msdata="urn:schemas-micr osoft-com:xml -msdat a"> <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true"> <xs:complexType> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="Driver"> <FirstName>Steve</FirstName> <xs:complexType> <xs:sequence> <xs:element name="DriverId" type="xs:int" minOccurs="0" /> <xs:element name="DistributionCenterId" type="xs:int" minOccurs="0" /> <xs:element name="FirstName" type="xs:string" minOccurs="0" /> <LastName>Hegenderfer</LastName> <xs:element name="LastName" type="xs:string" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> </xs:choice> </Driver> </xs:complexType> </xs:element> </xs:schema> <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com :xml-m sdata" xmlns:diffgr="urn:schemas-microsof t-com:xml-diff gram-v 1"> <NewDataSet xmlns=""> <Driver> <Driver diffgr:id="Driver1" msdata:rowOrder="0"> etc.) <DriverId>1</DriverId> <DistributionCenterId>1</DistributionCenterId> <FirstName>Rob</FirstName> <LastName>Tiffany</LastName> <DistributionCenterId>2</DistributionCenterId> </Driver> <Driver diffgr:id="Driver2" msdata:rowOrder="1"> <DriverId>2</DriverId> <DistributionCenterId>1</DistributionCenterId> <FirstName>Loke Uei</FirstName> <DriverId>7</DriverId> <LastName>Tan</LastName> </Driver> <Driver diffgr:id="Driver3" msdata:rowOrder="2"> <DriverId>3</DriverId> <DistributionCenterId>1</DistributionCenterId> <FirstName>Chip</FirstName> <FirstName>Dan</FirstName> <LastName>Bouie</LastName> </Driver> <Driver diffgr:id="Driver4" msdata:rowOrder="3"> <DriverId>4</DriverId> <LastName>Vollers</LastName> <DistributionCenterId>1</DistributionCenterId> <FirstName>John</FirstName> <LastName>Dietz</LastName> </Driver> <Driver diffgr:id="Driver5" msdata:rowOrder="4"> </Driver> <DriverId>5</DriverId> <DistributionCenterId>2</DistributionCenterId> <FirstName>Derek</FirstName> <LastName>Snyder</LastName> </Driver> <Driver> <Driver diffgr:id="Driver6" msdata:rowOrder="5"> <DriverId>6</DriverId> <DistributionCenterId>2</DistributionCenterId> <FirstName>Steve</FirstName> <LastName>Hegenderfer</LastName> <DistributionCenterId>2</DistributionCenterId> </Driver> <Driver diffgr:id="Driver7" msdata:rowOrder="6"> <DriverId>7</DriverId> <DistributionCenterId>2</DistributionCenterId> <FirstName>Chip</FirstName> <DriverId>8</DriverId> <LastName>Vollers</LastName> </Driver> <Driver diffgr:id="Driver8" msdata:rowOrder="7"> <DriverId>8</DriverId> <DistributionCenterId>2</DistributionCenterId> <FirstName>James</FirstName> <FirstName>James</FirstName> <LastName>Pratt</LastName> </Driver> </NewDataSet> </diffgr:diffgram> <LastName>Pratt</LastName> </DataSet> </Driver> </ArrayOfDriver>
  • 21. Communications: Cloud-initiated • Push Notifications – Single connecting between the device and the notification service – Bandwidth- and battery-friendly – No guarantee of delivery
  • 22. Communications: Subscribing to Push • Device requests a channel • *NS returns channel Web *NS • Device sends URL to Role cloud – Channel URL is stored in cloud • Cloud sends notification • *NS pushes to device
  • 23. Communications: Cloud-initiated 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
  • 24. Notifications: Different services • 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) • …
  • 26. Platform Services • Caching • Traffic Manager • Content Delivery Network (CDN) • SQL Azure Data Sync
  • 28. Windows Azure Toolkits for Devices • Easier for device developers to use Windows Azure – Windows Phone: http://bit.ly/watwp7 – iOS: http://bit.ly/watios – Android: http://bit.ly/watandroid • Toolkits include: – Native libraries (e.g. .NET, Objective-C) – Samples – Project templates – Documentation
  • 29. Windows Azure Toolkit for Windows 8 • Deliver a Push Notification Cloud Service with ease. • VS 2010 Project Template for Windows Azure • Dev 11 Project for Client • Samples: – ACS Metro Style App – Margie’s Travel – Push Notification Worker • Documentation • Download at: http://watwindows8.codeplex.com/
  • 30. demo Show how the toolkits work
  • 31.
  • 32. 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
  • 33. Vote your evaluation This session was . . . • A little lite • Just right • More than I hoped for!