Intro
Agenda
Why worry about code organization?
Why worry about code organization?
Why worry about code organization?
Why worry about code organization?
First Step: Packages
Package Interdependencies
Package Interdependencies
Package Interdependencies
Package Interdependencies
Package Interdependencies
Package Interdependencies
Package Interdependencies
Package Interdependencies
Package Interdependencies
Next Step: Modules
Module Decomposition
Module Decomposition
Module Decomposition
Module Decomposition
Module Decomposition
Module Decomposition
Module Decomposition
Module Decomposition
Moving Forward...
Evolving a Large Code Base
Evolving a Large Code Base
Evolving a Large Code Base
Evolving a Large Code Base
Evolving a Large Code Base
Evolving a Large Code Base
Case Study: Spring
Case Study: The Evolution of Spring
Case Study: The Evolution of Spring
Case Study: The Evolution of Spring
Case Study: The Evolution of Spring
Case Study: The Evolution of Spring
Case Study: The Evolution of Spring
Case Study: The Evolution of Spring
Tools
Tools for Architectural Analysis
Tools for Architectural Analysis
Structuring a large code base maintained by teams working in parallel can be a real challenge. If you are not disciplined about code structure overtime, you will end up with a tangled, unmaintainable mess that cannot adapt to change and risks ossifying into legacy. This session presents typical challenges in evolving large code bases, focusing on package interdependencies and module decomposition according to 'conceptual boundaries'. We will discuss lessons learned from the Spring project itself, and investigate the use of tools for validating architectural soundness.
Juergen Hoeller has been the most active Spring developer since the open source project began from Rod Johnson's Interface21 framework back in February 2003. Juergen and Rod together continue to provide the direction for Spring.
Juergen has earned great respect in the Spring and J2EE communities for his energy, the quality of his code, his incredible attention to detail, and his huge contribution in Spring forums and mailing lists.
Juergen is an experienced consultant, with outstanding expertise in web applications, transaction management, O/R mapping technologies, and lightweight remoting. He has specialized in J2EE since early 2000, having held technology leader positions in various projects ranging from enterprise application integration to web-based data visualization.