The latest architecture for building S+S application has been released. This release extends LitwareHR, our reference S+S application and provides guidance on the full spectrum of client, server, and service. This release has been named Litware V2, a multitenant sample application.
Based on frequent requests, also included in the release is a new Multi-Tenant Database Performance Guide, which provides tests results and guidance to compare the performance and scalability of different extensibility patterns in multi-tenant SQL 2005 databases (extension tables vs. XML data types vs. fixed columns).
You can download the release including bits and documentation from Codeplex at http://www.codeplex.com/LitwareHR/Release/ProjectReleases.aspx?ReleaseId=8439
Guidance regarding consuming and running S+S application will be part of a future release.
Architecture Challenges Demonstrated
Designing a “back-end as a service”:
- Multi-tenancy vs. Isolation
- Application customization: metadata driven application for tenant extensions at the UI, business logic and data access layers.
- Performance and scalability of extensible, multi-tenant applications.
- Service Layer design: functional web services and meta-data web services to enable different consumption experiences (multi-head application).
- Claims based authorization
- Tenant resource provisioning
Designing “front ends” for SaaS applications:
- Designing extensible web clients.
- Smart Client with tenant customization, offline operations, claims based authorization and integration with local resources (Desktop search)
Taking advantage of “Cloud Services”:
- Using XML data types vs. fixed columns vs. extension tables with different loads, concurrent users and usage patterns (select vs. update vs. insert).
Platform upgrade. Updated LitwareHR v2.0 to run on Windows Sever 2008 and Microsoft Visual Studio 2008 (Beta 2). This included leveraging new technologies like Active Directory Lightweight Directory Services (ADSLDS), new management APIs and IIS7.
Data access performance improvement. Based on the results of the Multi-Tenant Database Performance test (see below) updated LitwareHR data access code and tables design.
Services Enhancements. Created new services leveraging Windows Communication Foundation 3.5 features to enable RSS & REST interfaces.
Silverlight Streaming mash-up. Augmented LitwareHR services with Silverlight Streaming Services. Demonstrated in the “Submit Video Resume” feature.
Smart Client Application. Updated the original WPF based Smart Client showing consumption of LitwareHR functional and meta-data services even with offline support.
Vista Gadget. Extended LitwareHR UX a Vista Gadgets consuming REST interfaces.
Improved guidance deployment. Moved from the old document + readme + bunch of scripts approach to a 100% automated one, including dependencies checking and configuration.
Database extensibility patterns comparison: performance test results for common database extension methods: XML data types vs. Fixed columns vs. Extension tables.
Test Tools, Scripts and Documentation. In addition to the results of our own testing, we are shipping the tools, scripts and instructions for anybody to repro this tests in their own environments and conditions.