Everybody is praising the benefits of contemporary distributed object computing and component middleware. CORBA, J2EE, .NET, and other platforms are used in everybody's working environment. All these platforms promise to make software development easy, productive, and successful. Unfortunately, it is precisely these benefits that are these platforms' biggest drawbacks! For example, it is true that CORBA, J2EE, and .NET make it easy to access a remote component and use its services. This apparent "easyness," however, raises the illusion that it is a child's game to master the inherent complexities of large-scale distributed systems with stringent end-to-end quality of service requests, just by passing the responsibilities for these concerns to the middleware. The consequence of such incorrect beliefs is that managers, designers, and developers tend to pay less and less attention to the architecture of the systems they are building. Ultimately, this leads to the failure of these projects.
All contemporary platforms can only help you in doing your job. They will not do your job for you. Software architectures must be crafted with care!
This tutorial therefore explores some of the secrets of building high-quality software architectures, in terms of methodology, design goals, and architectural properties, in order to recall the foundations of the forgotten art of building successful software.
Development and design experience.
Slides, tutorial style but with much interaction with the audience.
Frank Buschmann is senior principal engineer at Siemens Corporate Technology in Munich, Germany. His interests include Object Technology, Frameworks and Patterns. Frank has been involved in many software development projects. He is leading Siemens' pattern research activities. Frank is co-author of "Pattern-Oriented Software Architecture -- A System of Patterns" and "Pattern-Oriented Software Architecture -- Patterns for Concurrent and Networked Objects"