Trends in Software Architecture and the Works of Ecclesiastes
by Jeffrey Sward
Predicting the future has always been fraught with peril. For example, it was a common prediction in the 1950s that by the year 2000 personal helicopters would have largely replaced personal automobiles.
Yet the desire to predict the future, especially in certain areas of technology, is a human condition which seems to persist beyond all reason. It was thusly with great amusement when a rather erudite colleague pointed out this Article on 10 Must-Know Topics in Software Architecture in 2009 by Dion Hinchcliffe. Although much of this article is well founded, it is certainly presumptuous to declare 2009 a transition year for software architecture. Although, certainly there will be articles next year extolling 2010 a transitional year for software architecture.
To further delve into some of the more entertaining future-based topics in the Hinchcliffe article, the following are worth noting:
  • Cloud computing is not new. Cloud computing is a reinvention of time share, which existed in full force in the 1960s and 1970s.
  • The rise of non-relational databases has been predicted regularly since the invention of relational databases circa 1970. Going back to the fundamental theories of Knuth, there are basically only two ways to organize databases: hierarchically and relationally. The world is not hierarchical. Data is best represented by multiple relationships which can exist and/or be created on any level at any time, which is what the relational database model accomplishes. For example, one of the most entertaining regular predictions of the last decades has been rise of the object-oriented database to replace relational database. However, being of the impractical hierarchical variety, object-oriented databases went nowhere fast.
  • Since distributed computing has been around for decades, exactly how does one determine what the next-generation of distributed computing actually is? Probably the next-generation distributed computing is whatever any particular author thinks it is.
  • Web-Oriented Architecture is clearly a buzz-word rehash of Service Oriented Architecture
  • Open Supply Chains via API's is rephrasing of Electronic Data Interchange (EDI) which has existed for decades in various incarnations.
  • Refer to this author's discussion of dynamic languages in the article on The Quest for the Perfect Programming Language and Other Myths.
To summarize these thoughts in a somewhat more elegant manner, it is useful to quote one of the great software architects of history, a Mr. Ecclesiastes:
Vanity of vanities. All is vanity. The thing that hath been, it is that which shall be; and that which is done is that which shall be done: and there is no new thing under the sun.

All written content of this web site is solely the editorial opinion of Jeffrey Sward. All images, graphics, and written content of this web site, including the html files, are creative products covered by copyright law. All content copyright Jeffrey Sward 1975-2019. All rights reserved. No portion of this web site or its constituent elements may be reproduced in any form, by any means, without prior written permission. So there.