Reference architecture
A reference architecture in the field of software architecture or enterprise architecture provides a 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 software architecture is a software architecture[1] where the structures and respective elements and relations provide templates for concrete architectures in a particular domain or in a family of software systems.
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.
A reference architecture provides a template, often based on the generalization of a set of solutions. These solutions may have been generalized and structured for the depiction of one or more architecture structures based on the harvesting of a set of patterns that have been observed in a number of successful implementations. Further it shows how to compose these parts together into a solution. Reference Architectures will be instantiated for a particular domain or for specific projects.
Adopting a Reference Architecture within an organisation accelerates delivery through the re-use of an effective solution and provides a basis for Governance to ensure the consistency and applicability of technology use within an organisation.
Examples
- The Java Platform, Enterprise Edition (Java EE) 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.
- The IBM Insurance Application Architecture[2] is a reference architecture for the Insurance domain. This reference architecture from IBM encapsulates Insurance domain best practices in the form of business process, business activities, business objects, business rules, etc.
- Insurance Frameworks' Panorama 360 [3] is a comprised of Enterprise Business Architecture Framework, business reference models and methodologies for the insurance, wealth management and even banking industries. The Enterprise Business Achitecture Framework describes business fonctions as well as information components. In addition this framework provides a business integration map showing the relationships between the business functions and the information components.
- AUTOSAR is a component-based reference architecture for automotive software architectures.
- Unisys 3D Blueprints[4] are a collection of reference architectures from Unisys Corp. for diverse domains such as financial services, communications, public sector, transportation, consumer & industrial products.
See also
- Business reference model
- Enterprise Architecture framework
- Generalised Enterprise Reference Architecture and Methodology (GERAM)
- Reference model
References
- ^
Clements, Paul (2010). Documenting Software Architectures: Views and Beyond, Second Edition. Boston: Addison-Wesley. ISBN 0-321-55268-7.
{{cite book}}
: Unknown parameter|coauthors=
ignored (|author=
suggested) (help) - ^ The IBM Insurance Application Architecture
- ^ Panorame 360
- ^ Unisys 3D Blueprints