Modularity is key to successful application architecture as it allows to evolve different parts of the system at exactly the pace needed, at exactly the right time for proper reasons. Different architectural styles make varying trade-offs in defining constraints on how to implement modularity resulting in system characteristics and consequences for the organization behind the system.
The talk starts by discussing approaches and tools to identify modules. It then moves on to give an overview about different strategies on how to implement modules at varying levels of granularity, discusses the trade-offs that each of those approaches imply and points to libraries within the Spring eco-system that support developers implementing the particular styles.