LitwareHR Smart Client beta released!

Update: I just posted the release bits with minor things adjusted.

The first release of LitwareHR Smart Client is available for download from CodePlex here. We are calling it a "beta" because there are still a few things we are working on, but I believe you will find the sample useful and usable.

The simplest way of trying it out is to install LitwareHR-SC in a machine with LitwareHR services in it, together with the prerequisites. The only platform component needed is SQL Compact Edition, used for local persistence of service requests and data while working disconnected from the network; a key value proposition of this type of client for LitwareHR services.

In its current form, LitwareHR-SC implements the following use cases:

  • Opening new positions
  • Browsing existing open positions

The following features are demonstrated:

  • Tenant branding. This is achieved by downloading the tenant logo used in the Web app and customized through the private site.
  • Network awareness.  LitwareHR-SC gracefully handles network unavailability by caching new requests and synchronizing data when connectivity becomes available again. The underlying technology used for "in-transit" transactions (new "Opened Positions") is the "Disconnected Service Agent and Connection Monitor Application Blocks" published in the Microsoft Smart Client Software Factory.
  • Tenant customization. Entities and views definitions, extended and customized by a tenant using the private web site are all replicated to the client storage and used for dynamically constructing the UI.
  • Rich visualization of information. The "Browse Open Positions" use case uses a WPF based control for exploring the information, with rich animations.
  • Use of LitwareHR Functional and Non-Functional On-Line Services. LitwareHR services were *not* modified for this project. The metadata APIs are heavily used for entity definitions and customization options. 
  • Composability. LitwareHR-SC ships with a default shell, but because it is implemented as a CAB module, it can certainly be placed and activated in other containers: other winforms apps, Office apps, etc. Most of the "business services" contained in the module can be consumed from a custom UI (either by direct referencing or through the CAB Events).

We are still doing some final tests and tweaking the architecture here and there. We will likely include a couple of new features for the final release. As usual, any feedback is greatly welcome!

Prerequisites:

LitwareHR-SC uses CAB, SCSF Libraries and Enterprise Library. The easiest way of making sure you have everything required is by either running the "SCSF Dependency Checker tool" which is available here.

GAX & GAT are only required if you plan to extend the sample and use the SCSF Guidance Packages. Otherwise, just SQL CE, CAB and Enterprise Library is what you need.

Install and running:

Download the ZIP file from the CodePlex site here, extract files in a working folder and copy dependent assemblies to the "Lib" folder (we've included a readme.txt file with the complete list of dependencies). Open the solution in Visual Studio, compile and run. (Notice that you might need to refresh some project references).

My next posts will be on LitwareHR-SC architecture and notable details.

As said, any feedback is greatly appreciated. 

Technorati tags: SaaS, S+S, Smart Client, WPF