Skip to main content

Generated classes

For the process flow behind these classes (change driver, task queue, processing), see Business Processes.

The figure below depicts an overview of the expanded classes to give a better idea of how the resulting code will look and interact.

A few things to note:

  • Events are dispatched through the «DataElement»Events for each dataElement.
  • All change drivers are modeled using a Workflow Trigger.
    • «Workflow»EventHandler handles all defined onCreate, onModify and onTransition triggers.
    • «Transition»Schedule implements all schedule triggers for a specific transition.
    • «Workflow»EngineBean implements a subset of the FlowEngine trigger, to facilitate an easier migration path.
  • Each workflow has a «Workflow»Scheduler which can either dispatch a TaskJob to the queue or directly submit a job to be executed synchronously.
  • The QueuedProcessor WorkflowExecution consists of three parts, each present in the processAutomation component.
    • «Processor»QueuedProcessor contains the logic for interaction between the queue and the available processing resources. It will also perform a (dynamic) JNDI lookup to resolve a TaskJobExecutor, currently always a «Transiton»Transitioner.
    • «Processor»QueueDriver deals with the connection to the queue. By default, the component provides an ApplicationPersistence and InMemory queue driver.
    • «Processor»Processing is responsible for submitting TaskJobs to the underlying resources. The component provides Asynchrounous and ExecutorService implementations to use the JavaEE @Asynchronous and ManagedExecutorService APIs respectively.
  • Each transition has its own «Transition»Transitioner which deals with transactionality, task execution and recovery. It will also emit a «DataElement»TransitionEvent at the end of each transition.