The use of OSGi technology has evolved over the past decade from being used to manage devices (service gateways etc.), to providing an extensible framework for desktop applications (Eclipse RCP), to …
The use of OSGi technology has evolved over the past decade from being used to manage devices (service gateways etc.), to providing an extensible framework for desktop applications (Eclipse RCP), to being used by a majority of JEE servers for implementing extensible and modular servers, and as a programming model for developing server-side applications as well as applications deployed to the cloud. When deploying OSGi applications to the cloud the cost of the infrastructure that is required to run the application vs the isolation needs of each individual application must be taken into account. Various architectures are available that range from no-sharing to shared multitenant. With no-sharing each OSGi Application uses its own JVM and OSGi Framework instances in order to run the application. This provides nice isolation for each application but adds additional overhead for each application deployed. Other application models exist, such as OSGi subsystems, that allow applications to share the same JVM and OSGi framework instance to host multiple applications. While this model can provide optimal sharing, it comes at the cost of significantly reducing isolation for each application deployed to the shared OSGi Framework.
This talk will look at opportunities for OSGi applications to take advantage of a Multitenant JVM . A multitenant JVM enables application deployments to gain the advantages of sharing the JVM while maintaining better isolation than can be achieved when a traditional JVM is shared. There are many issues an OSGi Framework implementation must consider when supporting a multitenant JVM in order to share the most resources across the tenants while maintaining the correct level of isolation. This talk will discuss the various issues and (hopefully) some the solutions in the context of the Equinox OSGi Framework implementation.
Tom Watson is a Senior Software Engineer at IBM with years of experience as a developer. His focus is on the architecture and development of OSGi technologies. He is the Equinox project lead at Eclipse, the lead of the EclipseRT Project Management Committee (PMC) and the lead IBM developer for the Equinox OSGi Framework implementation in Eclipse.
Tom has been involved in the development of OSGi technologies since 2002 and plays a key role in the adoption of OSGi technologies by the Eclipse platform. He is currently a member of the OSGi Core Platform Expert Group (CPEG) and made significant contributions to the OSGi specifications over the years.