150 likes | 309 Views
LitwareHR Overview. Eric Nelson Microsoft. Sample Application. Microsoft has developed a sample application - LitwareHR Addressing all the major architectural challenges of a SaaS application for the „Long Tail“ Available for download on MSDN
E N D
LitwareHR Overview Eric Nelson Microsoft
Sample Application • Microsoft has developed a sample application - LitwareHR • Addressing all the major architectural challenges of a SaaS application for the „Long Tail“ • Available for download on MSDN • http://msdn.microsoft.com/architecture/saas/sampleApp
Litware HR: A Sample SaaS App Retail Shoe Chain Music School Contoso Customizations: UI: “Contoso Orange” L&F Data: New “Job Level” Field Workflow: Recruitementbased on Job Level Internet Web Interface Web APIs Web Interface Public site Private site Unauthenticated access Search & Apply for jobs Authenticated access Configuration & Post jobs Operational Platform “Internal” SaaS Hosting Platform Provisioning (try before buy) Billing (not implemented) HR App (Recruitment) Single Instance Multi Tenant
LitwareHR demo • Act 1: Tenant Sign Up and Provisioning
Tenant Provisioning Behind the Scene Tenant Provisioning Service Provisioning Process Workflow SQL Database IIS ADAM
LitwareHR demo • Act 2: Configuring Application
Meta Data Driven Architecture Application Configuration and Designer Tools User Interface Workflow and Rules Entity Model Runtime Meta Data Service Tenant Profile and Configuration Data
Configurability Technical Considerations: Security Buffer overruns, insertion attacks, elevation of privileges, cross site scripting etc. Fairness Memory and CPU usage Halt Infinite or long processing loops, bounded end states Simpler Implementation and Application Management High Fidelity User Experience One Size Fits All Fully Configurable
Templatized Configuration Design Time Runtime Policies Designer Policy Enforcement Engine Runtime Policy Enforcement Engine Security, Fairness and Halting Policies Metadata Standard Customers Runtime Metadata Runtime Metadata Premium Customers Runtime Metadata Application Instance Trusted Partners Templatized Designers
Data Model Configuration 2. Extensible Data Model 3. Multi-tenant Data Store Entity 1 1. Tenant Configurable Data View View Extension Extension name-value pair Entity 2 Extension meta data Extension
Multi-Tenant Efficiency Technical Considerations: Security and privacy Need mechanism to prevent unauthorized access of data in a shared environment. Fairness and reasonable resource allocation No starving tenant Side effects of shared on configurability and scalability: Harder to scale business logic embedded in data tier Lower Long Term Operation Cost Simpler Implementation Isolated Shared
Summary • LitwareHR is a good starting point • But... plenty “left to the reader”
“Multi-Tenancy Rocks – it sounds just awesome! Cripes – lets even share the same row!”
“Multi-Tenancy Rocks – it sounds just awesome! Cripes – lets even share the same row!”