Architecting Cloud Applications for the Enterprise – Part I – Introducing the Actors

I will start this series by introducing the main characters of our scenario. First, we have VeryBigCorp. VBC is a large corporation, with multiple branches and subsidiaries, thousands of employees, etc. VBC is the typical organization with a rather complex business environment: multiple business units, complex rules, regulations, etc.   VBC IT department is a reflection…

7

Concurrency in SSDS

A common concern with SSDS, and a common question I get in many presentations I’ve given is how to handle concurrency and entity versioning. Suppose you have the following sequence of events:   By default, SSDS will just accept the last Update and overwrite any changes made in between. If you want SSDS to be…

4

LitwareHR and GeoRSS

Some time ago, I did some experiments with Virtual Earth control and its features. I especially liked the GeoRSS integration because it allowed very simple, straightforward, non-astronauts like me to do some very nice mashups. WCF support for creating RSS feeds is great, but at that time I wanted an even higher level abstraction to…

3

Another SSDS sample: BlogEngine.NET on SSDS

As a by-product of a project I’m working on, I’ve got a working version of BlogEngine.NET on SSDS. You can download the provider and other related components from LitwareHR’s web site releases section here. In the package you will find: The SSDS based BlogProvider An SSDS based Membership & Role Providers for the web site…

22

You don’t have a beta account with SSDS, but you’d like to use the latest LitwareHR anyway

Well, too bad…No, seriously now, as I mentioned in a previous post, we developed a "mock" (but fully functional for LitwareHR’s purposes) offline SSDS proxy to enable development independently from the live SSDS service. The offline proxy is included in LitwareHR latest release, but by default, online SSDS is configured. The offline database is also…

1

LitwareHR on SSDS available for download

The latest version of LitwareHR is now available for download here. From our CodePlex site: This new enhanced version of LitwareHR includes the following new features: Upgraded codebase for SQL Server Data Services support New "DataModel" New infrastructure for data access to SSDS (including caching, cross-container search, offline development, etc.) New UX Better graphics and…

4

Paging in SSDS & Parallel Queries

Tim Jarvis raised a good point in my post on cross-container queries which is: how to handle paging? SSDS currently supports a very simple paging pattern that uses the entityId. By design, the first 500 entities will be returned, but the entities will be returned in entityId order. So, you can get the next 500…

1

End to end demo of LitwareHR on SSDS

Here’s an end-to-end demo of LitwareHR using SSDS. The total demo lasts about 11 min and you will see: Tenant Provisioning and customization (takes the first 5 min approximately). I show the initial tenant provisioning (creation of a new tenant in LitwareHR, initial configuration, etc) and then a basic customization (e.g. look & feel, position…

2

LitwareHR on SSDS – Part VI – Unit of Work support

For years now, we have been using transactions in our systems. Years ago, there’s been a democratization of the more complex concepts underlying transaction management and we’ve been quite happy. On the Microsoft side there’s been technologies like: MTS, COM+, Enterprise Services, DTC and of course SQL Server; all of them providing great abstractions for…

3

More on parallel queries across containers in SSDS

Our current implementation of cross-Container queries follows a very common pattern and roughly looks like this (no exception handling shown for simplicity): public List<T> CrossContainerSearch( string[] containerIds, string query, SearchDelegate searchDelegate ) { Event[] events = new Event[ containerIds.Count() ]; Results<T> results = new Results<T>(); for( int x = 0; x< containerIds.Count(); x++ ) {…

3