SlideShare una empresa de Scribd logo
1 de 31
How to use Windows Azure
 features on Windows 8



                                Radu Vunvulea
                         vunvulear@gmail.com
             http://vunvulearadu.blogspot.com
How to use Windows Azure
 features on Windows 8



                                Radu Vunvulea
                         vunvulear@gmail.com
             http://vunvulearadu.blogspot.com
Agenda
•   A short introduction in Metro App
•   Push Notifications
•   Scenario 1
•   Scenario 2
•   Scenario 3
•   Shared Access Signature
•   Scenario 4
•   Scenario 5
•   Conclusion
Metro Style application
• Focus on user experience
Metro Style application
• Focus on user experience
• Consistent UI through all the applications
Metro Style application
• Focus on user experience
• Consistent UI through all the applications
• Do one think, but do it best
What does Windows Azure offers to us
•   Tables
•   Blobs
•   Queues
•   Service Bus
•   SQL Azure
•   Push Notifications
•   Shared Access Signature
•   Web roles
•   Worker roles
•   Cache roles
•   Virtual Machines roles
•   ... and a lot more
Push Notifications
• Using this mechanism we can send toasts, badges, tiles and row
  notifications to the client application
• The send request notifications can be send from a cloud service



                         Metro Style App



           Notification Client
                                      Cloud Service
                Platform


                         Windows Push
                          Notification
                            Service
Scenario 1




             Windows Azure
Scenario 1 – Azure Tables
• Use table storage to store what each patient eat at each meal
• The price for storing data in table storage is very low

    Timestamp      Partition Key Row Key    …   …         …
    2005-10-30 T   Client ID    Meal type
    10:45 UTC



Problem
• How user can have limited access to only one part of the table ?
Scenario 1 - Azure Tables + SAS
Problem
• How user can have limited access to only one part of the table?

Solution
• We can use Shared Access Signature

• What we can do with Shared Access Signature
  • Limit access of the user to only a specific numbers of tables
  • Limit access to a specific partition key and row key intervals
  • Limit what kind of actions a user can do on the table
  • Give access to a resource for a specific time interval
What is Shared Access Signature
• Limit user access to a specific Windows Azure resource
• Types of resources:
    •   Tables
    •   Queues
    •   Blobs and containers
• You don’t need to know or register user LIVE account
• The only thing that you share with the user is a token
• User can access your resource based on a token
How to create a SAS for Azure Tables
• Create the access policy
SharedAccessTablePolicy tablePolicy = new SharedAccessTablePolicy()
{
    Permissions = SharedAccessTablePermissions.Query
                    | SharedAccessTablePermissions.Add,
    SharedAccessExpiryTime = DateTime.UtcNow + TimeSpan.FromHours(1)
};
• Assign permissions
TablePermissions tablePermissions = new TablePermissions();
tablePermissions.SharedAccessPolicies.Add(
         "Client1",
        tablePolicy);
myTable.SetPermissions(tablePermissions);
• Generate the access token signature
tableToken = myTable.GetSharedAccessSignature(
        new SharedAccessTablePolicy(),
        "Client1_1",
        10, 0, 19, 100);
How to create a SAS for Azure Blobs
• Create the access signature
var sharedAccessSignature = myBlob.GetSharedAccessSignature(
          new SharedAccessPolicy()
          {
                   Permissions = SharedAccessPermissions.Write
                            | SharedAccessPermissions.Read,
                   SharedAccessExpiryTime = DateTime.UtcNow +
                            TimeSpan.FromHours(1);
          }
• Generate access URL
string sharedAccessSignatureUri = blob.Uri.AbsoluteUri +         +
          sharedAccessSignature;
• Use the access signature
var storageCredentialsSAS = new StorageCredentialsSharedAccessSignature(
          sharedAccessSignature);
var blobClient = new CloudBlobClient(
          myAccount.BlobEndpoint,
          storageCredentialsSAS);
var myBlob = blobClient .GetBlobReference(“myContainer/firstBlob.txt”);
string currentContentOfBlob = myBlob.DownloadText();
myBlob.UploadText(“New text appended”);
How to create a SAS for Azure Queues
• Create the access signature
SharedAccessQueuePolicy sharedAccessPolicy = new SharedAccessQueuePolicy()
{
           Permissions = SharedAccessQueuePermissions .ProcessMessages,
           SharedAccessExpiryTime = DateTime.UtcNow + TimeSpan.FromHours(1)
};
string policyIdentifier = "QueuePolicy1";
QueuePermissions queuePermissions= new QueuePermissions();
queuePermissions.SharedAccessPolicies.Add(
           policyIdentifier,
           sharedAccessPolicy);
myQueue.SetPermissions(queuePermissions);
• Generate access token signature
string accessSignature = myQueue.GetSharedAccessSignature(
         new SharedAccessQueuePolicy(),
         policyIdentifier);
Scenario 2




             Windows Azure
Scenario 2 – Blob Storage
•   Store all content on Blob Storage
•   Cheap
•   Scalable
•   Can stream any type of content
•   Multiply devices of the same client can access the same resources
    based on the Shared Access Signature
     • We can send the access token by email
Scenario 3




             Windows Azure
Scenario 3 – Azure Queues
• Each document for processing a command is send to Azure queue
• The message from the queue can be consumed by the core
  application that process the message
• Limited access based on Shared Access Signature
   • The user that generate the requests will not be able to read or
      pop any kind of messages from the queue
How to access Windows Azure content?
Proxy
Shared Access Signature




             Web Role
Scenario 4
• We are a well know photograph
• We decide that we what to share our pictures with peoples that own a
  Windows 8 tablet all around the world
• Based on a subscriptions for each album we hope to make money
• An album can contain 10 to n photos



        How can we share this content with our clients?
Scenario 4 - Blobs
• A simple solution is using blobs plus Shared Access Signature
• For each client we create an access token that allow clients to access the
  album for which they already paid
• Over this structure we create a web-application that allow clients to
  download the albums based on a token
• We can use the token that is generated by Shared Access Signature
Scenario 5
• Let’s imagine an application that will display stock reports for each week
• This information is generated based on a lot of computation power
• Because of this the company decides to sell this valuable content based on
  a weekly subscriptions
• A client can have access only to information for the weeks that he paid
• The client want to access this content from a Metro app created by us but
  he also want to import this data in his own systems




                                                        Stock
Scenario 5 – Azure Tables
• Store all the weakly report information on Azure Tables
• Create a service that give the user the ability to access
  report data based on a username and password
• Update and manage the username list and what reports
  they can access
Scenario 5 – Azure Tables
• Store all the weakly report information on Azure Tables
• Create a service that give the user the ability to access
  report data based on a username and password
• Update and manage the username list and what reports
  they can access
• Define a Shared Access Policy based on partition key and
  row key
      Partition Key – Week unique id (201234)
      Row Key – Report name
Conclusion
Conclusion



     Metro style apps are great to
     create a consistent, elegant & compelling
     user experience
THE END




                        Radu Vunvulea
                 vunvulear@gmail.com
     http://vunvulearadu.blogspot.com

Más contenido relacionado

La actualidad más candente

Building IAM for OpenStack
Building IAM for OpenStackBuilding IAM for OpenStack
Building IAM for OpenStackSteve Martinelli
 
How Small Can Java Microservices Be?
How Small Can Java Microservices Be?How Small Can Java Microservices Be?
How Small Can Java Microservices Be?Eberhard Wolff
 
Secure Keystone Deployment
Secure Keystone DeploymentSecure Keystone Deployment
Secure Keystone DeploymentPriti Desai
 
10 Ways to Gaurantee Your Azure Project will Fail
10 Ways to Gaurantee Your Azure Project will Fail10 Ways to Gaurantee Your Azure Project will Fail
10 Ways to Gaurantee Your Azure Project will FailMichael Collier
 
System Center 2012 SP1 - Overview - EPC Group
System Center 2012 SP1 - Overview - EPC GroupSystem Center 2012 SP1 - Overview - EPC Group
System Center 2012 SP1 - Overview - EPC GroupEPC Group
 
Techdays Finland 2018 - Building secure cloud applications with Azure Key Vault
Techdays Finland 2018 - Building secure cloud applications with Azure Key VaultTechdays Finland 2018 - Building secure cloud applications with Azure Key Vault
Techdays Finland 2018 - Building secure cloud applications with Azure Key VaultTom Kerkhove
 
Docker for .NET Developers
Docker for .NET DevelopersDocker for .NET Developers
Docker for .NET DevelopersTaswar Bhatti
 
CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief ComparisonCloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparisonbizalgo
 
Quick overview of Openstack architecture
Quick overview of Openstack architectureQuick overview of Openstack architecture
Quick overview of Openstack architectureToni Ramirez
 
Paris Tech Meetup talk : Troubles start at version 1.0
Paris Tech Meetup talk : Troubles start at version 1.0Paris Tech Meetup talk : Troubles start at version 1.0
Paris Tech Meetup talk : Troubles start at version 1.0Laurent Cerveau
 
OGDC2012 A Practical Architecture Design For MMO Casual Game_Mr. An, Ngo Thai
OGDC2012 A Practical Architecture Design For MMO Casual Game_Mr. An, Ngo ThaiOGDC2012 A Practical Architecture Design For MMO Casual Game_Mr. An, Ngo Thai
OGDC2012 A Practical Architecture Design For MMO Casual Game_Mr. An, Ngo ThaiBuff Nguyen
 
Introduction to Windows Azure
Introduction to Windows AzureIntroduction to Windows Azure
Introduction to Windows AzureRavi Ranjan Karn
 
OpenStack keystone identity service
OpenStack keystone identity serviceOpenStack keystone identity service
OpenStack keystone identity serviceopenstackindia
 
Building an Angular 2 App
Building an Angular 2 AppBuilding an Angular 2 App
Building an Angular 2 AppFelix Gessert
 
4Developers 2018: Real-time capabilities in ASP.NET Core web applications (To...
4Developers 2018: Real-time capabilities in ASP.NET Core web applications (To...4Developers 2018: Real-time capabilities in ASP.NET Core web applications (To...
4Developers 2018: Real-time capabilities in ASP.NET Core web applications (To...PROIDEA
 
Securing Your MongoDB Deployment
Securing Your MongoDB DeploymentSecuring Your MongoDB Deployment
Securing Your MongoDB DeploymentMongoDB
 

La actualidad más candente (20)

Building IAM for OpenStack
Building IAM for OpenStackBuilding IAM for OpenStack
Building IAM for OpenStack
 
How Small Can Java Microservices Be?
How Small Can Java Microservices Be?How Small Can Java Microservices Be?
How Small Can Java Microservices Be?
 
Secure Keystone Deployment
Secure Keystone DeploymentSecure Keystone Deployment
Secure Keystone Deployment
 
Web services
Web servicesWeb services
Web services
 
10 Ways to Gaurantee Your Azure Project will Fail
10 Ways to Gaurantee Your Azure Project will Fail10 Ways to Gaurantee Your Azure Project will Fail
10 Ways to Gaurantee Your Azure Project will Fail
 
System Center 2012 SP1 - Overview - EPC Group
System Center 2012 SP1 - Overview - EPC GroupSystem Center 2012 SP1 - Overview - EPC Group
System Center 2012 SP1 - Overview - EPC Group
 
Techdays Finland 2018 - Building secure cloud applications with Azure Key Vault
Techdays Finland 2018 - Building secure cloud applications with Azure Key VaultTechdays Finland 2018 - Building secure cloud applications with Azure Key Vault
Techdays Finland 2018 - Building secure cloud applications with Azure Key Vault
 
Keystone Federation
Keystone Federation Keystone Federation
Keystone Federation
 
Docker for .NET Developers
Docker for .NET DevelopersDocker for .NET Developers
Docker for .NET Developers
 
Multi tenancy for docker
Multi tenancy for dockerMulti tenancy for docker
Multi tenancy for docker
 
CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief ComparisonCloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
 
Quick overview of Openstack architecture
Quick overview of Openstack architectureQuick overview of Openstack architecture
Quick overview of Openstack architecture
 
Paris Tech Meetup talk : Troubles start at version 1.0
Paris Tech Meetup talk : Troubles start at version 1.0Paris Tech Meetup talk : Troubles start at version 1.0
Paris Tech Meetup talk : Troubles start at version 1.0
 
OGDC2012 A Practical Architecture Design For MMO Casual Game_Mr. An, Ngo Thai
OGDC2012 A Practical Architecture Design For MMO Casual Game_Mr. An, Ngo ThaiOGDC2012 A Practical Architecture Design For MMO Casual Game_Mr. An, Ngo Thai
OGDC2012 A Practical Architecture Design For MMO Casual Game_Mr. An, Ngo Thai
 
Introduction to Windows Azure
Introduction to Windows AzureIntroduction to Windows Azure
Introduction to Windows Azure
 
Web security
Web securityWeb security
Web security
 
OpenStack keystone identity service
OpenStack keystone identity serviceOpenStack keystone identity service
OpenStack keystone identity service
 
Building an Angular 2 App
Building an Angular 2 AppBuilding an Angular 2 App
Building an Angular 2 App
 
4Developers 2018: Real-time capabilities in ASP.NET Core web applications (To...
4Developers 2018: Real-time capabilities in ASP.NET Core web applications (To...4Developers 2018: Real-time capabilities in ASP.NET Core web applications (To...
4Developers 2018: Real-time capabilities in ASP.NET Core web applications (To...
 
Securing Your MongoDB Deployment
Securing Your MongoDB DeploymentSecuring Your MongoDB Deployment
Securing Your MongoDB Deployment
 

Destacado

Open Source Creativity
Open Source CreativityOpen Source Creativity
Open Source CreativitySara Cannon
 
The impact of innovation on travel and tourism industries (World Travel Marke...
The impact of innovation on travel and tourism industries (World Travel Marke...The impact of innovation on travel and tourism industries (World Travel Marke...
The impact of innovation on travel and tourism industries (World Travel Marke...Brian Solis
 
Reuters: Pictures of the Year 2016 (Part 2)
Reuters: Pictures of the Year 2016 (Part 2)Reuters: Pictures of the Year 2016 (Part 2)
Reuters: Pictures of the Year 2016 (Part 2)maditabalnco
 
The Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post FormatsThe Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post FormatsBarry Feldman
 
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldabaux singapore
 
The Outcome Economy
The Outcome EconomyThe Outcome Economy
The Outcome EconomyHelge Tennø
 

Destacado (7)

Open Source Creativity
Open Source CreativityOpen Source Creativity
Open Source Creativity
 
The impact of innovation on travel and tourism industries (World Travel Marke...
The impact of innovation on travel and tourism industries (World Travel Marke...The impact of innovation on travel and tourism industries (World Travel Marke...
The impact of innovation on travel and tourism industries (World Travel Marke...
 
Reuters: Pictures of the Year 2016 (Part 2)
Reuters: Pictures of the Year 2016 (Part 2)Reuters: Pictures of the Year 2016 (Part 2)
Reuters: Pictures of the Year 2016 (Part 2)
 
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job? Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
 
The Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post FormatsThe Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post Formats
 
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
 
The Outcome Economy
The Outcome EconomyThe Outcome Economy
The Outcome Economy
 

Similar a How to Use Windows Azure Features Like Push Notifications, Tables, Blobs and Shared Access Signatures

Tokyo azure meetup #8 azure update, august
Tokyo azure meetup #8   azure update, augustTokyo azure meetup #8   azure update, august
Tokyo azure meetup #8 azure update, augustTokyo Azure Meetup
 
Tokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 - Azure Update, AugustTokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 - Azure Update, AugustKanio Dimitrov
 
Cnam cours azure zecloud mobile services
Cnam cours azure zecloud mobile servicesCnam cours azure zecloud mobile services
Cnam cours azure zecloud mobile servicesAymeric Weinbach
 
Serverless Application Development with Azure
Serverless Application Development with AzureServerless Application Development with Azure
Serverless Application Development with AzureCallon Campbell
 
Cloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps  with AzureCloud Powered Mobile Apps  with Azure
Cloud Powered Mobile Apps with AzureKris Wagner
 
What's New for the Windows Azure Developer? Lots! (July 2013)
What's New for the Windows Azure Developer?  Lots! (July 2013)What's New for the Windows Azure Developer?  Lots! (July 2013)
What's New for the Windows Azure Developer? Lots! (July 2013)Michael Collier
 
Mobile Services for Windows Azure
Mobile Services for Windows AzureMobile Services for Windows Azure
Mobile Services for Windows AzureAbhishek Sur
 
Windows Azure Mobile Services - The Perfect Partner
Windows Azure Mobile Services - The Perfect PartnerWindows Azure Mobile Services - The Perfect Partner
Windows Azure Mobile Services - The Perfect PartnerMichael Collier
 
Cloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps with AzureCloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps with AzureGameLandVN
 
Cloud Powered Mobile Apps With Azure
Cloud Powered Mobile Apps With AzureCloud Powered Mobile Apps With Azure
Cloud Powered Mobile Apps With AzureVinh Nguyen Quang
 
TechDays 2015 The Azure Sightseeing Tour
TechDays 2015 The Azure Sightseeing TourTechDays 2015 The Azure Sightseeing Tour
TechDays 2015 The Azure Sightseeing TourErik van Appeldoorn
 
Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...
Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...
Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...DataArt
 
NIC - Windows Azure Pack - Level 300
NIC - Windows Azure Pack - Level 300NIC - Windows Azure Pack - Level 300
NIC - Windows Azure Pack - Level 300Kristian Nese
 
Develop Azure compute solutions Part - 2
Develop Azure compute solutions Part - 2Develop Azure compute solutions Part - 2
Develop Azure compute solutions Part - 2AzureEzy1
 
Cloud computing & windows azure intro
Cloud computing & windows azure introCloud computing & windows azure intro
Cloud computing & windows azure introHaddy El-Haggan
 
2015.04.23 Azure Mobile Services
2015.04.23 Azure Mobile Services2015.04.23 Azure Mobile Services
2015.04.23 Azure Mobile ServicesMarco Parenzan
 
Windows Azure - Mobile Services
Windows Azure - Mobile ServicesWindows Azure - Mobile Services
Windows Azure - Mobile ServicesJose R Jara
 

Similar a How to Use Windows Azure Features Like Push Notifications, Tables, Blobs and Shared Access Signatures (20)

Tokyo azure meetup #8 azure update, august
Tokyo azure meetup #8   azure update, augustTokyo azure meetup #8   azure update, august
Tokyo azure meetup #8 azure update, august
 
Tokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 - Azure Update, AugustTokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 - Azure Update, August
 
Cnam cours azure zecloud mobile services
Cnam cours azure zecloud mobile servicesCnam cours azure zecloud mobile services
Cnam cours azure zecloud mobile services
 
Serverless Application Development with Azure
Serverless Application Development with AzureServerless Application Development with Azure
Serverless Application Development with Azure
 
Cloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps  with AzureCloud Powered Mobile Apps  with Azure
Cloud Powered Mobile Apps with Azure
 
What's New for the Windows Azure Developer? Lots! (July 2013)
What's New for the Windows Azure Developer?  Lots! (July 2013)What's New for the Windows Azure Developer?  Lots! (July 2013)
What's New for the Windows Azure Developer? Lots! (July 2013)
 
Mobile Services for Windows Azure
Mobile Services for Windows AzureMobile Services for Windows Azure
Mobile Services for Windows Azure
 
Windows Azure Mobile Services - The Perfect Partner
Windows Azure Mobile Services - The Perfect PartnerWindows Azure Mobile Services - The Perfect Partner
Windows Azure Mobile Services - The Perfect Partner
 
Cloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps with AzureCloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps with Azure
 
Cloud Powered Mobile Apps With Azure
Cloud Powered Mobile Apps With AzureCloud Powered Mobile Apps With Azure
Cloud Powered Mobile Apps With Azure
 
TechDays 2015 The Azure Sightseeing Tour
TechDays 2015 The Azure Sightseeing TourTechDays 2015 The Azure Sightseeing Tour
TechDays 2015 The Azure Sightseeing Tour
 
Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...
Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...
Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...
 
NIC - Windows Azure Pack - Level 300
NIC - Windows Azure Pack - Level 300NIC - Windows Azure Pack - Level 300
NIC - Windows Azure Pack - Level 300
 
Develop Azure compute solutions Part - 2
Develop Azure compute solutions Part - 2Develop Azure compute solutions Part - 2
Develop Azure compute solutions Part - 2
 
What is Azure.pptx
What is Azure.pptxWhat is Azure.pptx
What is Azure.pptx
 
Cloud computing & windows azure intro
Cloud computing & windows azure introCloud computing & windows azure intro
Cloud computing & windows azure intro
 
Microservices in Azure
Microservices in AzureMicroservices in Azure
Microservices in Azure
 
2015.04.23 Azure Mobile Services
2015.04.23 Azure Mobile Services2015.04.23 Azure Mobile Services
2015.04.23 Azure Mobile Services
 
Windows Azure - Mobile Services
Windows Azure - Mobile ServicesWindows Azure - Mobile Services
Windows Azure - Mobile Services
 
Jenkins Terraform Vault
Jenkins Terraform VaultJenkins Terraform Vault
Jenkins Terraform Vault
 

Último

DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 

Último (20)

DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 

How to Use Windows Azure Features Like Push Notifications, Tables, Blobs and Shared Access Signatures

  • 1. How to use Windows Azure features on Windows 8 Radu Vunvulea vunvulear@gmail.com http://vunvulearadu.blogspot.com
  • 2.
  • 3. How to use Windows Azure features on Windows 8 Radu Vunvulea vunvulear@gmail.com http://vunvulearadu.blogspot.com
  • 4. Agenda • A short introduction in Metro App • Push Notifications • Scenario 1 • Scenario 2 • Scenario 3 • Shared Access Signature • Scenario 4 • Scenario 5 • Conclusion
  • 5. Metro Style application • Focus on user experience
  • 6. Metro Style application • Focus on user experience • Consistent UI through all the applications
  • 7. Metro Style application • Focus on user experience • Consistent UI through all the applications • Do one think, but do it best
  • 8. What does Windows Azure offers to us • Tables • Blobs • Queues • Service Bus • SQL Azure • Push Notifications • Shared Access Signature • Web roles • Worker roles • Cache roles • Virtual Machines roles • ... and a lot more
  • 9. Push Notifications • Using this mechanism we can send toasts, badges, tiles and row notifications to the client application • The send request notifications can be send from a cloud service Metro Style App Notification Client Cloud Service Platform Windows Push Notification Service
  • 10. Scenario 1 Windows Azure
  • 11. Scenario 1 – Azure Tables • Use table storage to store what each patient eat at each meal • The price for storing data in table storage is very low Timestamp Partition Key Row Key … … … 2005-10-30 T Client ID Meal type 10:45 UTC Problem • How user can have limited access to only one part of the table ?
  • 12. Scenario 1 - Azure Tables + SAS Problem • How user can have limited access to only one part of the table? Solution • We can use Shared Access Signature • What we can do with Shared Access Signature • Limit access of the user to only a specific numbers of tables • Limit access to a specific partition key and row key intervals • Limit what kind of actions a user can do on the table • Give access to a resource for a specific time interval
  • 13. What is Shared Access Signature • Limit user access to a specific Windows Azure resource • Types of resources: • Tables • Queues • Blobs and containers • You don’t need to know or register user LIVE account • The only thing that you share with the user is a token • User can access your resource based on a token
  • 14. How to create a SAS for Azure Tables • Create the access policy SharedAccessTablePolicy tablePolicy = new SharedAccessTablePolicy() { Permissions = SharedAccessTablePermissions.Query | SharedAccessTablePermissions.Add, SharedAccessExpiryTime = DateTime.UtcNow + TimeSpan.FromHours(1) }; • Assign permissions TablePermissions tablePermissions = new TablePermissions(); tablePermissions.SharedAccessPolicies.Add( "Client1", tablePolicy); myTable.SetPermissions(tablePermissions); • Generate the access token signature tableToken = myTable.GetSharedAccessSignature( new SharedAccessTablePolicy(), "Client1_1", 10, 0, 19, 100);
  • 15. How to create a SAS for Azure Blobs • Create the access signature var sharedAccessSignature = myBlob.GetSharedAccessSignature( new SharedAccessPolicy() { Permissions = SharedAccessPermissions.Write | SharedAccessPermissions.Read, SharedAccessExpiryTime = DateTime.UtcNow + TimeSpan.FromHours(1); } • Generate access URL string sharedAccessSignatureUri = blob.Uri.AbsoluteUri + + sharedAccessSignature; • Use the access signature var storageCredentialsSAS = new StorageCredentialsSharedAccessSignature( sharedAccessSignature); var blobClient = new CloudBlobClient( myAccount.BlobEndpoint, storageCredentialsSAS); var myBlob = blobClient .GetBlobReference(“myContainer/firstBlob.txt”); string currentContentOfBlob = myBlob.DownloadText(); myBlob.UploadText(“New text appended”);
  • 16. How to create a SAS for Azure Queues • Create the access signature SharedAccessQueuePolicy sharedAccessPolicy = new SharedAccessQueuePolicy() { Permissions = SharedAccessQueuePermissions .ProcessMessages, SharedAccessExpiryTime = DateTime.UtcNow + TimeSpan.FromHours(1) }; string policyIdentifier = "QueuePolicy1"; QueuePermissions queuePermissions= new QueuePermissions(); queuePermissions.SharedAccessPolicies.Add( policyIdentifier, sharedAccessPolicy); myQueue.SetPermissions(queuePermissions); • Generate access token signature string accessSignature = myQueue.GetSharedAccessSignature( new SharedAccessQueuePolicy(), policyIdentifier);
  • 17. Scenario 2 Windows Azure
  • 18. Scenario 2 – Blob Storage • Store all content on Blob Storage • Cheap • Scalable • Can stream any type of content • Multiply devices of the same client can access the same resources based on the Shared Access Signature • We can send the access token by email
  • 19. Scenario 3 Windows Azure
  • 20. Scenario 3 – Azure Queues • Each document for processing a command is send to Azure queue • The message from the queue can be consumed by the core application that process the message • Limited access based on Shared Access Signature • The user that generate the requests will not be able to read or pop any kind of messages from the queue
  • 21. How to access Windows Azure content?
  • 22. Proxy
  • 24. Scenario 4 • We are a well know photograph • We decide that we what to share our pictures with peoples that own a Windows 8 tablet all around the world • Based on a subscriptions for each album we hope to make money • An album can contain 10 to n photos How can we share this content with our clients?
  • 25. Scenario 4 - Blobs • A simple solution is using blobs plus Shared Access Signature • For each client we create an access token that allow clients to access the album for which they already paid • Over this structure we create a web-application that allow clients to download the albums based on a token • We can use the token that is generated by Shared Access Signature
  • 26. Scenario 5 • Let’s imagine an application that will display stock reports for each week • This information is generated based on a lot of computation power • Because of this the company decides to sell this valuable content based on a weekly subscriptions • A client can have access only to information for the weeks that he paid • The client want to access this content from a Metro app created by us but he also want to import this data in his own systems Stock
  • 27. Scenario 5 – Azure Tables • Store all the weakly report information on Azure Tables • Create a service that give the user the ability to access report data based on a username and password • Update and manage the username list and what reports they can access
  • 28. Scenario 5 – Azure Tables • Store all the weakly report information on Azure Tables • Create a service that give the user the ability to access report data based on a username and password • Update and manage the username list and what reports they can access • Define a Shared Access Policy based on partition key and row key Partition Key – Week unique id (201234) Row Key – Report name
  • 30. Conclusion Metro style apps are great to create a consistent, elegant & compelling user experience
  • 31. THE END Radu Vunvulea vunvulear@gmail.com http://vunvulearadu.blogspot.com

Notas del editor

  1. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  2. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  3. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  4. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  5. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  6. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  7. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  8. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  9. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  10. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  11. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  12. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  13. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  14. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  15. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  16. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  17. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  18. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  19. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  20. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  21. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification
  22. Request Channel URIRegister with your Cloud ServiceAuthenticate & Push Notification