Home > Store

Practical Software Architecture: Moving from System Context to Deployment

Register your product to gain access to bonus material or receive a coupon.

Practical Software Architecture: Moving from System Context to Deployment

eBook (Watermarked)

  • Your Price: $31.99
  • List Price: $39.99
  • Includes EPUB, MOBI, and PDF
  • About eBook Formats
  • This eBook includes the following formats, accessible from your Account page after purchase:

    ePub EPUB The open industry format known for its reflowable content and usability on supported mobile devices.

    MOBI MOBI The eBook format compatible with the Amazon Kindle and Amazon Kindle applications.

    Adobe Reader PDF The popular standard, used most often with the free Adobe® Reader® software.

    This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.


  • Copyright 2016
  • Dimensions: 7" x 9-1/8"
  • Edition: 1st
  • eBook (Watermarked)
  • ISBN-10: 0-13-376316-1
  • ISBN-13: 978-0-13-376316-4

Getting Architecture Just Right: Detailed Practical Guidance for Architecting Any Real-World IT Project

To build effective architectures, software architects must tread a fine line between precision and ambiguity (a.k.a. big animal pictures). This is difficult but crucial: Failure to achieve this balance often leads directly to poor systems design and implementation. Now, pioneering IBM Distinguished Engineer and Chief Technology Officer Tilak Mitra offers the first complete guide to developing end-to-end solution architectures that are “just enough”--identifying and capturing the most important artifacts, without over-engineering or excessive documentation, and providing a practical approach to consistent and repeated success in defining software architectures.

Practical Software Architecture provides detailed prescriptive and pragmatic guidance for architecting any real-world IT project, regardless of system, methodology, or environment. Mitra specifically identifies the artifacts that require emphasis and shows how to communicate evolving solutions with stakeholders, bridging the gap between architecture and implementation.

Through a real-world case study, Mitra guides you iteratively through building an end-to-end solution architecture. Step by step, he addresses key topics in developing system contexts, architecture overviews, architecture decisions, functional models, operational models, integration patterns for systems design, infrastructure matters, and more. Throughout, you’ll find clear, crisp, and accurate guidance for crafting architectures that can be confidently delivered on time and budget.

Coverage Includes

  • Using architecture to promote communication, enable planning, and support functional as well as nonfunctional capabilities (such as scalability, performance, maintainability, and security)
  • Focusing on the architectural problem at hand and avoiding overreliance on theory and generalization
  • An architectural introduction to analytics
  • Capturing “just enough” about system context, architecture overview, architecture decisions, functional models, and operational models
  • Integration patterns and their usage in architecture design
  • Infrastructure matters in any software architecture
  • A real-world case study and its software architecture

Sample Content

Table of Contents

Foreword     xv
Preface     xvi
Chapter 1: Case Study     1

The Business Problem     1
Summary     5
Chapter 2: Software Architecture: The What and Why     7
Some Background     7
The What     8
The Why     10
Architecture Views and Viewpoints     14
Summary     17
References     18
Chapter 3: Capturing Just Enough     19
Architecture Aspects in Focus     19
Summary     21
Chapter 4: The System Context     23
The Business Context Versus System Context Conundrum     23
Capturing the System Context     25
Case Study: System Context for Elixir     30
Summary     36
References     37
Chapter 5: The Architecture Overview     39
What It Is     39
Why We Need It     41
The Enterprise View     42
The Layered View     47
The IT System View     52
Case Study: Architecture Overview of Elixir     57
Summary     63
References     63
Chapter 6: Architecture Decisions     65
Why We Need It     65
How to Get Started     66
Creating an Architecture Decision     67
Case Study: Architecture Decisions for Elixir     72
Summary     75
Chapter 7: The Functional Model     77
Why We Need It     77
A Few Words on Traceability     79
Developing the Functional Model     81
Case Study: Functional Model for Elixir     99
Summary     107
References     108
Chapter 8: The Operational Model     109
Why We Need It     110
On Traceability and Service Levels     111
Developing the Operational Model     113
Case Study: Operational Model for Elixir     141
Summary     149
References     150
Chapter 9: Integration: Approaches and Patterns     151
Why We Need It     151
Approaches to Integration     152
Integration Patterns     161
Case Study: Integration View of Elixir     166
Summary     169
References     170
Chapter 10: Infrastructure Matters     171
Why We Need It     172
Some Considerations     172
Case Study: Infrastructure Considerations for Elixir     192
Summary     194
So Where Do We Stand?      195
References     196
Chapter 11: Analytics: An Architecture Introduction     199
Why We Need It     200
Dimensions of Analytics     201
Analytics Architecture: Foundation     205
Architecture Building Blocks     216
Summary     228
References     230
Chapter 12: Sage Musings     231
Agility Gotta Be an Amalgamate     231
Traditional Requirements-Gathering Techniques Are Passe     233
The MVP Paradigm Is Worth Considering     234
Do Not Be a Prisoner of Events     235
Predictive Analytics Is Not the Only Entry Point into Analytics     235
Leadership Can Be an Acquired Trait     236
Technology-Driven Architecture Is a Bad Idea     237
Open Source Is Cool but to a Point     238
Write Them Up However Trivial They May Seem     239
Baseline Your Architecture on Core Strengths of Technology Products     240
Summary     241
References     241
Appendix A: 25 Topic Goodies     243
What Is the Difference Between Architecture and Design?      243
What Is the Difference Between Architectural Patterns, Design Patterns, and a Framework?      243
How Can We Compare a Top-Down Functional Decomposition Technique and an Object-Oriented Analysis and Design (OOAD) Technique?      244
What Is the Difference Between Conceptual, Specified, and Physical Models?      245
How Do Architecture Principles Provide Both Flexibility and Resilience to Systems Architecture?      245
Why Could the Development of the Physical Operational Model (POM) Be Broken into Iterations?      246
What Is a Service-Oriented Architecture?      246
What Is an Event-Driven Architecture?      246
What Is a Process Architecture?      247
What Is a Technology Architecture?      248
What Is an Adapter?      248
What Is a Service Registry?      249
What Is a Network Switch Block?      249
What Are Operational Data Warehouses?      249
What Is the Difference Between Complex Event Processing (CEP) and Stream Computing?      250
What Is the Difference Between Schema at Read and Schema at Write Techniques?      251
What Is a Triple Store?      251
What Is a Massively Parallel Processing (MPP) System?      252
IBM Watson Is Built on DeepQA Architecture. What Is DeepQA?      252
What Is the Difference Between Supervised and Unsupervised Learning Techniques?      253
What Is the Difference Between Taxonomy and Ontology?      253
What Is Spark and How Does It Work?      254
What Are Some of the Advantages and Challenges of the Cloud Computing Platform and Paradigm?      256
What Are the Different Cloud Deployment Models?      257
What Is Docker Technology?      258
Summary     259
References     259
Appendix B: Elixir Functional Model (Continued)      261
Logical Level     261
Specified Level     264
Physical Level     267
Index     269


Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership