Deep Dive into Developing LineofBusiness Applications running in


Deep Dive into Developing Line-of-Business Applications running in the Cloud Bhushan Nene Grzegorz Gogolowicz Principal Architect Senior Architect Microsoft Session Code: DEV 304

Canonical LOB Requirements • On Demand Tenant Provisioning • Data Partitioning for Tenant Isolation • Metering • Federation • SSO • Live ID • User Experience (Full UI customization) • Business Logic • Data Model Multi-Tenancy Customization & Extensibility Claims-based Security Scalable Architecture • On-demand scalability: Data, Transaction Processing, Batch, Front End • Targets SMB to Enterprise

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

demo Tenant On-boarding

Design: Tenant On-boarding Config Data 8 SAML 5 (ASP. NET Web App) 3 4 6 7 2 T 1, T 2 1 Tenant Admin Portal App Config, Tenant Config Tenant Master … Tenant Data SAML Azure Tables STS Identity T 1, T 2 (ASP. NET Web App) Identity Mgmt Services (WCF) SQL Azure DBs T 4, T 5 T 1, T 2

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

demo Point-of-Sale User Experience & Transaction Processing

Design: Point-of-Sale Transaction Point-of-Sale 3 Riviera Web Services (WPF App) SAML 1 2 (WCF) 4 Creds Riviera Worker Role Azure Queue 5 6 8 SAML 7 Ent. Lib (Caching, Logging) STS Config Data SQL Azure DBs T 1, T 2 Identity Azure Tables Tenant Data T 4, T 5 (WCF Web Services) App Config, Tenant Config Tenant Master …

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 Querying Heterogeneous Entities • Get All Data for Trent: Partiion. Key=1 • Get Trent’s Points: Partition. Key=1 && Row. Key=K 2 • Get Trent’s Rewards: Partition. Key=1 && (Row. Key > K 3 && Row. Key < K 4)

demo Self Service Portal

Design: Self Service Portal 1 ASP. NET Web App Tenant Config 2 T 1, T 2, T 3 Loyalty Member Self. Service Portal Loyalty Membership Services (WCF) 7 5 6 XAP 4 SQL Azure DBs T 4, T 5, T 6 Custom fields Dynamic data binding Themes Custom XAML Custom XAP 3 Tenant Data Azure Tables & BLOBs T 1, T 2, T 3 Self. Service App Config Data

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

question & answer

Resources www. microsoft. com/teched www. microsoft. com/learning Sessions On-Demand & Community Microsoft Certification & Training Resources http: //microsoft. com/technet http: //microsoft. com/msdn Resources for IT Professionals Resources for Developers

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

Complete an evaluation on Comm. Net and enter to win an Xbox 360 Elite!

© 2009 Microsoft Corporation. All rights reserved. Microsoft, 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.
- Slides: 20