Nach Einführung der Objektorientierung hat die Komplexität von Software-Komponenten zugenommen. Dies führte zu Unübersichtlichkeiten in den Architekturen, insbesondere Abhängigkeitszyklen ließen die Applications an die Wachstumsgrenzen stoßen. Immer häufiger setzen Unternehmen heute einen Enterprise Service Bus ein, um die Multi Tier Architektur auf eine einheitliche Basis zu stellen.
Moderne Software Architekturen werden heute deshalb in der Regel als Multi Tier Architekturen konzipiert. In der Praxis bedeutet das die Abgrenzung verschiedener Schichten, sodass die Wiederverwertbarkeit, Wartbarkeit, Testbarkeit und weiter erfolgskritische Anforderungen gewährleistet werden können. Es wird eine Ordnung in die Komponenten gebracht, mit der zyklische Abhängigkeiten eliminiert werden können. Die Software wird überschaubarer, komplexere Herausforderungen können leichter angegangen werden.