Automatic step bundle overview - bluesoft-rnd/aperte-workflow-core GitHub Wiki

Aperte Workflow provies a custom mechanism for integrating Java code into business processes. This functionality, achieved with automatic step bundles, allows to seamlessly integrate code with Aperte Workflow engine or Aperte Workflow Modeler.

Because this mechanism must be integrated with the underlying BPM engine functionality, one must provide needed bindings. Such bindings for jBPM are provided by JbpmStepAction.java. Such approach separates automated step implementation from BPM engine details, resulting in the same steps being compatible with different BPM engines in Aperte Workflow.

Automated step bundle headers

Aperte Workflow detects automated step feature in an OSGi bundle by examining the content of standard manifest file, located in /META-INF/MANIFEST.MF. The bundle can define ProcessTool-Step-Enhancement header with the comma separated list of classes implementing the pl.net.bluesoft.rnd.processtool.steps.ProcessToolProcessStep interface.

ProcessTool-Step-Enhancement: org.aperteworkflow.my.MyJavaStep,org.aperteworkflow.my.OtherJavaStep

Other possible headers include:

  • ProcessTool-Model-Enhancement - comma separated list of domain classes
  • ProcessTool-I18N-Property - contains the name of I18N property file used by this bundle

Automated step bundle resources

Example of automated step bundle

Example of fully functional automated step bundle can be found inside Aperte Workflow Core project, in Drools Step Plugin.