As good developers, we all know we should design our applications in layers. But if our applications can be broken down into smaller parts, why do we still deploy them as big monolithic WAR files?

Spring-DM is a relatively new addition to the Spring portfolio that builds upon the OSGi specification, offering Spring-style dependency injection to OSGi-based components. Using Spring-DM and OSGi, it is possible to assemble applications from fine-grained modules (known as bundles) that can be developed, deployed, and updated independent of each other. This combination of Spring and OSGi offers developers a refreshing lightweight component framework that will dramatically change the enterprise Java landscape (as evidenced by the recent announcement of the SpringSource Application Platform).

In this example-driven session, I'll show you the basics of building Spring-DM components, starting with a simple "Hello World" example and then ramping up quickly to a full-blown web application. You'll learn how to publish and consume services, how to extend bundles with OSGi fragments, and (if time allows) how to write integration tests against your component bundles.

The PDF is here.

A screencast is here.