With the Java 9 release, the Java Platform Module System (JPMS) is coming. The JPMS will finally modularize the class libraries provided by the JVM. In addition, the JPMS can be used by developers to modularize applications. This allows developers to split their applications into modules. These modules can then specify what other modules they require and what packages they export for use by other modules.
The OSGi specification has been providing a module system for Java applications for a long time already which also allows developers to modularize their applications into modules (a.k.a. bundles). With OSGi, developers have created many modular applications that are also extensible by installing more bundles provided by third parties.
When JPMS is released, developers can start to deliver their own Java modules for the JPMS. What happens when developers want to use Java modules to compose applications which are running on a container that is built using the OSGi module system? Will such a container be able provide its APIs in such a way that JPMS modules can require and access them?
This talk will discuss how OSGi applications or platforms can live in a JMPS world.