| next section: Understanding Almo 2.0: The Almo API |
Understanding Almo 2.0: The Almo data model
The basics
A workflow is a collection of tasks, that are executed to get "something" done. In Java applications you will normally find a number of processes, working on the data model in order to achieve a result. Almo was designed to support the management of such processes. It uses the following concepts.
WorkflowConfiguration
The WorkflowConfiguration is the model of the workflow. It allows you to specify the behaviour of all elements and carries out those actions, that are performed, when elements are added or removed. The WorkflowConfiguration may have one WorkflowInstance.
WorkflowInstance
The WorkflowInstance is derived from a WorkflowConfiguration. It can only be generated, if it is valid, e.g. all parent elements have at least one child element. The WorkflowInstance is the "executable" object of Almo, e.g. can be started and stopped.
Task
The Task is a parent element. An Almo workflow consists of Tasks, which execute their elememts either sequentially or in parallel. Tasks are finished, if all their elements are finshed. Since Tasks offer the possibilty to loop to another Task once they are finished, Tasks have to be implemented. Almo offers a DefaultTask which does not loop to another Task, the next Task is executed instead.
Container
Containers are collections of child elements. The Container itself is a parent and a child element, so you can add it to a Task or a Container. The execution of the elements depends on the implementation. Almo offers two implementations:
- The DefaultContainer: executes its elements in parallel and is finished, if all its elememts are finished
- The SequentialContainer: sequentially executes its elements and is finished, as soon as the last elememt is finished
Operation
Operations are child elements. They are the atomic core of Almo. The leaves of a valid workflow tree always are Operations. They have to be implemented as Threads and provide different ways of handling errors.
The Almo ontology
The Almo ontology models the concepts described above. If Tasks, Containers and Operations are part of the WorkflowConfiguration, they carry the suffix "Configuration", if they are part of the WorkflowInstance, they end with "Instance". Here is an overview of the taxonomy.
| next section: Understanding Almo 2.0: The Almo API |
