Friday, August 03, 2012

Reference Models, Reference Architectures and Reference Implemementations

I recently stumbled across a blog entry by J.D.Meier on the difference between Reference Models, Reference Architectures and Reference Implementations.  The difference between the first two was something that has never been entirely clear to me, so I found the post very useful.  

After reading this, my interpretation now, if I've understood it correctly, is that a Reference Model is a model of something that can be referred to for various purposes, such as when creating reference, or otherwise, architectures.  I think the SaaS/PaaS/IaaS Reference Model is the best illustration of this.  I suppose a glossary could, in a sense, be deemed a reference model.  I suppose you could call it a model of reference material.  Also, a Reference Model cannot be interpreted as an architecture itself.  

In contrast, a Reference Architecture appears to be, an architecture depicting a solution to a problem space to which other architectures and specifications can refer to.  Now this may be an generic architecture for a pattern, or an specific architecture for a specific problem, but either way it is the architecture which gives aerial views of the solution.

For example Open Group has a SOA Reference Architecture (as I'm sure a number of major players do). As pointed out, the MSDN pet shop application has a Reference Architecture.  Patterns can also have reference architectures, such as this one also from Microsoft.

I suppose Reference Architectures are used as inputs into Technical Architectures, Designs and Specifications, which in turn should refer back to the Reference Architectures.  I also believe that Reference Architectures are on the middle row of Zachman. 

Reference Implementations are the only implementations of Reference Architectures, and an proof and an example that the Reference Architecture is integral and as a guide to production implementations.  In my mind production implementations should never be created from Reference Architectures, they should only be created from the Technical Architectures, Designs and Specifications that are created from the Reference Architectures.

That's my understanding today anyway.


Post a Comment

Links to this post:

Create a Link

<< Home