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»Eventsfor each dataElement. - All change drivers are modeled using a Workflow Trigger.
«Workflow»EventHandlerhandles all definedonCreate,onModifyandonTransitiontriggers.«Transition»Scheduleimplements allscheduletriggers for a specific transition.«Workflow»EngineBeanimplements a subset of the FlowEngine trigger, to facilitate an easier migration path.
- Each workflow has a
«Workflow»Schedulerwhich 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»QueuedProcessorcontains 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»QueueDriverdeals with the connection to the queue. By default, the component provides anApplicationPersistenceandInMemoryqueue driver.«Processor»Processingis responsible for submitting TaskJobs to the underlying resources. The component providesAsynchrounousandExecutorServiceimplementations to use the JavaEE@AsynchronousandManagedExecutorServiceAPIs respectively.
- Each transition has its own
«Transition»Transitionerwhich deals with transactionality, task execution and recovery. It will also emit a«DataElement»TransitionEventat the end of each transition.