Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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 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