score is a generic engine that is able to execute workflows. A workflow has a logical structure that resembles a flow-chart.
Workflows contains both logical operations and actions. A workflow must be compiled using one of the available orchestration languages before use.
A compiled workflow is known as content and can take several forms such as jar files or a binary object stored in a database.
The fundamental architecture of the project consists of:
- Worker - The unit that actually executes the steps from the execution plan. Execution logic is optimized for high throughput and is horizontally scalable.
- Orchestrator - A queue-based work distribution mechanism. Highly available and horizontally scalable.
- Persistency for cluster management - Allowing a cluster of orchestrator and worker nodes. Optional for simple single-node deployments.
- Compiler - Compiles a given flow format into an execution plan that can be executed by the workers. The introduction of a new flow formatting language is achieved by hooking the right compiler. Currently, we have an AFL OOTB compiler implemented.
- Remote worker - A worker with remote communication abilities. Can be used to execute work across firewalls.
Note that score deployment has two flavours:
- Simple flavour - Consists of a single-node deployment of orchestrator and worker in the same runtime container. No external DB is required.
- Distributed flavour - A highly available and scalable deployment that requires an external DB schema and a servlet container for hosting the orchestrator node(s).
The content of this open source project is received and distributed under the license(s) listed above. Some source code and binaries may be distributed under different terms. Specific license information is provided in file headers and in NOTICE files distributed with the project's binaries.