ABBs (architecture building blocks), 8, 20, 77
dependencies between, 11
of ARA
Analytics Solutions ABBs, 222
Cognitive Computing ABBs, 228
Consumers ABBs, 223
Data Acquisition and Access ABBs, 218-219
Data and Information Security ABBs, 224
Data Integration and Consolidation ABBs, 221
Data Repository ABBs, 219
Data Type ABBs, 217
Descriptive Analytics ABBs, 225
Models ABBs, 219
Operational Analytics ABBs, 227
Predictive Analytics ABBs, 225-226
Prescriptive Analytics ABBs, 226
access layer, 173
accuracy, 112
addressing nonfunctional capabilities, 12-13
aggregation, 164
infrastructure framework, 233
analytics, 199
cognitive computing, 204
descriptive analytics, 202
governance, 212
operational analytics, 201-202
predictive analytics, 202, 235-236
prescriptive analytics, 203-204
semi-structured layer, 217
structured data, 217
unstructured data, 218
analytics architecture reference model
systems of engagement, 206
systems of insight, 206
Analytics as a Service, 178
Analytics Solutions ABBs, 222
Analytics Solutions layer (ARA), 210
“Analytics: The Speed Advantage,” 200
API-level integration, 158-160
APIs, 158
application architecture, 41
application HA, 188
application servers, capacity planning, 191
application viewpoint, 16
approaches to systems integration, 152
ARA
ABBs
Analytics Solutions ABBs, 222
Cognitive Computing ABBs, 228
Consumers ABBs, 223
Data Acquisition and Access ABBs, 218-219
Data and Information Security ABBs, 224
Data Integration and Consolidation ABBs, 221
Data Repository ABBs, 219
Data Type ABBs, 217
Descriptive Analytics ABBs, 225
Models ABBs, 219
Operational Analytics ABBs, 227
Predictive Analytics ABBs, 225-226
Prescriptive Analytics ABBs, 226
horizontal layers, 208
Analytics Solutions layer, 210
Consumers layer, 210
Data Integration and Consolidation layer, 209
Data Repository layer, 209
Data Types layer, 208
Models layer, 209
Layered view, 207
pillars, 207
Cognitive Computing, 216
Descriptive Analytics, 213
Operational Analytics, 215
Predictive Analytics, 214
Prescriptive Analytics, 214
vertical layers, 210
Data Governance layer, 211-212
Metadata layer, 212
architecturally significant use cases, 11
baselining on core strengths of technology products, 240-241
blueprints, 9
conceptual architecture of the IT System, 40
Core Business Processes component artifacts, 44
Data and Information component artifacts, 45
Technology Enablers component artifacts, 46
upgrading, 47
Users and Delivery Channels component artifacts, 44
IT System view, 52
banking example, 53
nonfunctional characteristics, 55
need for, 41
principles, 245
SOA reference architecture, 49
technology-driven, 237-238, 248
versus design, 9
views, 39
architecture decisions, 20, 65
DLTs, 67
documenting, 66
artifacts
for IT subsystems, 82
traceability, 79
As-a-Service models, 176
Analytics as a Service, 178
IaaS, 177
PaaS, 178
SaaS, 178
Solution as a Service, 178
assigning components to layers, 94-96
associating data entities with subsystems, 90-92
attributes
of architecture decisions, 68-69
attributes of leaders, 237
availability, 112
HA, 180
application HA, 188
database HA, 188
disk subsystem HA, 184
operating system HA, 182
SPoF, 180
availability viewpoint, 16
back office zone, 142
banking example of IT System view, 53
Batch integration pattern, 162
best practices for software architecture, 13
Best West Manufacturers case study, 1-4
BI (business intelligence), 202
business architecture viewpoint, 11, 41
Business Context, comparing with System Context, 23
business operating models, 42
business processes, 11
Business Process layer (Layered view), 50
business process modeling, 29
business rules, 87
business use cases
identifying, 85
versus system use case, 4
application servers, 191
web servers, 190
capturing
interface details, 89
System Context, 25
case studies
Elixir
architecture overview, 57, 60-62
functional model, 99-103, 106, 261, 264-267
CBM (Component Business Modeling), 79-81
accountability levels, 80
business competencies, 79
CEP (complex event processing), 250
channels, 27
As-a-Service models
IaaS, 177
PaaS, 178
SaaS, 178
hosting, 176
hybrid cloud deployment models, 177
private cloud deployment models, 177
public cloud deployment models, 176
virtualization, 139
CMS (Cloud Management Services), 178-180
cognitive computing, 204, 216, 228
collaboration diagrams, 85
COM (conceptual operational model), 114
developing, 114
defining zones and locations, 115-116
identifying components, 116-117
placing the components, 118
DUs, linking, 122
for Elixir case study, 141, 146
communicating best practices, 13
comparing
architecture and design, 9
Business Context and System Context, 23
compatibility, 112
completeness DLT, 67
complexity of integration, 152
compliance factors for architecture decisions, 66-67
component architecture, 20
component meta-model, 94
component responsibility matrix, 86
components
of COM
placing, 118
interaction at specified design level, 92-94
interface details, capturing, 89
composite business services, 159
Composition Service topology, 160
conceptual architecture of the IT System, 40
conceptual-level design, 81
conceptual models, 245
conceptual nodes, 121
connections, implementing in POM, 131-137
Consumers ABBs, 223
Consumers layer (ARA), 210
containers, Docker technology, 258-259
Core Business Processes component artifacts, 44
core layer, 173
creating architecture decisions, 67-72
cross-cutting viewpoints, 16-17
CRUD, 92
custom enterprise models, 220
data, velocity, 201
Data Acquisition and Access ABBs, 218-219
Data Acquisition and Access layer (ARA), 208
Data and Information component artifacts, 45
Data and Information Security ABBs, 224
database HA, 188
database servers, capacity planning, 191-192
data centers, 176
data entities, associating with subsystems, 90-92
Data Governance layer (ARA)
analytics governance, 212
integration governance, 211
Data Information and Security layer (ARA), 212
data/information architecture, 41
Data Integration and Consolidation ABBs, 221
Data Integration and Consolidation layer (ARA), 209
data-level integration, 154-155
Data Repository ABBs, 219
Data Repository layer (ARA), 209
data type ABBs, 217
data types layer (ARA), 208
data virtualization, 221
DDUs (data deployable units), 118-119
decisions, architecture decisions, 20
defining
location of system components, 115-116
software architecture, 8
System Context, 23
delivery channels, 27
dependencies between ABBs, 11
deployment models, cloud computing, 257-258
Descriptive Analytics, 202, 213
Descriptive Analytics ABBs, 225
descriptive modeling, 225
design
best practices, 13
versus architecture, 9
developing
functional model, 81
associating data entities with subsystems, 90-92
component assignment to layers, 94-96
component responsibility matrix, 86
interface specification, 88-90
specified-level design, 85
OM
technical services, 125
development of OM, 113
diagrams
architecture overview, 39
Business Context, 24
Core Business Processes component artifacts, 44
Data and Information component artifacts, 45
Technology Enablers component artifacts, 46
upgrading, 47
Users and Delivery Channels component artifacts, 44
IT System view, 52
banking example, 53
nonfunctional characteristics, 55
vertical layers, 49
System Context
channels, 27
for Elixir, 30
users, 26
dimensional analysis, 225
Direct Connection topology, 160
disadvantages of multitasking, 235
disk subsytem HA, 184
distribution layer, 173
DLPARs (dynamic LPARs), 182
DLTs (Decision Litmus Tests), 67
DMZ, 141
documenting architecture decisions, 66
DR (disaster recovery), 189
DUs (deployable units), 118
DDUs, placing, 119
EDUs, placing, 120
linking, 122
Dynamic Binding, 160
dynamic view of System Context, information flows, 28-29
EAI (Enterprise Application Integration), 160
EDA (event-driven architecture), 246-247
EDUs (execution deployable units), 118-120
Eggen, Bert, 135
elaboration, 109
Elixir case study
architecture overview
functional model case studies, 99-103, 106, 261-267
Integration View case study, 166-170
POM, 147
SOM, 146
System Context, developing, 30-31, 36
enterprise data warehouse, 221
enterprise-level views, 20
enterprise mobile applications, 223
enterprise search, 223
Core Business Processes component artifacts, 44
Data and Information component artifacts, 45
Technology Enablers component artifacts, 46
upgrading, 47
Users and Delivery Channels component artifacts, 44
entities, semantic model, 155
establishing traceability
between architecture and design activities, 78
between requirements and architecture, 79
ETL (Extract, Transform, Load), 218
example of architecture decisions, 70-72
fault tolerance. See also capacity planning
application HA, 188
database HA, 188
operating system HA, 182
SPoF, 181
federated data integration technique, 154
filters, 165
flexibility DLT, 67
functional architecture viewpoint, 11, 15
functional model, 20
developing, 81
Elixir functional model case study, 261-267
logical-level design, developing, 82-85
need for, 77
physical-level design, developing, 96-99
purpose of
establishing traceability between architecture and design activities, 78
establishing traceability between requirements and architecture, 79
linking with operational model, 78
managing system complexity, 78
semantic levels, 81
specified-level design, developing, 85-96
gathering requirements, 233-234
Governance layer (Layered view), 52
HA (High Availability), 180
application HA, 188
database HA, 188
disk subsystem HA, 184
operating system HA, 182
SPoF, 180
HADR (High Availability & Disaster Recovery), 188
horizontal layers, ARA, 208
Analytics Solutions layer, 210
Consumers layer, 210
Data Acquisition and Access layer, 208
Data Integration and Consolidation layer, 209
Data Repository layer, 209
Data Types layer, 208
Models layer, 209
horizontal scalability, 138
hosting, 176
hybrid cloud deployment models, 177
private cloud deployment models, 177
public cloud deployment models, 176
hybrid cloud deployment models, 177
IaaS (Infrastructure as a Service), 177
IBM IT System Viewpoint Library, cross-cutting viewpoints, 16-17
identifying
business use cases, 85
data entities, 90
specification nodes, 126
technical components, 126-128, 131
IDUs (installation deployable units), 118
“-ilities,” 111
impact analysis, 13
implementing nodes and connections in POM, 131-137
independence DLT, 67
industry standard models, 219
Information Architecture layer (Layered view), 51
infrastructure, 21
cloud computing
CMS, 178
deployment models, 176
components, selecting, 131-134
Elixir Systems case study, 192-194
HA, 180
application HA, 188
database HA, 188
disk subsystem HA, 184
operating sytem HA, 182
SPoF, 180
network infrastructure model, 173-175
topologies, 174
yin and yang analogy, 172
infrastructure framework for agile development, 233
insight, 222
integration, 151
API-level integration, 158-160
approaches to, 152
complexity of, 152
data-level integration, 154
federated technique, 154
replication technique, 155
Elixir Integration View case study, 166-170
layers, 152
message-level integration, 156-158
service-level integration, 160
user interface integration, 153-154
integration governance, 211
Integration layer (Layered view), 51
Batch, 162
message transformers, 166
pipes and filters, 165
Synchronous Batch Request-Response, 163
integrity DLT, 67
intercomponent dependencies, 12
interface details, capturing, 89
interface specification, 88-90
IT subsystems, 78
artifacts, 82
banking example, 53
nonfunctional characteristics, 55
KPIs, 227
Kruchten, Philippe, 14
ARA, 207
pillars, 207
vertical layers, 49
layers
assigning components to, 94-96
integration, 152
leadership, 237
legacy adapters, 158
linking
DUs, 122
functional model with operational model, 78
location of system components, defining, 115-116
logical data model, 90
logical-level design, developing, 82
business use cases, identifying, 85
component identification, 83-84
subsystem identification, 82-83
LPAR (logical partitioning), 181
LXC (Linux Containers), 258
MAA (Maximum Availability Architecture), 188
maintainability, 112
managing system complexity, 78
matrix algebra, 134
message-level integration, 156-158
message transformers, 166
micro design, 98
mirroring, 184
Models ABBs, 219
Models layer (ARA), 209
modifiability, 112
MOM (message-oriented middleware), 156
MPLS/VPN (Multiprotocol Label Switching VPN), 175
MPP (massively parallel processing) systems, 252
multitasking, disadvantages of, 235
MVP (minimal valuable product), 234-235
network infrastructure model, 173-175
access layer, 173
core layer, 173
distribution layer, 173
networks. See also infrastructure
cloud computing
hosting, 176
hybrid cloud deployment models, 177
private cloud deployment models, 177
public cloud deployment models, 176-180
HA, 180
application HA, 188
database HA, 188
disk subsystem HA, 184
operating sytem HA, 182
SPoF, 180
segmentation, 175
network switch blocks, 249
next best action, 222
NFRs (nonfunctional requirements), 12-13, 86
HA, 180
nodes
nonfunctional characteristics, IT System view, 55
OM (operational model), 109
COM, 114
development, 113
elaboration, 109
“-ilities,” 111
linking with functional model, 78
need for, 110
NFR attributes, 112
POM, 114
Elixir case study, 147
SOM, 114
Elixir case study, 146
technical viability assessment, 128-129
traceability, 111
OOAD (object-oriented analysis and design), 244-245
open source technologies, 238-239
operating system HA, 182
Operational Analytics, 201-202, 215, 227
operational architecture, 11, 16
operational dashboard, 223
Operational layer (Layered view), 50
PaaS (Platform as a Service), 178
parallel development, 82
parity bits, 187
party checksum, 187
PDUs (presentation deployable units), 118-120
performance viewpoint, 16
physical-level design, developing, 96-99
physical models, 245
pillars of ARA, 207
Cognitive Computing, 216
Descriptive Analytics, 213
Operational Analytics, 215
Predictive Analytics, 214
Prescriptive Analytics, 214
pipes, 165
placing
components of COM, 118
DDUs, 119
EDUs, 120
POM (physical operational model), 114, 246
for Elixir case study, 147
nodes and connections, implementing, 131-137
portability, 112
“The Practical Software Architect,” 7
precision, 112
Predictive Analytics, 202, 214, 225-226, 235-236
predictive asset optimization, 222
predictive customer insight, 222
Prescriptive Analytics, 203-204, 214, 226
private cloud deployment models, 177
problem solving, 239
process breakdown, 29
public cloud deployment models, 177
Publish-Subscribe, 164
purpose of functional model
establishing traceability between architecture and design activities, 78
establishing traceability between requirements and architecture, 79
linking with operational model, 78
managing system complexity, 78
QoS (quality of service), 138-139, 176
QoS layer (Layered view), 51
quality attributes, 111
RAID 0, 184
RAID 5, 184
RAID 6, 185
RAID 10, 186
rationalizing
real-time model scoring, 227
recommender systems, 222
recursive use of software architecture, 9-10
replication data integration technique, 155
reporting dashboard, 223
reporting workbench, 225
representing information flows, 28
requirements gathering, 29, 233-234
requirements viewpoint, 15
retail example of COM, 114, 122
road analogy for network topologies, 133
roles of users, 27
SaaS (Software as a Service), 178
horizontal scalability, 138
vertical scalability, 138
scale out, 138
scale up, 138
schema at read techniques, 251
schema at write techniques, 251
secured zone, 141
security, 112
security viewpoint, 17
segmentation, 175
selecting infrastructure components, 131-134
semantic integration, 221
semantic levels of functional model, 81
semi-structured layer, 217
send and forget processing model, 158
Service Components layer (Layered view), 50
service-level integration, 160
service registries, 249
Services layer (Layered view), 50
SLAs, 173
SOA (service-oriented architecture), 49, 246
ABBs, 8
addressing nonfunctional capabilities, 12-13
best practices, 13
defining, 8
impact analysis, 13
representations, 11
viewpoints, 10
business architecture viewpoint, 11
functional architecture viewpoint, 11
operational architecture viewpoint, 11
Solution as a Service, 178
solution viewpoint, 15
SOM (specification operational model), 114
developing, 125
identifying specification nodes, 126
identifying technical components, 126-128
for Elixir case study, 146
technical viability assessment, 128-129
specification nodes, identifying, 126
specified-level design, developing, 85
associating data entities with subsystems, 90-92
component assignment to layers, 94-96
component responsibility matrix, 86
interface specification, 88-90
specified models, 245
SPoF (single points of failure), 180
store and forward processing model, 158
stream computing, 250
structured data, 217
subsystems, 78
artifacts, 82
associating with data entries, 90
supervised learning techniques, 253
Synchronous Batch Request-Response, 163
Synchronous Request-Response, 162
system complexity, managing, 78
capturing, 25
defining, 23
diagrams, 26
channels, 27
dynamic view, information flows, 28-29
systems integration, 151
API-level integration, 158-160
approaches to, 152
complexity of, 152
data-level integration, 154
federated technique, 154
replication technique, 155
Elixir Integration View case study, 166-170
integration patterns, 161
aggregation, 164
Batch, 162
message transformers, 166
pipes and filters, 165
Publish-Subscribe, 164
Store and Forward, 164
Synchronous Batch Request-Response, 163
Synchronous Request-Response, 162
layers, 152
message-level integration, 156-158
service-level integration, 160
user interface integration, 153-154
systems of engagement, 206
systems of insight, 206
tabular format for capturing architecture decisions, 69-70
technical architecture, 41
technical components, identifying, 126-128, 131
technical services, developing, 125
technical viability assessment of SOM, 128-129
technical viewpoint, 16
technology adapters, 29
technology agnostic views, 39
technology-driven architecture, 237-238, 248
Technology Enablers component artifacts, 46
ThePSA, 7
three-tier hierarchical network model, 173-175
TOGAF (The Open Group Architecture Framework), 41
Tonnage Per Hour, 213
top-down functional decomposition, 244
topologies, 174
traceability, 79
accountability levels, 80
business competencies, 79
establishing
between architecture and design activities, 78
between requirements and architecture, 79
OM, 111
traits of leaders, 237
triple stores, 251
TSA (Tivoli System Automation), 188
UML (Unified Modeling Language), 83, 90
unstructured data, 218
unsupervised learning techniques, 253
untrusted zone, 141
upgrading Enterprise view, 47
usability, 112
use cases
architecturally significant use cases, 11
identifying, 85
system use cases, 85
user interface integration, 153-154
users
roles, 27
System Context diagram, 26
Users and Delivery Channels component artifacts, 44
validating
validation viewpoint, 16
validity DLT, 67
value creation, 200
velocity, 201
vertical layers
ARA, 210
Data Governance layer, 211-212
Data Information and Security layer, 212
in Layered view, 49
vertical scalability, 138, 191
viewpoints
cross-cutting viewpoints, 16-17
of software architecture, 10, 14
business architecture viewpoint, 11
functional architecture viewpoint, 11
operational architecture viewpoint, 11
views, 39
Core Business Processes component artifacts, 44
Data and Information component artifacts, 45
Technology Enablers component artifacts, 46
upgrading, 47
Users and Delivery Channels component artifacts, 44
banking example, 53
nonfunctional characteristics, 55
vertical layers, 49
technology agnostic, 39
virtualization, cloud-based, 139
VLANs, 176
VPNs (virtual private networks), 175
Web APIs, 160
web servers, capacity planning, 190
Web Services, 160
work products, 26
writing down your problems, 239
XOR logic, 187
yin and yang analogy of infrastructure, 172
back office zone, 142
DMZ, 141
secured zone, 141
untrusted zone, 141
3.144.21.158