<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Gianpaolo's blog : SaaS S+S</title><link>http://blogs.msdn.com/gianpaolo/archive/tags/SaaS+S_2B00_S/default.aspx</link><description>Tags: SaaS S+S</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>LitwareHR v2: from SaaS to S+S</title><link>http://blogs.msdn.com/gianpaolo/archive/2007/11/21/litwarehr-v2-from-saas-to-s-s.aspx</link><pubDate>Thu, 22 Nov 2007 05:36:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6462950</guid><dc:creator>gianpaolo</dc:creator><slash:comments>18</slash:comments><comments>http://blogs.msdn.com/gianpaolo/comments/6462950.aspx</comments><wfw:commentRss>http://blogs.msdn.com/gianpaolo/commentrss.aspx?PostID=6462950</wfw:commentRss><description>&lt;p&gt;Unless you have been abducted by aliens a few months ago and just returned to earth&amp;nbsp;I am pretty sure&amp;nbsp;you have heard of Software + Services or S+S (if you have been abducted and just returned, hence not heard about S+S,&amp;nbsp;I suppose you have bigger issues to deal with than knowing what S+S is&amp;nbsp;right now...). Anyway, for people not abducted by aliens and therefore looking for S+S guidance, I&amp;nbsp;am pleased to announce &lt;strong&gt;LitwareHR v2.&lt;/strong&gt; &lt;/p&gt; &lt;p&gt;&lt;a href="http://www.codeplex.com/LitwareHR/Release/ProjectReleases.aspx"&gt;This release&lt;/a&gt; extends LitwareHR, the reference SaaS application we &lt;a href="http://blogs.msdn.com/gianpaolo/archive/2007/02/08/saas-sample-application-finally-here.aspx"&gt;released a few months back&lt;/a&gt;, and provides guidance on building S+S solutions taking advantage of the full spectrum of what S+S offers (Client, Server and&amp;nbsp;Services) as shown in the picture below: &lt;/p&gt; &lt;p&gt;&lt;img height="269" alt="blog1" src="http://files.skyscrapr.net/users/gianpaolo/blogpics/LitwareHRV2fromSaaStoSS_F74F/blog1.png" width="400"&gt;  &lt;p&gt;In a S+S world, solutions are not either pure SaaS (a.k.a. "in the cloud")&amp;nbsp;or&amp;nbsp;fully "on premise", rather they are a combination of local software and Internet services interacting with one another: local software making “cloud” services better and cloud services making local software better.  &lt;p&gt;From a guidance perspective, LitwareHR v2, takes all the foundation we built around multi-tenant / try before you buy / meta data driven "online services" released in v1 and augments it with:  &lt;p&gt;-&amp;nbsp;a rich client WPF based front end showing guidance in disconnected/offline scenarios as well as allowing "power users" to tap into rich visualization and local resources  &lt;p&gt;- a "cloud service", in this case Silverlight Streaming&amp;nbsp;by Windows Live&amp;nbsp;handling video resumes posted by applicants  &lt;p&gt;As usual, we focused much more on the HOW than completeness of features; another way of saying this is that LitwareHR v2 is meant to be deep architecture guidance not a fully features HR solution.  &lt;p&gt;Based on frequent requests, also included in the release is a new &lt;b&gt;Multi-Tenant Database Performance Guide&lt;/b&gt;, 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). Some screen shots to give you an idea of what you will get below:  &lt;p&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="240" alt="blog2" src="http://files.skyscrapr.net/users/gianpaolo/blogpics/LitwareHRV2fromSaaStoSS_F74F/blog2.png" width="400" border="0"&gt;  &lt;p&gt;&lt;b&gt;Next step&lt;/b&gt;: download the release (bits and documentation) here: &lt;a href="http://www.codeplex.com/LitwareHR/Release/ProjectReleases.aspx"&gt;http://www.codeplex.com/LitwareHR/Release/ProjectReleases.aspx&lt;/a&gt; . There you will find both LitwareHR v2 and the performance guide. &lt;p&gt;&amp;nbsp; &lt;p&gt;FYI: the code is released under the permissive license so read the license (or have it read by your lawyer) but the license (as its name indicates) is very permissive; we expect to see a lot of people being "inspired" (copy/paste?) by it.  &lt;p&gt;Feedback, comments, questions as usual very welcome. And make sure to check out &lt;a href="http://blogs.msdn.com/eugeniop"&gt;Eugenio's blog&lt;/a&gt; I am sure he&amp;nbsp;will publish some additional info soon. &lt;h4&gt;Enjoy!!&lt;/h4&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;P.S.&lt;/p&gt; &lt;p&gt;For those interested in bit more info before going to &lt;a href="http://www.codeplex.com/LitwareHR/Release/ProjectReleases.aspx"&gt;codeplex&lt;/a&gt; and downloading the bits, below some more info about the release. &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h4&gt;Architecture Challenges Demonstrated&lt;/h4&gt; &lt;p&gt;· Designing a “back-end as a service”:  &lt;blockquote&gt; &lt;p&gt;o Multi-tenancy&amp;nbsp;  &lt;p&gt;o Application customization: metadata driven application for tenant extensions at the UI, business logic and data access layers.  &lt;p&gt;o Performance and scalability of extensible, multi-tenant applications.  &lt;p&gt;o Service Layer design: functional web services and meta-data web services to enable different consumption experiences (&lt;i&gt;multi-head&lt;/i&gt; application)  &lt;p&gt;o Claims based authorization  &lt;p&gt;o Tenant resource provisioning &lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;· Designing “front ends” for SaaS applications:  &lt;blockquote&gt; &lt;p&gt;o Designing extensible web clients  &lt;p&gt;o Smart Client with tenant customization, offline operations, claims based authorization and integration with local resources (Desktop search) &lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;· Taking advantage of “Cloud Services”:  &lt;blockquote&gt; &lt;p&gt;o Integration with Silverlight streaming from the UI (Web and Smart Client) and services layer (programmatic access).  &lt;p&gt;· Performance assessment of database extensibility methods  &lt;p&gt;o Using XML data types vs. fixed columns vs. extension tables with different loads, concurrent users and usage patterns (select vs. update vs. insert) &lt;/p&gt;&lt;/blockquote&gt; &lt;h4&gt;Some Release highlights&lt;/h4&gt; &lt;p&gt;· &lt;b&gt;LitwareHR enhancements highlights:&lt;/b&gt;  &lt;p&gt;1. &lt;b&gt;Platform upgrade&lt;/b&gt;. Updated LitwareHR v2.0 to run on &lt;i&gt;Windows Sever 2008&lt;/i&gt; and &lt;i&gt;Microsoft Visual Studio 2008 (Beta 2)&lt;/i&gt;. This included leveraging new technologies like &lt;i&gt;Active Directory Lightweight Directory Services (ADSLDS)&lt;/i&gt;, new management APIs and IIS7.&lt;b&gt;&lt;/b&gt;  &lt;p&gt;2. &lt;b&gt;Data access performance improvement&lt;/b&gt;. Based on the results of the Multi-Tenant Database Performance test (see below) updated LitwareHR data access code and tables design.&lt;b&gt;&lt;/b&gt;  &lt;p&gt;3. &lt;b&gt;Services Enhancements. &lt;/b&gt;Created new services leveraging Windows Communication Foundation 3.5 features to enable RSS &amp;amp; REST interfaces.&lt;b&gt;&lt;/b&gt;  &lt;p&gt;4. &lt;b&gt;Silverlight Streaming mash-up. &lt;/b&gt;&amp;nbsp;Augmented LitwareHR services with Silverlight Streaming Services. Demonstrated in the “Submit Video Resume” feature.&lt;b&gt; &lt;/b&gt; &lt;p&gt;5. &lt;b&gt;Smart Client Application. &lt;/b&gt;Updated the original WPF based Smart Client showing consumption of LitwareHR functional and meta-data services even with offline support  &lt;p&gt;6. &lt;b&gt;Vista Gadget.&lt;/b&gt; Extended LitwareHR UX a Vista Gadgets consuming REST interfaces.  &lt;p&gt;7. &lt;b&gt;Improved guidance deployment. &lt;/b&gt;Moved from th&lt;i&gt;e &lt;/i&gt;old&lt;i&gt; document &amp;nbsp;+ readme + bunch of scripts&lt;/i&gt; approach to a 100% automated one, including dependencies checking and configuration.  &lt;p&gt;&lt;b&gt;&lt;/b&gt; &lt;p&gt;&amp;nbsp;  &lt;p&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="480" alt="blog3" src="http://files.skyscrapr.net/users/gianpaolo/blogpics/LitwareHRV2fromSaaStoSS_F74F/blog3.png" width="514" border="0"&gt;  &lt;p&gt;&amp;nbsp;  &lt;p&gt;&lt;b&gt;&lt;/b&gt; &lt;p&gt;&lt;b&gt;&lt;/b&gt; &lt;p&gt;· &lt;b&gt;Multi-tenant Database Performance Guide:&lt;/b&gt;  &lt;p&gt;1. &lt;b&gt;Database extensibility patterns comparison&lt;/b&gt;: performance test results for common database extension methods: XML data types vs. Fixed columns vs. Extension tables.  &lt;p&gt;2. &lt;b&gt;Test Tools, Scripts and Documentation&lt;/b&gt;. 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.  &lt;p&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="345" alt="blog4" src="http://files.skyscrapr.net/users/gianpaolo/blogpics/LitwareHRV2fromSaaStoSS_F74F/blog4.png" width="400" border="0"&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6462950" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/gianpaolo/archive/tags/SaaS+S_2B00_S/default.aspx">SaaS S+S</category></item></channel></rss>