Last week at PDC 2008, Jamie Cool demonstrated some very cool work under progress at Microsoft, to deliver a first class development experience for people looking forward to build Business Applications on top of Silverlight.

If you started working on business apps, you miss several capabilities with the current version of Silverlight : see yellow boxes below. This slides comes from Jamie Cool talk available on channel 9.

image

The availability of Jamie's framework has not been disclosed. If you cannot wait for those bits, have a look at CSLA.Net for Silverlight and here also. CSLA is already available. I did not have the opportunity to play with it yet.

A DPE Team from Switzerland wrote this synthesis of Jamie’s talk :

What this framework will give you are:

- “Shared Business Entities” between tiers that enable client side change tracking (using DiffGrams). Enabling optimistic locking multi records CRUD operations. Validation is also given thanks that the “Entities” can have attributes like [Range(0,100)] for end to end across tiers validation. You can also have a server side method for validation that gets triggered on update for example. All this can run on top of LINQ to SQL, the Entity Framework or even your custom DAL.

- A DataSource control is also provided and it can manage round trip to the server for efficient data paging, filtering and sorting. Basically it uses the IQuerable interface to filter, apply skip/take and order by on the server and the data round trip .

- Wrapper around the Authentication & Membership provider of ASP.NET are also provided. Including SL controls that enable you, with 2 line of code, to add Login functionality directly in Silverlight. It is also populating the Principal object in SL with the authenticated User, making it easier to use the identity in your UI tier. Last but not least you can decorate your server side “Entity” with permissions attributes to enable role base security on top of your “Entity” and CRUD operations.

- Page Navigation model including browser history integration. This make very easy to write multi forms application in SL. It plugs-in to the browser history, enabling user to navigate through the forms with the forward and backwards buttons, without reloading the SL application. It also enable the user to copy and paste around a Url, that will bring the user right back to the right form.

- Additional controls like form control to make even more productive data driven app development will be also provided.