Framework · 1999–now · Object Wave
J2EE / EE frameworks
EJB-heavy stacks taught a generation that XML config was architecture. Spring and lighter runtimes absorbed the survivors.
J2EE sold application servers as the product instead of the app. Teams drowned in deployment descriptors while PHP shops shipped features. It mutated into Spring Boot because the market punished ceremony, not Java itself.
Case studies
- Lidl walks away from SAP Retail — Estimated €500M+ over seven years before abandonment
- Deutsche Bank absorbs Postbank into integration purgatory — Multi-year, multi-billion IT integration; branch and core systems lagged for a decade
- The ESB hub that became the outage — Hours of nationwide payment and branch downtime; remediation and audit costs in the tens of millions
- Enterprise blockchain pilots that never left the lab — Eight-figure innovation budgets; production traffic near zero
- Low-code to replace engineering — then hire engineers — Seven-figure platform licenses; shadow IT integration debt
Patterns

Context
Everything became an object — until it didn't
Objects promised reuse; enterprises bought the promise in bulk. Java gave a portable runtime with real teeth. CORBA and UML-heavy processes gave vendors a decade of workshops. The survivors were the languages and platforms that outlived the methodology theater. The lesson — complexity sold as architecture burns cash — returns every decade with new branding.
Compare with
Related
Language · 1995–now
Java
Write once, run everywhere — then enterprise forever. Still the backbone of serious backend estates.
Framework · 2003–now
Spring
Java's practical operating system for apps. DI and Boot made enterprise Java shippable again.
Practice · 1998–2014
XML-as-architecture
When every wiring decision lived in 4,000-line XML files. Configuration became a second programming language nobody wanted.