In terms of the ability of a small nation to maintain control over a large geographical, demographical and cultural expanse continuously over many hundreds of years, the Roman Empire was the most successful empire the western world has ever known. Many historians attribute this success to the martial skills of the Roman armies, or to the civilizing influence of Roman law, and they are right. But that is not the full story, because neither of these factors would have been of lasting value if they were not enabled by something else – Roman plumbing.
Think of it this way: suppose you come with a group of colonists to Romanize some barbarian region, and most of your colonists die within ten years. What are your chances of pacifying the local barbarians and acquainting them with the virtues of Roman law? Not very high, I should think, unless you get more reinforcements than the empire can afford. But if those colonists were to live on average until they are fifty instead of thirty, you are much more likely to succeed. And that is precisely the contribution of Roman plumbing. It enabled the Romans to largely avoid early deaths due to infectious diseases, thereby greatly increasing the availability of the soldiers and administrators needed to make the empire work.
The longevity of information systems is every bit as important to modern organizations as the longevity of its personnel was to the Roman Empire. Typically, these systems are changed every time there is a new requirement, becoming less well documented and more difficult to understand and maintain with each change, until they collapse under their own weight. They cannot adapt efficiently and quickly enough to new requirements.
The natural response to failing information systems is to replace them. But there is another way. It is possible to isolate them from many sources of change. For example, rather than adding functionality within the application in order to expose its data via services, it is possible to use functionality within the DBMS to generate services that expose its data using namespaces that are based on the data structure in the database. That is inexpensive to do and is generally sufficient for direct human consumption, for example by means of a portal. These services can subsequently be made amenable for automated selection, sorting and processing using the translation and enrichment facilities of a service bus, again at low cost compared with the cost of replacing the system. These services can be further enhanced to enrich this data with context data from other sources, if necessary using an operational data store to improve response times. In this way the existing systems can be leveraged, rather than replaced. This leverage has the further advantage that when the time does come to replace the current system, the effort and risk associated with converting the data from the old to the new is vastly reduced.
In the approach outlined above, the architectural focus is on the connections between the systems, rather than on the systems themselves. Making the connections in the right way isolates the systems from each other, so that a change to one of them has minimal impact on the others. Architecture is plumbing.
In 1871, the success of plumbing in saving lives lead the future King Edward VII of England – whose father, the husband of Queen Victoria, had died of typhoid – to exclaim: “If I could not be a prince, I would rather be a plumber”. I translate that as “If I cannot be a CEO, I would rather be an IT architect”.