Azure Services PlatformDesign PatternsRich Internet ApplicationsRinat ShagisultanovNEUDESICrinat.shagisultanov@neudesic.co...
Agenda<br />Architectural Patterns<br />Rich Internet Applications with Azure<br />Demos:<br />Mortgage Calculator (WPF + ...
Cloud Hosting Patterns<br />Web RoleAzure Web Role – ASP.NET<br />Web Service RoleAzure Web Role – WCF<br />Worker RoleAzu...
Cloud Hosting –Web Role<br />Cloud-hosted ASP.NET web site<br />Can also use Ajax, Silverlight<br />Accessed over HTTP<br ...
Cloud Hosting –Web Service Role<br />Clouse-hosted WCF web service<br />Can use SOAP, REST, JSON<br />Accessed over HTTP<b...
Cloud Hosting –Worker Role<br />Cloud-hosted background process<br />.NET background worker thread(s)<br />No externally a...
Cloud Hosting –Workflow Role<br />Cloud-hosted workflow<br />Workflows created with Workflow Foundation in Visual Studio<b...
Cloud Data Patterns<br />Cloud Blob StorageWindows Azure Storage Project - Blob Storage<br />Cloud Queue StorageWindows Az...
Cloud Data – Blob Storage<br />Named byte storage<br />Windows Azure storage project<br />Container / Blob Item similarto ...
Cloud Data – Queue Storage<br />Queue storage<br />Windows Azure storage project<br />Dequeue/delete with time-out<br />Ac...
Cloud Data – Table Storage<br />Data Table storage<br />Windows Azure storage project<br />Table / entities (records)<br /...
Cloud Data – Database<br />Cloud-hosted SQL Server Database<br />SQL Data Services Project<br />Accessible via REST or .NE...
Cloud Communication & Sync Patterns<br />Load BalancerWindows Azure Hosting Project – Web Roles<br />Service Bus.NET Servi...
Cloud Communication – Load Balancer<br />Automatically provided to web roles byWindows Azure Hosting Project<br />HTTP end...
Cloud Communication – Service Bus<br />Multi-party communicationrelayed through the cloud<br />Supports point-to-point and...
Cloud Sync – Live Desktop<br />Synchronizes your ring of computers and devices<br />Synchronizes both data andmesh web app...
Cloud Sync – Live Feeds<br />Data Feeds SynchronizableAcross Devices<br />Accessible via AtomPub, RSS<br />Can program aga...
Cloud Security Patterns<br />Authentication ServiceLive Service – Windows Live ID<br />Access Control Service.NET Services...
Cloud Security – Authentication Service <br />Authentication for cloud-hosted web sites<br />Live Services – Windows Live ...
Cloud Security – Access Control Service <br />Federated Security for cloud-hosted services<br />.NET Services – Access Con...
Cloud Composite Application Patterns<br />Hosted Web Application / with Background WorkersWeb Site front end and Worker Ro...
Hosted Web App<br />ASP.NET Web Site<br />Web roles, load-balanced<br />Hello, Cloud is an example<br />LOAD BALANCER<br /...
Hosted Web App with Workers<br />ASP.NET Web Site with background workers<br />Front end – web roles, load-balanced<br />B...
Hosted Web Service<br />WCF Web Service with background workers<br />Web roles, load-balanced<br />LOAD BALANCER<br />WEBR...
Hosted Web Service with Workers<br />WCF Web Service with background workers<br />Front end – web roles, load-balanced<br ...
DEMO: MORTGAGE Service<br />CLOUD-HOSTED WEB SERVICE<br />http://azuremortgageservice.codeplex.net<br />
Demo:access cloud service via jquery<br />
How To Create Restful Service in Azure<br />Create Cloud Web Service (Web Worker)<br />Add WCF Service (contract, data con...
Cloud-Extended Enterprise Application<br />Enterprise-hosted application makes use of cloud services for storage, communic...
Multi-Enterprise Business App (MEBA)<br />A cloud-hosted application used by multiple organizations<br />Cloud is a &apos;...
Grid Computing Application<br />Worker Roles <br />Front end – web roles, load-balanced<br />Back end – worker roles<br />...
DEMO:FRAUD CHECK (GRID COMPUTING)<br />GRID COMPUTING APPLICATION<br />http://azuregrid.codeplex.net<br />
Azure Grid Architecture<br />
Azure Grid Application<br />
RIA Applications in the cloud<br />
ClassicWeb App<br />RIA App<br />
Demo: Silverlight application in azure<br />
Questions?<br />
Upcoming SlideShare
Loading in …5
×

Architectural Patterns And Ria With Azure

2,741 views

Published on

http://www.neudesic.com
http://azureusergroup.com

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,741
On SlideShare
0
From Embeds
0
Number of Embeds
19
Actions
Shares
0
Downloads
0
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Architectural Patterns And Ria With Azure

  1. 1. Azure Services PlatformDesign PatternsRich Internet ApplicationsRinat ShagisultanovNEUDESICrinat.shagisultanov@neudesic.com<br />
  2. 2. Agenda<br />Architectural Patterns<br />Rich Internet Applications with Azure<br />Demos:<br />Mortgage Calculator (WPF + Azure)<br />Grid Computing Framework<br />Silverlight + Azure<br />
  3. 3. Cloud Hosting Patterns<br />Web RoleAzure Web Role – ASP.NET<br />Web Service RoleAzure Web Role – WCF<br />Worker RoleAzure Worker Role - .NET<br />Workflow Role.NET Service Workflow Service - WF<br />
  4. 4. Cloud Hosting –Web Role<br />Cloud-hosted ASP.NET web site<br />Can also use Ajax, Silverlight<br />Accessed over HTTP<br />“Web Role” in Visual Studio<br />Windows Azure hosting project<br />Multiple instances automaticallyload balanced<br />WEB ROLE(WEB SITE)<br />LOAD BALANCER<br />WEBROLE<br />WEBROLE<br />WEBROLE<br />
  5. 5. Cloud Hosting –Web Service Role<br />Clouse-hosted WCF web service<br />Can use SOAP, REST, JSON<br />Accessed over HTTP<br />“Web Role” in Visual Studio<br />Windows Azure hosting project<br />Multiple instances automaticallyload balanced<br />WEB ROLE(WEB SERVICE)<br />LOAD BALANCER<br />WEBROLE<br />WEBROLE<br />WEBROLE<br />
  6. 6. Cloud Hosting –Worker Role<br />Cloud-hosted background process<br />.NET background worker thread(s)<br />No externally accessible endpoint<br />“Worker Role” in Visual Studio<br />Windows Azure hosting project<br />Workers read from cloud storagefor work items + load balancing<br />WORKER ROLE<br />QUEUE STORAGE<br />WORKER ROLE<br />WORKER ROLE<br />WORKER ROLE<br />
  7. 7. Cloud Hosting –Workflow Role<br />Cloud-hosted workflow<br />Workflows created with Workflow Foundation in Visual Studio<br />.NET Service Workflow Project<br />Workflow uploaded andinstances managed usingAzure Portal<br />Workflows can communicate viaweb services or Service Bus<br />Multi-instancing<br />HOSTED WORKFLOW<br />
  8. 8. Cloud Data Patterns<br />Cloud Blob StorageWindows Azure Storage Project - Blob Storage<br />Cloud Queue StorageWindows Azure Storage Project – Queue Storage<br />Cloud Table StorageWindows Azure Storage Project – Table Storage<br />Cloud DatabaseSQL Services – SQL Data Services Database<br />
  9. 9. Cloud Data – Blob Storage<br />Named byte storage<br />Windows Azure storage project<br />Container / Blob Item similarto Folder / File<br />Accessible via REST or .NET code<br />SDK Storage Client samplecontains .NET code<br />Available to on-premise apps + cloud apps<br />BLOB STORAGE<br />
  10. 10. Cloud Data – Queue Storage<br />Queue storage<br />Windows Azure storage project<br />Dequeue/delete with time-out<br />Accessible via REST or .NET code<br />SDK Storage Client samplecontains .NET code<br />Available to on-premise apps + cloud apps<br />QUEUE STORAGE<br />
  11. 11. Cloud Data – Table Storage<br />Data Table storage<br />Windows Azure storage project<br />Table / entities (records)<br />Partition key / primary key model<br />Accessible via REST or .NET code<br />SDK Storage Client samplecontains .NET code<br />Available to on-premise apps + cloud apps<br />TABLE STORAGE<br />
  12. 12. Cloud Data – Database<br />Cloud-hosted SQL Server Database<br />SQL Data Services Project<br />Accessible via REST or .NET code<br />Available to on-premise apps+ cloud apps<br />Future: Not yet available<br />SQL SERVER DATABASE<br />
  13. 13. Cloud Communication & Sync Patterns<br />Load BalancerWindows Azure Hosting Project – Web Roles<br />Service Bus.NET Services – Service Bus<br />Live Mesh DesktopLive Services – Live Mesh Desktop / Live Framework<br />Live Mesh FeedLive services – Live Mesh Feeds / Live Framework<br />
  14. 14. Cloud Communication – Load Balancer<br />Automatically provided to web roles byWindows Azure Hosting Project<br />HTTP endpoint<br />Distribute work to multipleweb roles<br />Web roles can be web sites orweb services<br />LOAD BALANCER<br />WEBROLE<br />WEBROLE<br />WEBROLE<br />
  15. 15. Cloud Communication – Service Bus<br />Multi-party communicationrelayed through the cloud<br />Supports point-to-point andpublish-subscribe communication<br />Senders and receivers canbe enterprise apps or cloud apps<br />Integrates with Access Control Service<br />SERVICE BUS<br />PUBLISHER<br />SUBSCRIBER<br />SUBSCRIBER<br />
  16. 16. Cloud Sync – Live Desktop<br />Synchronizes your ring of computers and devices<br />Synchronizes both data andmesh web applications<br />Can view using Live Desktop<br />Can program against usingLive Framework SDK<br />LIVE MESH<br />HOMECOMPUTER<br />MOBILEDEVICE<br />WORKCOMPUTER<br />
  17. 17. Cloud Sync – Live Feeds<br />Data Feeds SynchronizableAcross Devices<br />Accessible via AtomPub, RSS<br />Can program against usingLive Framework SDK<br />Synchronized with FeedSync<br />LIVE FEEDS<br />HOMECOMPUTER<br />MOBILEDEVICE<br />WORKCOMPUTER<br />
  18. 18. Cloud Security Patterns<br />Authentication ServiceLive Service – Windows Live ID<br />Access Control Service.NET Services – Access Control Service<br />
  19. 19. Cloud Security – Authentication Service <br />Authentication for cloud-hosted web sites<br />Live Services – Windows Live ID<br />Windows Azure Hosting Project<br />Application Live ID registration<br />Cookie-based identity check<br />Redirect to Live ID sign-on<br />Token returned / cookie created<br />LOAD BALANCER<br />WEBROLE<br />(WEB APP)<br />WEBROLE(WEB APP)<br />AUTHENTICATION SERVICE<br />
  20. 20. Cloud Security – Access Control Service <br />Federated Security for cloud-hosted services<br />.NET Services – Access Control Svc<br />Provides configured onAzure Portal<br />Claims mapping<br />Separates identity verificationscheme from application code<br />LOAD BALANCER<br />WEBROLE(SERVICE)<br />WEBROLE<br />(SERVICE)<br />ACCESS CONTROLSERVICE<br />
  21. 21. Cloud Composite Application Patterns<br />Hosted Web Application / with Background WorkersWeb Site front end and Worker Role back end<br />Hosted Web Service / with Background WorkersWeb Service front end and Worker Role back end<br />Hybrid Enterprise-Cloud ApplicationEnterprise application that makes use of cloud services<br />Multi-Enterprise Business Application (MEBA)Cloud-hosted application used by multiple businesses<br />Hosted Grid Computing ApplicationCloud-hosted grid computing application<br />
  22. 22. Hosted Web App<br />ASP.NET Web Site<br />Web roles, load-balanced<br />Hello, Cloud is an example<br />LOAD BALANCER<br />WEBROLE<br />WEBROLE<br />WEBROLE<br />
  23. 23. Hosted Web App with Workers<br />ASP.NET Web Site with background workers<br />Front end – web roles, load-balanced<br />Back end – worker roles<br />Front end and back endcommunicate through storage<br />Front end queues work items<br />Back end executes work items<br />Front end / back end separatelyconfigurable instance counts<br />LOAD BALANCER<br />WEBROLE<br />WEBROLE<br />WORKER ROLE<br />WORKER ROLE<br />WORKER ROLE<br />
  24. 24. Hosted Web Service<br />WCF Web Service with background workers<br />Web roles, load-balanced<br />LOAD BALANCER<br />WEBROLE(SERVICE)<br />WEBROLE(SERVICE)<br />WEBROLE(SERVICE)<br />
  25. 25. Hosted Web Service with Workers<br />WCF Web Service with background workers<br />Front end – web roles, load-balanced<br />Back end – worker roles<br />Front end and back endcommunicate through storage<br />Front end queues work items<br />Back end executes work items<br />Front end / back end separatelyconfigurable instance counts<br />LOAD BALANCER<br />WEBROLE<br />(SERVICE)<br />WEBROLE(SERVICE)<br />WORKER ROLE<br />WORKER ROLE<br />WORKER ROLE<br />
  26. 26. DEMO: MORTGAGE Service<br />CLOUD-HOSTED WEB SERVICE<br />http://azuremortgageservice.codeplex.net<br />
  27. 27. Demo:access cloud service via jquery<br />
  28. 28. How To Create Restful Service in Azure<br />Create Cloud Web Service (Web Worker)<br />Add WCF Service (contract, data contracts, implementation)<br />Decorate service contract with [WebMethod]<br />Decorate service implementation with [AspNetCompatibilityRequirementsMode]<br />Implement the client side calls (use jQuery)<br />
  29. 29. Cloud-Extended Enterprise Application<br />Enterprise-hosted application makes use of cloud services for storage, communication, sync, or security<br />REST or .NET<br />Windows Azure Storage<br />SQL Data Services<br />.NET Services<br />Live Services<br />ENTERPRISE APPLICATION<br />
  30. 30. Multi-Enterprise Business App (MEBA)<br />A cloud-hosted application used by multiple organizations<br />Cloud is a &apos;neutral place&apos;<br />Front end – web siteand/or web services<br />Back end – worker rolesand/or workflow<br />Can leverage any kinds ofcloud storage<br />Can secure via access control service or traditional membership providers<br />Must have acute awareness of roles and permissions of organizations and personnel<br />LOADBALANCER<br />ACCESSCONTROL<br />LOADBALANCER<br />WEB ROLE(WEB SITE)<br />WEB ROLE(WEB SERVICE)<br />CLOUDDATABASE<br />CLOUDSTORAGE<br />WORKER ROLE<br />WORKER ROLE<br />WORKER ROLE<br />WORKER ROLE<br />
  31. 31. Grid Computing Application<br />Worker Roles <br />Front end – web roles, load-balanced<br />Back end – worker roles<br />Front end and back endcommunicate through storage<br />Front end queues work items<br />Back end executes work items<br />Front end / back end separatelyconfigurable instance counts<br />GRID LOADER<br />ON-PREMINPUT DATA<br />TASKQUEUE<br />WORKERROLE<br />WORKERROLE<br />RESULTSQUEUE<br />GRID AGGREGATOR<br />ON-PREMRESULT DATA<br />
  32. 32. DEMO:FRAUD CHECK (GRID COMPUTING)<br />GRID COMPUTING APPLICATION<br />http://azuregrid.codeplex.net<br />
  33. 33. Azure Grid Architecture<br />
  34. 34. Azure Grid Application<br />
  35. 35. RIA Applications in the cloud<br />
  36. 36. ClassicWeb App<br />RIA App<br />
  37. 37. Demo: Silverlight application in azure<br />
  38. 38. Questions?<br />

×