You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 3
Next »
What is Plugin?
- Allows the functionality of the system to be extended dynamically.
- To achieve extensibility and adaptability of product features
- Any kind of integration that is not yet available in Joget Workflow as standard feature can be accomplished by developing a plugin, without breaking the fundamental core of the product.
- Joget Workflow plugin architecture supported 2 type of plugin structure
- Standard Java Plugin
- Dynamic OSGi Plugin
Plugin Architecture
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