The latest architecture guidance for building Software+Services applications (consuming and running S+S applications will be part of further guidance) has been released!
This release extends LitwareHR, the reference S+S application, and provide guidance on the full spectrum of S+S (Client, Server, Service) as shown in the picture below:
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).
Architecture Challenges Demonstrated
· Designing a “back-end as a service”:
o Multi-tenancy vs. Isolation
o Application customization: metadata driven application for tenant extensions at the UI, business logic and data access layers.
o Performance and scalability of extensible, multi-tenant applications.
o Service Layer design: functional web services and meta-data web services to enable different consumption experiences (multi-head application)
o Claims based authorization
o Tenant resource provisioning
· Designing “front ends” for SaaS applications:
o Designing extensible web clients
o Smart Client with tenant customization, offline operations, claims based authorization and integration with local resources (Desktop search)
· Taking advantage of “Cloud Services”:
o Integration with Silverlight streaming from the UI (Web and Smart Client) and services layer (programmatic access).
· Performance assessment of database extensibility methods
o Using XML data types vs. fixed columns vs. extension tables with different loads, concurrent users and usage patterns (select vs. update vs. insert)
Release highlights
· LitwareHR enhancements highlights:
1. 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.
2. 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.
3. Services Enhancements. Created new services leveraging Windows Communication Foundation 3.5 features to enable RSS & REST interfaces.
4. Silverlight Streaming mash-up. Augmented LitwareHR services with Silverlight Streaming Services. Demonstrated in the “Submit Video Resume” feature.
5. Smart Client Application. Updated the original WPF based Smart Client showing consumption of LitwareHR functional and meta-data services even with offline support
6. Vista Gadget. Extended LitwareHR UX a Vista Gadgets consuming REST interfaces.
7. Improved guidance deployment. Moved from the old document + readme + bunch of scripts approach to a 100% automated one, including dependencies checking and configuration.
· Multi-tenant Database Performance Guide:
1. Database extensibility patterns comparison: performance test results for common database extension methods: XML data types vs. Fixed columns vs. Extension tables.
2. 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.


