Frank Buschmann is Software Engineer at Siemens Corporate Technology in Munich, Germany. His research interests include object technology, software architecture, application frameworks, and patterns. He has published widely in all these areas, most visibly as a co-author of the two volumes of the Pattern-Oriented Software Architecture book series: "A System of Patterns" and "Patters for Concurrent and Networked Objects".
In his development work, Frank has lead the design and implementation of several large-scale industrial software projects, including business information, industrial automation, and telecommunication systems.
When not at work Frank spends most of his time enjoying life with his wife Martina, watching the time go by in Munich beer gardens, having fun biking, skiing, and horse-riding, getting excited when watching his favorite soccer team Borussia Dortmund, dreaming when listening to a performance at the Munich opera, and relaxing with rare Scotch single malts before bedtime.
Monday 09:00 - 10:00 (Conference Hall)
The Art of Architecture, part I
Wednesday 13:00 - 14:00 (Tutorial Room)
The Art of Architecture, part Il
Wednesday 14:15 - 15:00 (Tutorial Room)
Notes on the Forgotten Art of Building Software Architectures
Everybody is praising the benefits of contemporary distributed object computing and component middleware. CORBA, J2EE, COM+, EJB, and other platforms are used in everybodies working environment, and new such platforms are announced almost every new year, such as .NET. All these platforms promise to make software develompent easy, productive, and successful.
Unfortunately, exactly these benefits are these platforms biggest drawback! For example, it is true that CORBA, J2EE, .NET, and other platforms make it easy to access a remote component and use its services. This "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 used. The consequence of such misbelief 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 contemprary platforms can only help you in doing your job. They will not do yuur job for you. Calling for the next 700 middleware platforms that hopefully will resolve these "problems" is the wrong conclusion, however. Rather every person in the software business should acknowledge that there is no substitute for human intelligence, creativity, experience, dilligence, and judgement. Software architectures must be built with care. Otherwise the resulting systems will not only use the underlying middleware ineffectively, they will also not provide the functional and non-functional requirements they are supposed to meet.
This talk 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 into everybodies mind.