On Wednesday, November 7th, I presented "Data on the Inside versus Data on the Outside" at TechEd. While this talk is now over two years old, it is still one of my favorites in spite of the fact that I have crammed too many slides into the session (80 slides into a 75 minute talk). It was a lot of work to finish on time but I think the content was clear and people seemed to like it.
I sure did miss presenting and had a blast at TechEd!!!
Recently, a lot of interest has been shown in SOA (Service Oriented Architectures). In these systems, there are multiple services each with its own code and data, and ability to operate independently of its partners. In particular, atomic transactions with two-phase commit do not occur across multiple services because this necessitates holding locks while another service decides the outcome of the transaction. This talk proposes there are a number of seminal differences between data inside a service and data sent into the space outside of the service boundary. The act of unlocking data as a copy of it is sent in the message means the interpretation of the received message must include the understanding that this data in unlocked. This changes how the data can be used.
We then consider objects, SQL, and XML as different representations of data. Each of these models has strengths and weaknesses when applied to the inside and outside of the service boundary. The talk concludes that the strength of each of these models in one area is derived from essential characteristics underlying its weakness in the other area.