Plugin Architecture
Image Added
Figure 1: Joget Plugin Architecture
Standard Java Plugin
- Build as a standard Java JAR
- Plugin classes should place in a package name start 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 thus prevents 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