Reference architecture or model provides a common vocabulary, reusable designs, and industry best practices that are used as a constraint for more concrete architectures. Typically, reference architecture includes common architecture principles, patterns, building blocks, and standards. They are not solution architectures (i.e., they are not implemented directly).
A reference architecture in the field of software architecture provides a template solution for an architecture for a domain. The structures and respective elements and relations provide templates for concrete architectures in a domain. A common vocabulary is used to discuss implementations, often with the aim to stress commonality.
Enterprise Reference Architectures are standardized architectures that provide a frame of reference for a vertical domain or sector. Many domains have their reference architecture definitions. The key reference architecture examples include:
Most of these reference architectures include common business building blocks, business capabilities, and business processes for a specific vertical domain. They may include, for example, common data models, communication standards and exchange formats, and sometimes even common software building blocks and mostly reusable assets and models.
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. Enterprise Reference Architectures will be instantiated for a particular domain or for specific projects.
There are several factors in favor of using Reference Architecture. To be successful, the framework conditions for Reference Architecture must be right.
Reference architectures provide a frame of reference that helps one get an overview of a domain while they provide a starting point for your own enterprise architecture effort. They provide you with basic structures so you do not have to reinvent the wheel. Enterprise Reference Architectures are most valuable for those aspects and elements of your organization on which you do not compete with others.
In our increasingly networked world, organizations need to connect and cooperate with all manner of other parties. The standards and building blocks provided by reference architectures facilitate these connections. A related benefit is that using standards improves flexibility because it is easier to exchange building blocks that connect via standardized interfaces; vice versa, it is much easier to develop standards if the building blocks themselves are standardized.
If two parties speak the same language, use the same standards, and recognize the same boundaries between functions, processes, and/or systems, it will be much easier to recombine their elements in new ways.
Using reference architectures facilitates benchmarking within your industry. Often, the differences between companies are not in the design of, say, their business processes, but in their execution. Using reference designs makes it much easier to compare those execution results.
Often, reference architectures are prescribed (or at least strongly recommended) by regulators. Accounting principles, practices, and processes, for example, are increasingly standardized and mandated. This leads to business reporting standards, even down to the level of exchange standards such as XBRL.
ToolsEA Maturity Assessment
ReportLeanIX M&A Survey 2021
Success KitEnterprise Architecture Success Kit
Adopting a reference architecture within an organization 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 organization.
In the field of software architecture, many empirical studies have shown the following common benefits and drawbacks from adopting a software reference architecture within organizations:
An Architecture Framework is defined as an encapsulation of a minimum set of practices and requirements for artifacts that describe a system's architecture. Architecture frameworks, such as the Zachman Framework, the Open Group Architecture Framework (TOGAF), and Department of Defense Architecture Framework (DoDAF) provide approaches to describe and identify necessary inputs to a particular architecture as well as means to describe that architecture.
So, architecture frameworks give enterprise architects the tools they need to adequately describe and collect requirements, without mandating any specific architecture type. Architecture frameworks describe an example taxonomy of the kinds of architectural “views” that an architect might consider developing and provides guidelines for making the choice for developing particular views.
Reference architecture goes one step further by accelerating the process for a particular architecture type, helping to identify which architectural approaches will satisfy particular requirements, and figuring out what a minimally acceptable set of architectural artifacts are needed to meet the “best practices” requirements for a particular architecture. Reference architectures emphasize the “template” part of the definition of a reference architecture.
Both frameworks and RAs provide best practices, and while it might be argued that RAs provide more of a methodology than a framework does, RAs are still not really characterized by their methodology component. Most can be characterized by their template component, however.
From this perspective, patterns are instances of templates in this context. In fact, multiple reference architectures for the same domain are allowable and quite useful.
The use of a reference architecture in an organization also requires governance to enforce that organizations commit to its use. Reference architectures are only valuable if people use them as intended and follow their guidance — otherwise, the whole idea of reusing industry best practices breaks down.
For example, the business functions of a typical insurance company are largely similar to those of its competitors, as are many of its business processes. Competitive differences will most likely be in its products, pricing, customer segments, and customer relationships.
Reusing industry best practices provided by reference architectures ensures that you are not behind the curve on these non-competitive aspects. We also see this in the implementation of many IT systems, where vendors such as SAP provide reference processes for large parts of an organization.
The enterprise reference architecture should be community-based. Users, not vendors, should decide on best practices, and the architecture should be actively maintained by the user community.
Finally, your reference architecture of choice should provide true, actionable guidance. General architecture principles are not enough. True structure, for example in terms of business functions or processes, building blocks, and standards, is needed to provide a beneficial backbone for your own architecture efforts.
Free White Paper
What are benefits of a Reference Architecture?