• Save
.NetCampus Windows Azure Mobile
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

.NetCampus Windows Azure Mobile

on

  • 691 views

 

Statistics

Views

Total Views
691
Views on SlideShare
691
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • X-ZUMO-APPLICATION – The application key of the mobile service. X-ZUMO-AUTH - T he service-generated authentication token for an authenticated user. You must specify a token for an authenticated user when required to access the table operation. X-ZUMO-MASTER - The service master key.  OData does this by applying and building upon Web technologies such as HTTP , Atom Publishing Protocol (AtomPub) and JSON to provide access to information from a variety of applications, services, and stores
  • X-ZUMO-APPLICATION – The application key of the mobile service. X-ZUMO-AUTH - T he service-generated authentication token for an authenticated user. You must specify a token for an authenticated user when required to access the table operation. X-ZUMO-MASTER - The service master key.  OData does this by applying and building upon Web technologies such as HTTP , Atom Publishing Protocol (AtomPub) and JSON to provide access to information from a variety of applications, services, and stores
  • X-ZUMO-APPLICATION – The application key of the mobile service. X-ZUMO-AUTH - T he service-generated authentication token for an authenticated user. You must specify a token for an authenticated user when required to access the table operation. X-ZUMO-MASTER - The service master key.  OData does this by applying and building upon Web technologies such as HTTP , Atom Publishing Protocol (AtomPub) and JSON to provide access to information from a variety of applications, services, and stores
  • Node.js  is a  software system  designed for writing  scalable  Internet applications, notably  web servers . [1]  Programs are written in  JavaScript , using event-driven,asynchronous I/O to minimize overhead and maximize scalability. La natura event-driven di  Node.js  si manifesta nella gestione delle operazioni concorrenti: nei Web server tradizionali come Apache utilizziamo ad esempio un thread per elaborare ogni richiesta, mentre Node.js genera un nuovo evento che finirà in un unico processo, un "loop" che gestirà a suo tempo l'evento stesso eseguendo le relative funzioni di callback. Il altre parole le funzioni più comuni di un server Web sono svolte da moduli diversi e gestite con eventi di input/output. Una scelta particolarmente azzeccata visto che un server web trascorre maggior parte del tempo ad attendere l'esito di operazioni di input/output, dunque la possibilità di lavorare in modo asincrono tramite funzioni di  callback
  • Node.js  is a software system designed for writing scalable Internet applications, notably web servers. [1]  Programs are written in JavaScript, using event-driven,asynchronous I/O to minimize overhead and maximize scalability. La natura event-driven di  Node.js  si manifesta nella gestione delle operazioni concorrenti: nei Web server tradizionali come Apache utilizziamo ad esempio un thread per elaborare ogni richiesta, mentre Node.js genera un nuovo evento che finirà in un unico processo, un "loop" che gestirà a suo tempo l'evento stesso eseguendo le relative funzioni di callback. Il altre parole le funzioni più comuni di un server Web sono svolte da moduli diversi e gestite con eventi di input/output. Una scelta particolarmente azzeccata visto che un server web trascorre maggior parte del tempo ad attendere l'esito di operazioni di input/output, dunque la possibilità di lavorare in modo asincrono tramite funzioni di  callback
  • An open protocol to allow secure authorization in a simple and standard method from web, mobile and desktop applications. If you're storing protected data on your users' behalf, they shouldn't be spreading their passwords around the web to get access to it. Use OAuth to give your users access to their data while protecting their account credentials. Service use Oauth to access your data without your credentials.

.NetCampus Windows Azure Mobile Presentation Transcript

  • 1. The Magic Box – Windows Azure Mobile Antimo Musone antimo.musone@hotmail.com www.antimomusone.comTemplate designed by
  • 2. brought to you by
  • 3. chi siamo / chi sono Technical Architect for Avanade Microsoft Student Partner Co-Founder of 5 th Element Project http://www.fifthelementproject.com http://antimomusone.com
  • 4. agendaCloud & AzureScenarioAzure MobileDemoQ&A
  • 5. Cloud ComputingWhat is the cloud? An approach to computing that’s about internet scale and connecting to a variety of devices and endpoints
  • 6. Cloud Computing Types IaaSInfrastructure- PaaS Platform-as-a- SaaS Software-as-a- StaS Storage-as-a- NaaS Network-as-a- as-a-Service Service Service Service Service
  • 7. Windows AzureWindows Azure Comprehensive set of services that enable you to quickly build, deploy and manage applications across a global network of Microsoft-managed datacenters
  • 8. Device + CloudThree Reasons for Device + Cloud 1 Allows new application scenarios 2 The cloud levels the playing field The cloud provides a way to reach across device 3 platforms and a larger pool of resources from which to pull
  • 9. Scenario
  • 10. Scenario OCR App Any pictures? SAS Process Image Windows Azure Translated Text Authenticate Token Access Token Job Completed Access Shared Access Send Image Signature Translated Text Translated Text Hawaii OCR & Bing Translator
  • 11. The Magic BoxAzure Mobile Features
  • 12. TargetsPlatforms
  • 13. TechnologyInteroperability Features OData OAUTH Http Rest Interface JSON
  • 14. Data Mobile Storage
  • 15. Storage TechnologyREST API Interface Features https://<service>. azuremobile.net/tables /<tabl e_name> OData Protocol HTTP METHOD GET, POST, PATCH, DELETE Request & Response Body use JSON
  • 16. Authorization LevelAuthorization Header Request X-ZUMO-{ APPLICATION | AUTH | MASTER X-ZUMO- Header for different authorization Everyone None Anybody with the X-ZUMO-APPLICATION application key Only Authenticated X-ZUMO-AUTH Users Only Scripts and Admins X-ZUMO-MASTER
  • 17. Storage ArchitectureSQL Azure Database Infrastructure Features Manage your way (portal, REST API, SSMS, etc.) Partition applications by schema in DB Dynamic Schema Support (on/off) Reporting, TSQL support, existing tools, etc.
  • 18. Example of RequestData Storage – Example for Todo List ServiceoRequest HTTP Method : GET https://todolist.azuremobile.net/tables/TodoItem?$filter=(complete%20eq%20false) Header : Accept: application/json X-ZUMO-APPLICATION: UzMAOXRlJdZyqibeUqCMoZZMrUXIRs92 Host: todolist.azure-mobile.neto Response HTTP/1.1 200 OK [{"id":1,"text":"Sign-up for the free trial","complete":false}, {"id":2,"text":"Create the mobile service","complete":false }, {"id":3,"text":"Complete the quickstart","complete":false}]
  • 19. Hello Data Storagedemo
  • 20. Business Logic
  • 21. Node.jsNodes goal is toprovide an easy way tobuild scalable networkprogramsMono –Thread NetworkingEvent-DrivenGoogles V8 JavaScript engineServer-side JavaScript applicationNo dead-lockingImprovement of memory management
  • 22. Node.jsWindows Azure offer a SDK to develop and build webapplication with Node.js hosted in the cloudExample of server var http = require("http");application function onRequest(request, response) {File javascript Server.js -> console.log("Richiesta ricevuta dal server"); response.writeHead(200, {"Content-Type":"text/plain"}); response.write("Richiesta ricevuta"); response.end(); } http.createServer(onRequest).listen(8080); console.log("Server avviato");
  • 23. Azure Mobile Business LogicArchitectureIntercept CRUD operations and apply your logic with JavaScript scripts node.js Scripting function(item, user, request) { DB ….. } User authentication Dynamic schematization
  • 24. Business LogicBusiness Logic – Node.jsKn o w n ob je cts an d mo d ule s o azure o sendgrid o console o mssql o push o statusCodes o table o request o crypto o util var SendGrid = require(sendgrid).SendGrid; var sendgrid = new SendGrid(‘<account>, ‘<password>); sendgrid.send({ to: userItem.EmailAddress, from: notifications@mytodoitem.azure-mobile.net, subject: New ToDoItem Added!!, text: A new MyToDoItem was added: + item.text}, function(success, message) { // If the email failed to send, log it as an error. if (!success) { console.error(SendGrid Error! + message); } });
  • 25. Hello Business Logicdemo
  • 26. Authentication
  • 27. AuthenticationDifferent ProvidersAccounts : Microsoft, Facebook, Twitter, Google.OAuth 2.0 to consume your data
  • 28. Authentication - RulesSet Level of AuthorizationTable level authorization for CRUD operationsEveryone any request by anyone is acceptedAnybody with the application key app key distributed w/ the app (defaultOnly Authenticated Users users authenticated by Live ConnectOnly Scripts and Admins registered scripts or requests via the master keyYour application can add whatever other authorization is needed.
  • 29. Authentication - ScriptsServer script to match against your table (role-based access,specific user, etc.)
  • 30. Push Notifications
  • 31. Push Notifications - ArchitecturePush Notification – How ? (2) (1) (3) (3)
  • 32. Push Notifications - HowPush Notification – LogicRegister your push notification on mobile service WNS client secret and package SID for Windows API KEY for Android Certificate for IOSAbility to send Tile, Toast, Badge, and Raw notifications.Push logic Node.js module to create push notifications
  • 33. Diagnostic & Log
  • 34. Diagnostic
  • 35. Logging
  • 36. ScaleDon’t forget , it’s cloud !
  • 37. Get Started
  • 38. Get Startedhttp://www.windowsazure.comServices -> 750 ore al mese di istanze di calcolo piccoleWeb -> 10 siti WebMobile Service ->10 servizi mobiliRDBS ->1 database SQLReport SQL ->100 ore al meseStorage -> 70 GB con 50.000.000 transazioni di archiviazioneTrasferimenti di dati ->senza limiti in ingresso e 25 GB in uscitaMultimedial Services -> 50 GB (input e output combinati)CDN -> 20 GB in uscita con 500.000 transazioniCache -> 128 MB
  • 39. Grazie :-)Per contattarmi antimo.musone@student-partners.com antimo.musone@avanade.com