Palladio Workflow Engine/Documentation/Extendible Workflows

Aus SDQ-Wiki

Summary

The Palladio Workflow Engine (WFE) allows for developing workflows with Hooks to register additional jobs for using Eclipse extension points.

The available extension points allow for registering

  1. Additional Jobs to execute at predefined steps
  2. Configuration Builders for job-specific configurations
  3. Launchconfiguration Tabs to add to the workflow configuration

The first and second are provided by the core plugin 'de.uka.ipd.sdq.workflow' as they have no UI dependency. The third is launch configuration specific and thus provided by the 'de.uka.ipd.sdq.workflow.launchconfig' plugin.

Extension Points for adding Jobs

There are two extension points that can be used in plugins to develop jobs contributing to existing workflows. The jobs must always be registered to predefined hooks provided by the workflow to extend. How to develop such extandable workflow is documented further down.

The job and configuration builder extensions are specified through different attributes of the same core extension point. The launch configuration tab extension point is separated as it is the only one with UI dependencies.

Job Extension

Extension Point ID de.uka.ipd.sdq.workflow.job
Providing Plugin de.uka.ipd.sdq.workflow
Extension Point Attribute extension_job
Class to extend AbstractWorkflowExtensionJob

Implementing an AbstractWorkflowExtensionJob you must provide a default constructor. If you want to use a job specific configuration you must implement your custom configuration extending the AbstractExtensionJobConfiguration. The configuration is automatically set through an according setter and available though the configuration attribute.

Configuration builder Extension

Extension Point ID de.uka.ipd.sdq.workflow.job.extension
Providing Plugin de.uka.ipd.sdq.workflow
Extension Point Attribute extension_configurationbuilder
Class to extend AbstractWorkflowExtensionConfigurationBuilder

Launchconfiguration Tab

Extension Point ID de.uka.ipd.sdq.workflow.tab.extension
Providing Plugin de.uka.ipd.sdq.workflow.launchconfig
Class to extend AbstractLaunchConfigurationTab