Presentation is loading. Please wait.

Presentation is loading. Please wait.

Bhushan NeneGrzegorz Gogolowicz Principal ArchitectSenior ArchitectMicrosoft Session Code: DEV304.

Similar presentations


Presentation on theme: "Bhushan NeneGrzegorz Gogolowicz Principal ArchitectSenior ArchitectMicrosoft Session Code: DEV304."— Presentation transcript:

1

2 Bhushan NeneGrzegorz Gogolowicz Principal ArchitectSenior ArchitectMicrosoft Session Code: DEV304

3 Canonical LOB Requirements

4 Scenario Imagine your favorite coffee chain interested in rewarding their frequent customers ISV offers Customer Loyalty program as a service in Windows Azure Coffee chain signs up for the program and customizes user experience, business process, and data model Existing on-premise Point-of-Sale system integrates with Customer Loyalty service Coffee chain customers use self service portal to track points & rewards

5 Tenant On-boarding

6 Design: Tenant On-boarding Config Data Tenant Config App Config, Tenant Master … T1, T2 Tenant Data Azure Tables SQL Azure DBs T1, T2 T4, T5 Tenant Admin Portal (ASP.NET Web App) STS (ASP.NET Web App) Identity Mgmt Services (WCF) Identity T1, T2 SAML 11 22 33 44 55 66 77 88

7 Design Considerations & Best Practices Data Storage Choice: Azure Table / SQL Azure Tenant Data Partitioning Azure Table: Per Tenant Table SQL Azure: Per Tenant DB Data Model customization Azure Table: Entity Property SQL Azure: Table Column Claims Aware web application

8 Point-of-Sale User Experience & Transaction Processing

9 Design: Point-of-Sale Transaction Config Data Tenant Config App Config, Tenant Master … T1, T2 Riviera Web Services (WCF) STS (WCF Web Services) Identity T1, T2 SAML Tenant Data Azure Tables SQL Azure DBs T1, T2 T4, T5 11 22 33 44 55 66 77 88 Point-of-Sale (WPF App) Creds Azure Queue Riviera Worker Role EntLib (Caching, Logging) Azure Queue

10 Design Considerations & Best Practices Scalable Async Transaction Processing Scaling on-demand: Management API Enterprise Library Caching: Service Bus to sync distributed cache, Velocity in future Logging Claims aware web services: WCF & WIF Business Process Customization: WF XOML Azure Table design: table partitioning heterogeneous entities, property indexing

11 Design Considerations – Table Partitioning Get All Data for Trent: PartiionKey=1 Get Trent’s Points: PartitionKey=1 && RowKey=K2 Get Trent’s Rewards: PartitionKey=1 && (RowKey > K3 && RowKey < K4) Querying Heterogeneous Entities

12 Self Service Portal

13 Design: Self Service Portal Tenant Data Azure Tables & BLOBs SQL Azure DBs Config Data T1, T2, T3 T4, T5, T6 Tenant Config T1, T2, T3 Member SelfService Portal Loyalty Member Loyalty Membership Services (WCF) ASP.NET Web App SelfService App Custom fields Dynamic data binding Themes Custom XAML Custom XAP XAP 11 33 44 22 55 66 77

14 Design Considerations & Best Practices Deep UI customization beyond meta-data driven layout Custom code in the Cloud? Custom code in Silverlight and browser sandbox Themes, Icons Custom Property Binding Loose XAML Custom XAP: HTTP handler, Azure Blob storage

15 Design Considerations & Best Practices Custom domain name Web services security Windows Live ID Authentication And Beyond: Messenger API, Live Mesh (future) Huron: Data Hub in the Cloud E.g. Sync member data to on-premise DB for mass mailing

16

17 www.microsoft.com/teched Sessions On-Demand & Community http://microsoft.com/technet Resources for IT Professionals http://microsoft.com/msdn Resources for Developers www.microsoft.com/learning Microsoft Certification & Training Resources Resources Required Slide Speakers, TechEd 2009 is not producing a DVD. Please announce that attendees can access session recordings at TechEd Online. Required Slide Speakers, TechEd 2009 is not producing a DVD. Please announce that attendees can access session recordings at TechEd Online.

18 Related Content Breakout Sessions ARC201 - 11/09/2009 09:00-10:15 [David Chappell] The Windows Azure Platform: When And Why To Use It ARC201 - 11/09/2009 09:00-10:15 [David Chappell] The Windows Azure Platform: When And Why To Use It SVR202 - 11/10/2009 09:00-10:15 [Jan Schenk] Windows Azure Flight Tour – Looking At The Clouds From Above SVR202 - 11/10/2009 09:00-10:15 [Jan Schenk] Windows Azure Flight Tour – Looking At The Clouds From Above INT305 - 11/10/2009 13:30-14:45 [Kurt Claeys] Code Walkthrough of a Cloud Application Running on the Windows Azure Platform INT305 - 11/10/2009 13:30-14:45 [Kurt Claeys] Code Walkthrough of a Cloud Application Running on the Windows Azure Platform DAT303 - 11/11/2009 13:30-14:45 [David Robinson] Building Applications with Microsoft SQL Azure and Windows Azure DAT303 - 11/11/2009 13:30-14:45 [David Robinson] Building Applications with Microsoft SQL Azure and Windows Azure

19 Complete an evaluation on CommNet and enter to win an Xbox 360 Elite!

20 © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. Required Slide


Download ppt "Bhushan NeneGrzegorz Gogolowicz Principal ArchitectSenior ArchitectMicrosoft Session Code: DEV304."

Similar presentations


Ads by Google