Ubiquitous OSGi - Android, Graal Substrate, Java Modules, Flat Class Path
OSGi provides a solid foundation for developing modular software. The combination of the OSGi activation model with the OSGi service model provides for an unparalleled platform for developing loosely coupled components that are highly configurable at runtime. In some scenarios, however, it can be challenging to live within the OSGi module layer as it is defined today. The following are a few examples:
* Java Modules built into a jlink image or run from the module path
* Applications natively compiled using something like Graal Substrate
* JARs included on the flat class path
* Android applications
This talk will introduce a new specification coming to the future OSGi Core Release 8 specification called OSGi Connect [1]. OSGi Connect will allow the usage of the OSGi activation model and OSGi service registry in environments where it would be difficult to realize without Connect. We will go into the details of the new Apache Felix Atomos project [2] which uses OSGi Connect along with an OSGi R8 compliant framework, such as Equinox or Felix, to support loading OSGi bundles in ways that were typically not possible before. Atomos will be used to demonstrate OSGi applications running in a wide variety of environments, including a jlink image, a native-image, an Android application and various examples of a flat class path.
[1] - https://blog.osgi.org/2020/03/osgi-core-r8-specification-available.html
[2] - https://github.com/apache/felix-atomos
Slides:
https://www.eclipsecon.org/sites/default/files/slides/EclipseCon2020_UbiquitousOSGi.pdf
Speaker(s):
Thomas Watson (IBM)
Karl Pauls (Adobe)