Digital Experience Manager and OSGi

  Written by The Jahia Team
   Estimated reading time:

In version 7.0, Digital Factory introduced the possibility to use OSGi to package and distribute Digital Factory modules. This means that you can now dynamically deploy and undeploy modules into a Digital Experience Manager installation, making it easier to manage modules during both development and production phases.

What’s new?

In the following table we show the main differences in module development before and after OSGi introduction in Jahia’s Digital Experience Manager.

  Before OSGi With OSGi
Class or library deployment Requires web app restart No restart needed
Module is "exploded" on deployment
Quick changes to source files don't require deployment Only works in exploded directory, not module's source 
External libraries are deployed into WEB-INF/lib and exposed to all other modules
Undeployment cleans up everything immediately
Modules depending on others cannot be deployed without their dependency
Modules started/stopped after installation

For administrators:

  • Modules can now be fully undeployed at run-time (including module libraries)
  • No more writing inside web application /modules directory at deployment
  • Deploy directly modules from public or private Forges
  • New tools for module administration & debugging
  • Only declared resources are web accessible (closed by default)
  • And more…

For developers:

  • Undeploy and redeploy any module code changes without restarting Jahia server
  • Deploy-free Coding for JSPs, static files loads updates directly from module source code!
  • Embed your own versions of libraries if the ones bundled with Jahia don’t fit your needs
  • Expose new services or use services registered by other modules
  • New tools to help with OSGi development
  • And a lot more!