Reference architecture

From Wikipedia, the free encyclopedia

A reference architecture provides a proven template solution for an architecture for a particular domain. It also provides a common vocabulary with which to discuss implementations, often with the aim to stress commonality.

A reference architecture often consists of a list of functions and some indication of their interfaces (or APIs) and interactions with each other and with functions located outside of the scope of the reference architecture.

Reference architectures can be defined at different levels of abstraction. A highly abstract one might show different pieces of equipment on a communications network, each providing different functions. A lower level one might demonstrate the interactions of procedures (or methods) within a computer program defined to perform a very specific task.

One technology-specific example, Java EE, the Java Platform, Enterprise Edition architecture is a layered reference architecture which provides a template solution for many enterprise systems developed in Java. The reference architecture addresses problems commonly encountered for enterprise systems including scalability, reliability and security.

There may be multiple frameworks within which a system developed within a reference architecture can be deployed. Examples of Java EE framework open source application servers like JBoss, Geronimo and Open EJB as well as vendor solutions like IBM WebSphere, BEA Web Logic and Oracle Fusion Middleware.