Difference between revisions of "Mistral/Blueprints/PoC"
< Mistral | Blueprints
(→Design) |
|||
Line 15: | Line 15: | ||
=== Design === | === Design === | ||
− | [[File:Mistral PoC Architecture.png|700x500px|thumbnail| | + | [[File:Mistral PoC Architecture.png|700x500px|thumbnail|center|Picture 1. Mistral PoC Architecture]] |
+ | |||
+ | The suggested design consists of the components described below. For PoC we suggest running all the components within the same process but design them so that we can easily split them moving forward (arrows on the picture will become network interactions). | ||
==== Mistral REST API ==== | ==== Mistral REST API ==== | ||
+ | |||
==== Mistral Python Client ==== | ==== Mistral Python Client ==== | ||
− | ==== | + | ==== Demo App ==== |
==== Event Scheduler ==== | ==== Event Scheduler ==== | ||
+ | |||
+ | ==== DSL Parser ==== | ||
+ | |||
+ | ==== Workflow Execution ==== |
Revision as of 05:09, 28 November 2013
Contents
Mistral Proof of Concept
We need to create a small PoC project illustrating main Mistral ideas.
Etherpads
- https://etherpad.openstack.org/p/TaskServiceDesign
- https://etherpad.openstack.org/p/MistralDesignAndDependencies
Requirements
Capabilities implemented in the scope of PoC should include:
- Basic Workflow Engine capable of analyzing task graphs, resolving dependencies between tasks and processing them in the right order
- Simple storage (RDBMS for now) access layer to it for storing task graphs and workflow execution states
- Basic DSL for defining tasks, task dependencies, actions and action transports (currently HTTP and AMQP)
- REST API for uploading task graphs and executing workflows
- Necessary test suite to validate the above functionality
Design
The suggested design consists of the components described below. For PoC we suggest running all the components within the same process but design them so that we can easily split them moving forward (arrows on the picture will become network interactions).