An Introduction To Fundamental Architecture Concepts: Warren Weinmeyer
An Introduction To Fundamental Architecture Concepts: Warren Weinmeyer
Architecture Concepts
Warren Weinmeyer
Warren Weinmeyer
March, 2013
May 2012
Updated: Sept. 2014
Updated: Oct. 2015
Updated: June 2017
Usage and Attribution
• You are free and welcome to use and apply the
information in this slide deck, including the copying
of any diagrams and text
• I would appreciate, but not require, an acknowledgement
should you do so
To Avoid Confusion: This deck is not about the Architecture of
Buildings
• This deck is for you if any of the following search terms are of
relevance:
• IT Architecture
• Enterprise Architecture
• Business Architecture
• Physical Architecture
7
DEFINITIONS:
Architecture:
• The fundamental organization of a system, embodied in its components, their relationships
to each other and the environment, and the principles governing its design and evolution.
(ANSI/IEEE 1471-2000)
• A representation of a system in which there is a mapping of functionality onto hardware and
software components, a mapping of the software architecture onto the hardware
architecture, and human interaction with these components.
(Carnegie Mellon University's Software Engineering Institute)
• An architecture is the most important, pervasive, top-level, strategic inventions, decisions,
and their associated rationales about the overall structure (i.e., essential elements and their
relationships) and associated characteristics and behavior. (OPEN Process Framework)
• A description of the design and contents of a computer system. If documented, it may
include information such as a detailed inventory of current hardware, software and
networking capabilities; a description of long-range plans and priorities for future purchases,
and a plan for upgrading and/or replacing dated equipment and software.
(National Center for Education Statistics).
• The structure of components, their interrelationships, and the principles and guidelines
governing their design and evolution over time. (TOGAF)
• In the end, architecture boils down to whatever the important stuff is – Martin Fowler
8
DEFINITIONS:
Design:
• Realization of a concept or idea into a configuration, drawing, model,
mould, pattern, plan or specification (on which the actual or commercial
production of an item is based) and which helps achieve the item's
designated objective(s). (BusinessDictionary.com)
• A specification or plan for making a particular artifact or for undertaking
a particular activity. A design is the basis for, and precursor to, the
making of an artifact.” (Terence Love, 2002)
• The process of refining and expanding the preliminary design phase
(i.e. the architecture) of a system or component to the extent that the
design is sufficiently complete to be implemented. (IEEE Standard
Glossary of Software Engineering Terminology)
9
Architecture vs. Design
• Most agree that there’s a difference between architecture and design
• Both talk about specification, but to different degrees: a detailed
Architecture specification can be implemented in more than one way,
but a detailed design can’t.
• A design (that complies with the Architecture) is therefore required
to proceed to implementation
Context-
Architecture dependent Design
10
Architecture: Know When to Stop!
• The deficiencies of under-architecting are fairly obvious:
• the architecture description is fundamentally not useful
and serves only as a “checkbox” on some stage-gate.
• the Architecture team can become irrelevant
• The deficiencies of over-architecting are more subtle but no
less important:
• over-specification impedes project velocity, adds too
much overhead
• reduces the availability of the Architect to other initiatives
• the resulting architecture description is more difficult to
re-use
• it adds avoidable cost: Architects are more expensive
• it can spark resentment from other team members who
are deprived of meaningful design influence
11
Attributes of a good Architecture Description
• Provides enough detail to:
• describe the salient properties of the solution
• describe the salient technical and organizational risks,
impacts and inter-dependencies
• confirm that any compliant solution fulfills the salient
Business (functional) and Technical (non-functional)
requirements
• give designers real guidance to specify a compliant
solution
• Provides analysis and context that addresses the concerns of
all stakeholders
• Can be physically implemented in more than 1 way (i.e. is not
tied down to a single solution specification): is NOT directly
implementable
12
What is “Salient”?
• It depends!
• this is one reason why an Architect is a senior
role
• what is ”salient” is based on the concerns of the
stakeholders, the greater picture of the current
and future state of the organizational and
technical environment, the need to deliver
actionable guidance, etc.
• Over-specification is a result of the Architect
performing design work by virtue of not making
good decisions about what is “salient”.
13
Example: Physical Architecture vs. Design
• Examples: A Physical Architecture
14
Example: Physical Architecture vs. Design
A Design that is
Compliant to the
Physical Architecture
• In this example, the
designer decided the
following were salient:
• Many of the servers are
specified to be VMs running
in the corporate VM pool,
with a specified amount of
dedicated compute capacity.
• The version/release of all
technical software
components is specified.
• The required drive mappings
and drive sizes are
indicated, as are DNS
names.
• Infrastructure hardware like
the load balancer that is
explicitly part of the solution
is specified, while the rest,
like switches and firewalls,
are not.
15
Architecture Models vs
Diagrams
16
Models/Diagrams - The Essential Difference
• The terms “model” and “diagram” are often used interchangeably, but there
are times when the differences are important.
• While a a Diagram is a drawing; a Model is a representation that must follow
formal rules of association between the elements.
• These rules are called a metamodel, and are the foundation of
architecture modeling: every good framework has a metamodel
• The metamodel ensures that any models that are created based on its rules
provide accurate information in a repeatable and reliable manner
• An analogy: databases.
• Every database has a schema that all the data entities must comply to.
• The schema serves to ensure that all the data relationships are properly
observed, so that you can get accurate information and reporting out
from the database, in a repeatable and reliable manner.
• One other difference: a Diagram is always a drawing, but while a Model is
often a drawing, it could be represented in other forms, such as a table.
17
Example: Metamodel and Model
• Here is a look at part of TOGAF’s metamodel:
20
DEFINITIONS:
• Conceptual Architecture:
• shows of a set of relationships between factors that are believed to impact or lead
to a target condition; a diagram that defines theoretical entities, objects, or
conditions of a system and the relationships between them. (Dictionary.com)
• represents 'concepts' (entities) and relationships between them…aim is to express
the meaning of terms and concepts used by domain experts to discuss the
problem, and to find the correct relationships between different concepts.
(Wikipedia.com)
• Logical Architecture:
• logical relationships between the resources, activities, outputs and outcomes of a
program… the underlying purpose is to assess the causal relationships between
the elements of the program. (Wikipedia.com)
• Logical architecture addresses the information system seen macroscopically, by
focusing on its main components, their interconnections and the flows exchanged,
and by structuring them by group into larger-scale modules. (Softeam)
• Physical Architecture:
• details network capabilities, server specifications, hardware requirements and
other information related to deploying the proposed system. (Sparx)
21
Conceptual vs. Logical vs. Physical Architecture
• Conceptual, Logical, and Physical representations
are the most common layers of architectural
abstraction
23
Logical Architecture
• Describes how a solution works, in terms of function and logical information.
• Can be at a very high level down to a very detailed level
• at the highest levels may map essentially 1:1 with the conceptual entities
described in the Conceptual models
• at the lowest levels may map essentially 1:1 to physical entities that are
described in the Physical models.
• Can show a static view (for example, connectivity) or a dynamic view (for example,
process flow)
• The following models describe the same thing, at different levels of Logical detail:
24
Logical Architecture
• Example: a detailed logical model that almost maps
1:1 with the corresponding physical model that
realizes the Logical architecture
25
Physical Architecture
• Refers to specific products, protocols, and data
representation where/when/if it is architecturally
salient to do so
• This is where over-architecting can most easily
occur
• Even when specifying real-world products,
there is typically missing information for
detailed design to provide
• for example: Product Versions, 32/64-bit,
physical/virtual platform, etc.
26
Mixed Models
• Sometimes, it is desirable to create a model that is
not a pure Physical or pure Logical model.
• It is ok to do that if it’s done in a controlled way:
• Your Modeling Framework should specify which
models can contain mixed elements
• You should standardize the types of models you create
by defining a framework that defines all the models
and how they conceptually relate to each other
28
Definitions:
• Viewpoints and Views are described in ISO/IEC/IEEE 42010
(previously, 1471-2000 - IEEE Recommended Practice for
Architectural Description for Software-Intensive Systems)
• TOGAF complies (essentially) with IEEE
• These terms have been around for a long time: the IEEE
description adds rigour to the concepts
• A Viewpoint identifies the set of concerns and the
representations/modeling techniques, etc. used to describe the
architecture that addresses those concerns
• A View is a concrete description of a specific aspect of the entire
solution
• A View is a realization of a (corresponding) Viewpoint
• Viewpoint vs. View have a relationship that is analogous to that of
Pattern vs. Implementation, or (perhaps more accurately) Class vs.
Object or (perhaps most accurately) Schema vs. Message
29
Viewpoints
• Viewpoints serve to provide the underlying guidance for how to describe an architectural
perspective: they are based on the Architectural Concerns (i.e. “interests”) of one or more
Stakeholders.
• Therefore, Viewpoints ensure that architecture descriptions are geared to their
Stakeholders’ information needs.
• You need multiple Viewpoints to create the complete architectural description
• The diagram below shows a portion of the ISO 42010 conceptual model:
• An Architecture Description is organized into one or more Views.
• Each View is constructed conforming to/governed by a Viewpoint
• A Viewpoint addresses an audience (Stakeholders) by framing out specific
information (Concerns) through employing specific models.
30
Viewpoints
• IEEE specifies that a viewpoint description
includes:
• The Viewpoint name
• The stakeholders addressed by the
viewpoint
• The architectural concerns “framed” by the
viewpoint (i.e. the purpose)
• The language, or modeling techniques, or
analytical methods used to construct,
depict and analyze the resulting view
• Note: the models you use should be
organized into a coherent framework of
models (in this example: TOGAF)
• The source, if any, of the viewpoint (e.g.,
author, literature citation)
• A viewpoint may optionally include:
• Consistency or completeness checks
associated with the underlying method to be
applied to models within the view
• Evaluation or analysis techniques to be
applied to models within the view
• Heuristics, patterns, or other guidelines
which aid in the synthesis of an associated
view or its models
• By understanding your Stakeholders and
what their information requirements are (i.e.
their Architectural Concerns), you can
construct a library of pre-defined, re-usable
Viewpoints.
31
Viewpoint Frameworks
• Constructing a library of Viewpoints, however, is not sufficient
to ensure that a resulting set of views properly illustrates all
the architectural characteristics and all the stakeholder
concerns.
• It is necessary that the relationships between all the
Viewpoints in the library be defined in a manner that they
aggregate to cover the entire scope of architecture description,
and do not overlap (at least significantly) each other.
• This is what is referred to as a Viewpoint Framework.
• If the Viewpoints are constructed into a well-structured
framework, then the Views that are generated out of that
Viewpoint framework will describe the architecture of the given
solution in a consistent, coherent and comprehensive manner.
• Viewpoint Frameworks increase the velocity, consistency
and quality of the task of creating architecture
descriptions
32
Viewpoint Framework Example
• The Viewpoints in a Viewpoint
Framework have well-defined
conceptual relationships with
each other.
• As an aggregation, the
Viewpoints in the Framework
cover the entire scope of
architectural concerns from all
the Stakeholders
• Note that the Viewpoints
(mostly) fall into the category
of a particular branch of
Architecture (referred to as a
Domain)
• Domains are explained
later in this deck
33
View Frameworks
• Just as a Viewpoint Framework is a structured set of Viewpoints, a
View Framework is a structured set of Views.
• The conceptual relationships between Viewpoints that is the
essence of the Viewpoint framework are identically reflected in
the resulting View framework.
• However there is a further difference between a View framework and
a Viewpoint framework aside from abstraction:
• the Viewpoint framework encompasses the full suite of
Viewpoints in the library, but the View framework consists only
of the Views that will be constructed for the solution in
question.
• As a contrived (not realistic) example…
• take a very simple Viewpoint framework consisting of a Business
Process, an Infrastructure and a Security viewpoint.
• the solution architecture is to simply implement a network.
• there is no requirement for a Business Process view so the View
framework for this would not include a Business Process view, even
though there exists a Business Process viewpoint.
34
Standard Architecture
Domains
35
Architecture Overview – Architecture Domains
• The scope of concerns that Architecture deals with is so broad that we divide it into
different foundational categories, typically called domains. The idea of a Domain as a
foundational category means that a particular thing resides in one Domain only.
A commonly-referenced framework
of architectural domains is:
• Business Architecture:
Vision, Strategy, Objectives,
Processes, Principles, Capabilities,
Actors, Use Cases, Organization,
etc.
• Application Architecture:
Systems, Applications, Services,
Protocols, Messages, Interfaces,
Transactions, etc.
• Data/Information Architecture:
Information Entities, Ontologies,
Taxonomies, Data Relationships,
Schemas, etc.
• Technical Architecture:
Network, Servers, Storage,
Communications, Platforms,
etc.
Note: this visualization was adapted from the Software
AG/IDS Scheer ARIS manual…so… thanks, ARIS!
36
DEFINITIONS:
Business Architecture:
• Graphical representation of a business model, showing the networks through
which authority, information, and work flows in a firm. It serves as the blueprint
of a firm's business structure, and clarifies how the firm's activities and policies
will affect its defined objectives. (BusinessDictionary.com)
• The practice of creating a design to satisfy an organization’s strategic and
tactical directives by providing an enterprise-wide, holistic business view, and
identifying and monitoring both internal and external impacting factors and
interdependencies. (Business Architects Association)
• A blueprint of the enterprise that provides a common understanding of the
organization and is used to align strategic objectives and tactical demands.
(OMG Business Architecture Special Interest Group (BASIG))
• A description of the structure and interaction between the business strategy,
organization, functions, business processes, and information needs. (TOGAF)
• The structure and behavior of a business system (not necessarily related to
computers). Covers business goals, business functions or capabilities, business
processes and roles etc. Business functions and business processes are often
mapped to the applications and data they need. (Wikipedia)
37
DEFINITIONS:
Application Architecture:
• Application architecture is the organizational design of an entire software
application, including all sub-components and external applications interchanges.
(wiseGeek.com)
• A description of the structure and interaction of the applications as groups of
capabilities that provide key business functions and manage the data assets.
(TOGAF)
• The structure and behavior of applications used in a business, focused on how
they interact with each other and with users. Focused on the data consumed and
produced by applications rather than their internal structure. In application
portfolio management, the applications are usually mapped to business functions
and to application platform technologies. (Wikipedia)
38
DEFINITIONS:
Data/Information Architecture:
• The data structures used by a business and/or its applications. Descriptions of
data in storage and data in motion. Descriptions of data stores, data groups and
data items. Mappings of those data artifacts to data qualities, applications,
locations etc. (Wikipedia)
• A description of the structure and interaction of the enterprise’s major types and
sources of data, logical data assets, physical data assets, and data management
resources. (TOGAF)
• Information Architecture is about organizing and simplifying information,
designing and integrating information spaces/systems, and creating ways for
people to find and interact with information content. Its goal is to help people
understand and manage information and make right decisions accordingly. (Wei
Ding, Xia Lin – Information Architecture)
• Set of rules that determine what, and how and where, information will be
collected, stored, processed, transmitted, presented, and used.
(BusinessDictionary.com)
39
DEFINITIONS:
Technical/Technology Architecture:
• A description of the structure and interaction of the platform services, and
logical and physical technology components. (TOGAF)
• The structure and behavior of the technology infrastructure. Covers the client
and server nodes of the hardware configuration, the infrastructure applications
that run on them, the infrastructure services they offer to applications, the
protocols and networks that connect applications and nodes. (Wikipedia)
40
Security: Domain or View?
• We have described the standard Architecture Domains as
Business, Application, Information, and Technology (also
known as BAIT)
• Some organizations include other areas they term domains. For
example, Security Architecture, or Enterprise Architecture.
• Neither of these comply to the definition of Domain as a
foundational category
• Security Architecture consists of elements of process, information,
technology, and people: all of these elements fit into one of the existing
standard Domains.
• Security is a slice of a complete architecture from a given perspective –
does that sound familiar? It should: Security is a View. Views can cross-cut
Domains.
• Similarly Enterprise Architecture consists of elements from across the standard
Domains, therefore it is not itself a Domain. In this case, Enterprise Architecture
is a Tier (or Level) of Architecture, which is the next topic of discussion.
41
Standard Architecture
Tiers
42
Architecture Overview – Architecture Tiers
Organizational
Scope • The industry recognizes 3
general tiers of architecture.
These can be visualized using a
Scope of Problem Domain grid of Problem Domain scope,
Technology Horizon (depth of
Enterprise Architecture
technology, and Organizational
scope
Technology Horizon
44
Architecture Overview – Architecture Tiers
Organizational
Scope
45
Architecture Overview – Architecture Tiers
• Solution Architecture is focused
Organizational
Scope on a specific solution and is
concerned with compliance to
standards, roadmaps and greater
strategic objectives, in addition to
Scope of Problem Domain
finding a solid solution.
• Solution Architecture addresses
Enterprise Architecture technological details to the level
required to ensure the resulting
Technology Horizon
46
All Architecture Domains are addressed at every Tier
Organizational
Scope
• Each of these 3 tiers of
architecture (Enterprise,
Scope of Problem Domain
Portfolio, and Solution)
include all four architectural
domains (i.e., Business,
Enterprise Architecture Application, Information, and
Technical Architecture) – but
Technology Horizon
47
Tiers and Domains does NOT mean Silos!
• These divisions are simply
Organizational tools to understand where and
Scope
how to apply architectural
discipline, and to break down
the challenge into parts that
Scope of Problem Domain
are easier to grasp.
• The actual process of
Enterprise Architecture
Architecture is continuous and
Technology Horizon
49
TOGAF as a Modified Deming Cycle
• It consists of 4 steps:
Act Plan
• Plan: Establish objectives
Deming • Do: Implement the plan
Cycle • Check: Study the results
50
TOGAF as a Modified Deming Cycle
• Here is a diagram of TOGAF’s
ADM (architecture development
method). Colour-coding is used
to map TOGAF stages to
Deming Cycle steps.
52
The Basic Annual Corporate Cycle
• Most companies tend to
keep to a traditional,
fundamental annual
rhythm that has 3 basic
phases:
• Planning for the
upcoming year
• Executing projects that
were identified in the
planning stage
• Maintaining/operating
the changes delivered
as project outcomes
• Includes the monitoring,
operating and supporting
of systems
53
The Basic Cycle Exists at Multiple Corporate Levels
• The basic annual cycle discussed in the
previous slide can be seen expressed at
various levels throughout the corporation:
• At the Organization Level:
• Involves strategically prioritizing and
sequencing Business demand
• Governance of delivery and change
management
• Centralized Help Desk function
56
Architecture Engagement Across the Project Lifecycle
• Architecture, executed
holistically at the EA,
PA and SA tiers, is
involved in the
complete lifecycle of
an idea, right from
strategic planning
through realization
and assessment of
the operating state,
and back again to
strategic planning.
• EA activities (are
baked right into
corporate processes)
spawn PA activities
(which are baked
right into portfolio
processes) spawn SA
activities (which are
baked into project
processes).
57
Here is a closer look at some of the Architectural Inputs for a Project
Project (Demand
Phase Planning) Inception Elaboration Construction Transition
Portfolio, Investment
Theme and Program Analyze Design Test Chg Deploy Support &
strategic roadmaps & Build Mgmt Warranty
PA provides Architect FTE estimate Detailed SA reviews SA provides technology
for budgeting, and provides tasks Logical development retirement, resource
Strategic & work estimates for scheduling reclamation and
Business architecture team test plans,
Roadmap Case and physical contributes information disposition
architecture; non-functional plans
Requires non-functional Requires non- may be done test plans
Portfolio Tactical Project requirements, functional in iterations SA provides SA provides
Architect Roadmap Charter Conceptual and high- requirements, for agile backup, cut-over plan,
level Logical architecture projects technical including data
Conceptual and high-
to be completed deployment migration
level Logical
Portfolio application architecture to be and rollback
roadmap(s) PA provides complexity completed plans
& tech assessment
content, reads final
doc: this ensures early Non-funct RFx Detailed Detailed Test Deploymt Transition Retirement
visibility into the Requirmts Non-funct Soln Arch Plan Plan Plan Plan
approved project Requirmts
This is the
Conceptual Operational Support
System Sustainment
& Logical Support
Selectn “bible”
Soln Arch Model
Conceptual & high-level Logical Iterations
solution architecture is required or Sprints
Solution before starting an RFx, performing
Architect System Selection, or beginning
detailed architecture and design
60