Modularity in Java using OSGi
Abstract
OSGi has seen a tremendous adoption in the last few years and it looks like it is only the beginning. The key reason is that today software is more and more build of components that come from many different sources. The success of open source has caused a tremendous change in how we develop software today. However, it turns out in practice that our current software infrastructure has a hard time handling the complexity caused by building systems out of many large components that were not always intended to work together, have their own evolution trajectory, and have often overlapping functionality.
Though Java has done a tremendous job of providing a solid platform, it sorely lacks modularity. The only way to manage the complexity of today's system is to ensure that all parts are encapsulated, properly versioned, and share a common collaboration mechanism. This is exactly the area that OSGi has been focusing on for the past decade. Originally starting as a standard for home gateways it has grown in a small, concise layer on top of Java providing strong modularity to Java components.
This presentation will show where the key shortcomings are in Java that make OSGi so useful for most Java developers.
This presentation does not require prior experience with OSGi.