Figure 1: Joget Plugin Architecture

Standard Java Plugin

  • Build as a standard Java JAR
  • Plugin classes should be placed in a package name starting with “org.joget”.
  • Make JAR available in the Java classpath (e.g., place it under WEB-INF/lib).
  • Requires restarting the JVM for deployment or changes
  • May cause library version conflicts with base libraries or other plugins
  • Easier to develop and test using normal Java classes and libraries

Dynamic OSGi Plugin

  • Build as an OSGi (Open Services Gateway initiative framework) JAR bundle
  • Deploy JAR using the Manage Plugins in the Web Console.
  • Supports dynamic loading/unloading/reloading without restarting
  • Runs in isolated mode, preventing library version conflict with base libraries or other plugins
  • More difficult to develop and test due to OSGi configuration and isolation
  • Technology powering this structure: Apache Felix
  • No labels