LitwareHR Overview Eric Nelson Microsoft. Sample Application Microsoft has developed a sample...

Post on 03-Jan-2016

213 views 0 download

Tags:

Transcript of LitwareHR Overview Eric Nelson Microsoft. Sample Application Microsoft has developed a sample...

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

Contoso Customizations:UI: “Contoso Orange” L&F Data: New “Job Level” FieldWorkflow: Recruitement based on Job Level

HR App (Recruitment)Single Instance Multi Tenant

Authenticated accessConfiguration & Post jobs

Private site

Web Interface

Unauthenticated accessSearch & Apply for jobs

Web APIs

Public site

Web Interface

Internet

Internet

Music SchoolRetail Shoe Chain

Operational Platform

“Internal” SaaS Hosting PlatformProvisioning (try before buy)

Billing (not implemented)

LitwareHR

• Act 1: Tenant Sign Up and Provisioning

TenantProvisioning

Service

TenantProvisioning

Service

ADAMADAM

SQL Database

SQL Database IISIIS

Provisioning Process Workflow

LitwareHR

• Act 2: Configuring Application

Tenant Profile Tenant Profile and and

Configuration DataConfiguration Data

Meta Data ServiceMeta Data Service

Entity ModelEntity Model

Workflow and RulesWorkflow and Rules

User InterfaceUser Interface

Application Configuration and Designer Tools

Runtime

Technical Considerations:Security

Buffer overruns, insertion attacks, elevation of privileges, cross site scripting etc.

FairnessMemory and CPU usage

HaltInfinite or long processing loops, bounded end states

One Size Fits All Fully Configurable

High Fidelity User Experience

Simpler Implementation and Application Management

Templatized Designers

Trusted Partners

Premium Customers

Standard Customers Runtime

Metadata

Runtime Metadata

Runtime Metadata

Policies

Security, Fairness

and Halting Policies

Runtime Policy Enforcement

Engine

Design Time Runtime

Application Instance

Metadata

Designer Policy

Enforcement Engine

View

Entity 1

Entity 2

Extension

Tenant ID … Row ID

123 … …

456 … …

Extension ID

Name Data Type

999 Location Short Text

888 JobLevel Number

3. Multi-tenant Data Store

Extension name-value pair

Extension

Row ID Value Extension ID

ABC … 999

DEF … 888

2. Extensible Data Model

1. Tenant Configurable

Data View

Extension meta data

Technical Considerations:Security and privacy

Need mechanism to prevent unauthorized access of data in a shared environment.

Fairness and reasonable resource allocationNo starving tenant

Side effects of shared on configurability and scalability:

Harder to scale business logic embedded in data tier

IsolatedIsolated SharedShared

Lower Long Term Operation Cost

Simpler Implementation

Summary

• LitwareHR is a good starting point

• But... plenty “left to the reader”