« Probability: The Rain in Spain ... | Home | Sharpening the Saw »

The Value of Reference Models

Illustration: Tower of Babel

Without a shared language, communication is impossible. A reference model establishes a shared foundation -- a frame of reference, or conceptual framework -- that can then be used to structure subsequent discussions of a subject. For more details online, the best resource I found is a discussion of the OASIS SOA Reference Model. Its focus is different from ours, but it contains some good general points, including:

A reference model is an abstract framework for understanding significant relationships among the entities of some environment.

A reference model is based on a small number of unifying concepts and may be used as a basis for education and explaining standards to a non-specialist.

A reference model is not directly tied to any standards, technologies or other concrete implementation details, but it does seek to provide a common semantics that can be used unambiguously across and between different implementations.

In my two previous posts, I presented reference models for Web application availability and response time. These models enumerate the major components that determine the performance of any e-business application. This emphasis on identifying the contributing factors reveals another essential characteristic of all reference models -- the need for a model to be complete. Reference models for Web applications will be of limited use unless they offer a way to identify all the components the affect the availability or responsiveness of any Web-based application.

Apart from their value as teaching tools, I see many potential uses for these reference models, no matter what aspect of Performance Management or SLM you need to focus on. By showing how the performance of the whole application is determined by the performance of its component parts, they can suggest:

  • ways to determine the design goals and service level objectives (SLOs) for components
  • the degree to which competing design ideas might improve performance
  • frameworks for designing a performance monitoring program
  • methods for predicting or summarizing overall availability or response times
  • where to focus remediation efforts, identifying component(s) most in need of improvement
  • ways to systematically evaluate and compare competing sites
  • frameworks for comparing the likely impacts of different technology choices

For example, the CMG paper in which I first published the response-time reference model discusses examples of how e-commerce application response times can be improved in three ways: by reducing the overall number of components, by speeding up individual components, and by moving some components off the synchronous response time path.

Of course, a reference model will only take you so far. Because of their level, these models are designed only to break apart application availability and response time into their major components, not to reveal everything that goes on "under the covers." For that level of understanding, each component must be further dissected, as I did when discussing the components of Web response time in the CMG paper. But a reference model is usually a very good place to start from, no matter what your particular focus.

[This post was first published on Blogger on October 31, 2005.
Page Illustration: The Tower of Babel by Pieter Bruegel the Elder, 1563.]

PrintView Printer Friendly Version

EmailEmail Article to Friend

Reader Comments

There are no comments for this journal entry. To create a new comment, use the form below.

PostPost a New Comment

Enter your information below to add a new comment.
Author Email (optional):
Author URL (optional):
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>