Reference Architecture & Frameworks–A Consolidation

Overview of Reference Architecture

Reference architectures are standardized architectures that provide a frame of reference for a vertical domain or sector. Reference models or architectures provide a common vocabulary, reusable designs and industry best practices. They are not solution architectures, i.e. they are not implemented directly. Rather, they are used as a constraint for more concrete architectures. Typically, a reference architecture includes common architecture principles, patterns, building blocks and standards.

A reference architecture in the field of software architecture provides a template solution for an architecture for a domain. It also provides a common vocabulary with which to discuss implementations, often with the aim to stress commonality. A software reference architecture is a software architecture where the structures and respective elements and relations provide templates for concrete architectures in a domain.

Many domains have defined their reference architectures. Well-known examples include:

  • BIAN service landscape for the banking industry;
  • ACORD Framework for the insurance industry;
  • eTOM business process framework for the telecommunications industry from the TMForum;
  • Different government reference architectures, for example the Dutch NORA and her 'daughters', the US FEAF or the Australian AGA;
  • Defense architecture frameworks such as NAF, DODAF and MoDAF;
  • Reference architectures for manufacturing and supply chains such as ISA-95 and SCOR.

Most of these reference architectures includes 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. Reference Architectures will be instantiated for a particular domain or for specific projects.

DRIVERS FOR REFERENCE ARCHITECTURE & FRAMEWORKS

Frame of Reference: Reference architectures provide a frame of reference that help you to get an overview of a domain and 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. Reference architectures are most valuable for those aspects and elements of your organization on which you do not compete with others.

Interoperability: 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. LEGO is a perfect example, as my colleague Bas van Gils described in his blog recently.

Mergers, acquisitions and outsourcing: 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.

Benchmarking: Using reference architectures is to facilitate benchmarking within your industry. Often, the differences between companies are not in the design of e.g. their business processes, but in their execution. Using reference designs makes it much easier to compare those execution results.

Regulatory Compliance: 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.

Benefits of Reference Architecture:

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:

  • improvement of the interoperability of the software systems by establishing a standard solution and common mechanisms for information exchange;
  • reduction of the development costs of software projects through the reuse of common assets;
  • improvement of the communication inside the organization because stakeholders share the same architectural mindset; and,
  • influencing the learning curve of developers due to the need of learning its features.

Reference Architectures vs. Architecture Frameworks

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.

Summary

The use of a reference architecture in an organization also requires governance: the organization should really commit to its use and this should be 'enforced' in some way. Reference architectures are only of value if people are really using 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.

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. Actual structure, for example in terms of business functions or processes, building blocks and standards, is needed to provide you with a useful backbone for your own architecture efforts.

Sameer Paradkar

Sameer Paradkar

Sameer is a Solution Architect with IBM GBS (Global Business Services). He is responsible for the Presales, IT Strategy and Business Case Development for Commerce Solutions. Sameer has worked with fortune 100 organizations to advise their Business and Technical leaders on roadmaps to successful technology adoption strategies. Sameer is regarded as a creative and out-of-the-box-thinker. He has an in-depth understanding of a variety of systems and is able to articulate advantages and disadvantages of each as they relate to a customer's business model. Sameer has extensive experience in the ICT industry and has worked extensively in the U.S., UK, Europe, Asia Pacific and the Middle East regions.
Share

Speak Your Mind

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Share
Share