The secret weapon for attacking complexity in any project is to break it down into smaller, cohesive, and more easily digestible pieces. Unfortunately, Java lacks critical ingredients necessary to achieve true modularity.

Enter OSGi. OSGi is an established framework for dynamic modularity in Java. With OSGi, you'll be able to realize true modularity in your Java projects, making them more flexible, comprehensible, and testable.

In this first of a two part presentation on OSGi, we'll look at the benefits of modularity, the fundamentals of OSGi, and see how to develop basic OSGi bundles. We'll also see how a few gadgets in the OSGi toolbox can ease the development of OSGi bundles.

This session will set the stage for the second part of the presentation, to be given at the Spring Dallas User Group the following week. In that session, we'll pick up where we left off by seeing how to use Spring Dynamic Modules to declarative publish and consume OSGi services.