| Architecture Evolution: From Mainframes to Service-oriented Architecture P.J. Jakovljevic - September 18, 2006 Software architecture can be defined simply as the design or blueprint of an application or software package. This blueprint describes the layout of the application's deployment, including partitioning its business logic between servers (computers). The architecture thus incorporates protocols and interfaces for interacting with other programs or computers, and all these should vouch for future flexibility and expandability. Conversely, while a self-contained, stand-alone program does have some program logic, it certainly does not have software architecture. This is not to imply that stand-alone programs do not need design, but rather that for the purpose of this article, architecture comes in when one talks about "systems of systems." Over the last few decades, the enterprise applications architecture has certainly gone through several waves of evolutionary steps and improvements, so that even our article from the early 2000s now sounds quite archaic... |