Bhushan NeneGrzegorz Gogolowicz Principal ArchitectSenior ArchitectMicrosoft Session Code: DEV304
Canonical LOB Requirements
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
Tenant On-boarding
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
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
Point-of-Sale User Experience & Transaction Processing
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, T Point-of-Sale (WPF App) Creds Azure Queue Riviera Worker Role EntLib (Caching, Logging) Azure Queue
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
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
Self Service Portal
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
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
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
Sessions On-Demand & Community Resources for IT Professionals Resources for Developers 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.
Related Content Breakout Sessions ARC /09/ :00-10:15 [David Chappell] The Windows Azure Platform: When And Why To Use It ARC /09/ :00-10:15 [David Chappell] The Windows Azure Platform: When And Why To Use It SVR /10/ :00-10:15 [Jan Schenk] Windows Azure Flight Tour – Looking At The Clouds From Above SVR /10/ :00-10:15 [Jan Schenk] Windows Azure Flight Tour – Looking At The Clouds From Above INT /10/ :30-14:45 [Kurt Claeys] Code Walkthrough of a Cloud Application Running on the Windows Azure Platform INT /10/ :30-14:45 [Kurt Claeys] Code Walkthrough of a Cloud Application Running on the Windows Azure Platform DAT /11/ :30-14:45 [David Robinson] Building Applications with Microsoft SQL Azure and Windows Azure DAT /11/ :30-14:45 [David Robinson] Building Applications with Microsoft SQL Azure and Windows Azure
Complete an evaluation on CommNet and enter to win an Xbox 360 Elite!
© 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