Recent posts

First drop of samples from scalable apps tour

First drop of samples from scalable apps tour.

Here are the samples that we ran (for the purpose of illustrating some points, not really to drill into these specific implementations) at the events in the past two weeks. These are not demos that illustrate scalability per-se. We couldn't carry enough laptops with us to illustrate scalability for real. These demos deal with transactions, layers and performance tuning. (Reminder: Performance has little to do with throughput -- think...

[Read more]

Don asks about mixing data and code

Don asks what I think about mixing code and data "at storage" inside a database. I simply call that a "data service". I'll give you the long answer:

The "layers and tiers" story that we presented at our tour is very simple. Everything you can talk to has layers: a public interface, an internal implementation and services and resource access hidden inside the internal implementation. It starts as simple as this:

[Read more]


DataSets are a programming model

Roy Osherove writes about typed DataSets and appropriate use. I would take it even a bit further.

If you look at them closely, DataSets are nothing more than a relational programming model for the XML Infoset. The DOM is a hierarchical programming model for the Infoset. XML Serialization is an object-typed programming model for the Infoset. Typed DataSets is a schema-bound programming model for Infoset and with that its really a relational programming model to PSVI. Still, it's...

[Read more]

A simple in memory cache for “business data”.

A simple in memory cache for "business data"

Here is a little project demonstrating a little in-memory data cache using DataSets and serviced components. The demo illustrates how to deal with near data in a smarter way than by just walking up to SQL Server all the time. My "Layers and Tiers" slide deck of the recent tour makes the point that it's a good idea to delegate data access to services which are aware of the temporal...

[Read more]