Die Qualität der Software-Architektur ist einer der entscheidenden Erfolgsfaktoren bei der Entwicklung eines großen Firmensystems. Ein guter Software-Architekt spielt deshalb eine zentrale Rolle in jedem anspruchsvollen Projekt: Er hat die Gesamtübersicht über das System und gibt den Rahmen für die Implementierung vor. Um hier erfolgreich zu sein, benötigen Software-Architekten ein fundiertes und umfassendes Entwurfswissen, das über die reine Programmierung und einzelne Spezialgebiete hinaus geht. Das Buch vermittelt dem Leser die grundlegenden Kenntnisse, die ein erfolgreicher Software-Architekt benötigt. Anhand einer Reihe von praxisnahen Beispielen wird gezeigt, wie sich große Systeme in Komponenten zerlegen lassen und welche Beziehungen es zwischen diesen gibt. Weiterhin gibt es Antworten zu essenziellen Fragen im Umfeld der Software-Architektur, wie beispielsweise: Wie gestaltet sich der Entwurfsprozess? Welche Methoden und Beschreibungstechniken sind geeignet? Welche erprobten Lösungen gibt es für technische Aspekte wie Transaktionsverwaltung oder Persistenz?