Books & Videos

Table of Contents

  1. On Architecture

    1. Chapter 1 What Is Architecture?

      1. Introduction
      2. Creating a Software Architecture
      3. Architectural Structures
      4. Good Architectures
      5. Beautiful Architectures
      6. Acknowledgments
      7. References
    2. Chapter 2 A Tale of Two Systems: A Modern-Day Software Fable

      1. The Messy Metropolis
      2. Design Town
      3. So What?
      4. Your Turn
      5. References
  2. Enterprise Application Architecture

    1. Chapter 3 Architecting for Scale

      1. Introduction
      2. Context
      3. The Architecture
      4. Thoughts on the Architecture
    2. Chapter 4 Making Memories

      1. Capabilities and Constraints
      2. Workflow
      3. Architecture Facets
      4. User Response
      5. Conclusion
      6. References
    3. Chapter 5 Resource-Oriented Architectures: Being “In the Web”

      1. Introduction
      2. Conventional Web Services
      3. The Web
      4. Resource-Oriented Architectures
      5. Data-Driven Applications
      6. Applied Resource-Oriented Architecture
      7. Conclusion
    4. Chapter 6 Data Grows Up: The Architecture of the Facebook Platform

      1. Introduction
      2. Creating a Social Web Service
      3. Creating a Social Data Query Service
      4. Creating a Social Web Portal: FBML
      5. Supporting Functionality for the System
      6. Summation
  3. Systems Architecture

    1. Chapter 7 Xen and the Beauty of Virtualization

      1. Introduction
      2. Xenoservers
      3. The Challenges of Virtualization
      4. Paravirtualization
      5. The Changing Shape of Xen
      6. Changing Hardware, Changing Xen
      7. Lessons Learned
      8. Further Reading
    2. Chapter 8 Guardian: A Fault-Tolerant Operating System Environment

      1. Tandem/16: Some Day All Computers Will Be Built Like This
      2. Hardware
      3. Mechanical Layout
      4. Processor Architecture
      5. The Interprocessor Bus
      6. Input/Output
      7. Process Structure
      8. Message System
      9. File System
      10. Folklore
      11. The Downside
      12. Posterity
      13. Further Reading
    3. Chapter 9 JPC: An x86 PC Emulator in Pure Java

      1. Introduction
      2. Proof of Concept
      3. The PC Architecture
      4. Java Performance Tips
      5. Four in Four: It Just Won’t Go
      6. The Perils of Protected Mode
      7. Fighting A Losing Battle
      8. Hijacking the JVM
      9. Ultimate Flexibility
      10. Ultimate Security
      11. It Feels Better the Second Time Around
    4. Chapter 10 The Strength of Metacircular Virtual Machines: Jikes RVM

      1. Background
      2. Myths Surrounding Runtime Environments
      3. A Brief History of Jikes RVM
      4. Bootstrapping a Self-Hosting Runtime
      5. Runtime Components
      6. Lessons Learned
      7. References
  4. End-User Application Architectures

    1. Chapter 11 GNU Emacs: Creeping Featurism Is a Strength

      1. Emacs in Use
      2. Emacs’s Architecture
      3. Creeping Featurism
      4. Two Other Architectures
    2. Chapter 12 When the Bazaar Sets Out to Build Cathedrals

      1. Introduction
      2. History and Structure of the KDE Project
      3. Akonadi
      4. ThreadWeaver
  5. Languages and Architecture

    1. Chapter 13 Software Architecture: Object-Oriented Versus Functional

      1. Overview
      2. The Functional Examples
      3. Assessing the Modularity of Functional Solutions
      4. An Object-Oriented View
      5. Assessing and Improving OO Modularity
      6. Agents: Wrapping Operations into Objects
      7. Acknowledgments
      8. References
    2. Chapter 14 Rereading the Classics

      1. Everything Is an Object
      2. Types Are Defined Implicitly
      3. Problems
      4. Brick and Mortar Architecture
      5. References
  1. Appendix Afterword

  2. Appendix Contributors

  3. Colophon