O'Reilly logo

97 Things Every Software Architect Should Know by Richard Monson-Haefel

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 48. Don't Control, but Observe

Gregor Hohpe is a software architect with Google, Inc. Gregor is a widely recognized thought leader on asynchronous messaging architectures and service-oriented architectures. He coauthored the seminal book Enterprise Integration Patterns (Addison-Wesley Professional) and speaks regularly at technical conferences around the world.

Gregor Hohpe
image with no caption

TODAY'S SYSTEMS ARE DISTRIBUTED AND LOOSELY COUPLED. Building loosely coupled systems is a bit of a drag, so why do we bother? Because we want our systems to be flexible so they do not break apart at the slightest change. This is a critical property in today's environments, where we may only control a small portion of our application, the remainder living in distributed services or third-party packages, controlled by other departments or external vendors.

So, it looks like the effort to build a system that is flexible and can evolve over time is a good idea. But that also means our system will change over time. As in "today's system is not what it was yesterday." Unfortunately, this makes documenting the system challenging. It's commonly known that documentation is out of date the moment it is printed, but in a system that changes all the time, things can only be worse. Moreover, building a system that is flexible generally means the architecture is more complex and it's more difficult to get the proverbial ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required