Maintaining and evolving deployed applications is a challenging task, as the Java platform provides no support for versioning or dynamic updates. In most cases, fixing a bug (no matter how small) requires a system shutdown while running multiple versions of the same applications inside the same VM is no-go. This session will show developers how to address these problems and simplify the impacts on deployment procedures as software evolves. The session will focus on modularizing Java applications by using an OSGi platform which, used today, can simplify tomorrow’s application deployments. What exactly is OSGi and how can you use it? What’s all the fuss about it? What are the benefits and where does the Spring framework fit it? This session will provide a quick, practical introduction to the OSGi platform, review how it is currently used in the industry, and provide guidance on how Spring Dynamic Modules can be leveraged in today’s projects.