A reference architecture is an architecture that has already been created for a particular domain of interest.
It takes the form of one or more architectural patterns, partially or completely instantiated, designed and proven for
use in context, with supporting artifacts to enable their use.
A reference architecture is part of an organization's reusable asset base. Its purpose is to form a starting point for architectural
development. Its scope may range from a ready-made architectural pattern, to an architectural mechanism or framework, to a complete system (with known
characteristics, proven in use). It may be applicable generally for a broad class of systems spanning domains, or it
may have a narrower domain-specific focus.
A reference architecture exhibits the same characteristics as any other architecture, but has some important
differences:
-
It is stripped of project-specific references, or makes project references and characteristics generic.
-
It does not typically have a physical manifestation. It is simply documentation, often in the form of models. It
might include references to implemented reusable components, but you typically use just the conceptual or logical
parts of the architecture.
-
It is often incomplete. It contains gaps that you must fill before it represents a complete definition of your
system's architecture.
Reference architectures come in many different forms, reflecting the many different interpretations of architecture.
They may, for example, be technology-independent or technology-specific.
Examples of reference architectures include a financial services reference architecture, the Java™ 2 Platform,
Enterprise Edition (J2EE) architecture, and the Microsoft® .NET architecture.
|