Updated Overall architecture (markdown)

master
Martin Polanka 8 years ago
parent 1cb1855f6a
commit 9b6725ec9f

@ -1,5 +1,21 @@
# Overall Architecture # Overall Architecture
## Components
TODO:
## Communication
TODO:
## Assignments
TODO:
## Submission flow
TODO:
## Common install
TODO:
## Coding style
TODO:
--- Below is original content of this page ---
**ReCodEx** is designed to be very modular. In the following picture main components are arranged into one possible configuration. Note, that connections between components are not fully accurate. **ReCodEx** is designed to be very modular. In the following picture main components are arranged into one possible configuration. Note, that connections between components are not fully accurate.
![Overall Architecture](https://github.com/ReCodEx/GlobalWiki/blob/master/images/Overall_Architecture.png) ![Overall Architecture](https://github.com/ReCodEx/GlobalWiki/blob/master/images/Overall_Architecture.png)
@ -8,18 +24,6 @@
Almost whole communication goes through **Broker** and ZeroMQ messaging middleware. When **Web app** wants to execute submission then all datas are handed over to **Worker** through **Broker**, similar situation is with progress state which start in **Worker** goes through **Broker** then pass **Monitor** and end up in **Web app** (as WebSockets). Only part of communication, which does not include **Broker**, is communication with **File server** which is realized through HTTP commmunication. This communication can be initiated by **Web API** or by **Worker**, other services have no access to **File server**. Detailed view into communication is on separate page [[Communication]]. Almost whole communication goes through **Broker** and ZeroMQ messaging middleware. When **Web app** wants to execute submission then all datas are handed over to **Worker** through **Broker**, similar situation is with progress state which start in **Worker** goes through **Broker** then pass **Monitor** and end up in **Web app** (as WebSockets). Only part of communication, which does not include **Broker**, is communication with **File server** which is realized through HTTP commmunication. This communication can be initiated by **Web API** or by **Worker**, other services have no access to **File server**. Detailed view into communication is on separate page [[Communication]].
## Web app
- TODO
## Web API
- TODO
## Broker
- TODO
## Worker ## Worker
**Worker's** main role is securely execute given submission and possibly _evaluate_ results against model solutions provided by submitter. **Worker** is logicaly divided into two parts: **Worker's** main role is securely execute given submission and possibly _evaluate_ results against model solutions provided by submitter. **Worker** is logicaly divided into two parts:
@ -100,7 +104,3 @@ their hashes, which is great for local caching without worries about actual
version number of given file. On the other hand, **Database** stores information version number of given file. On the other hand, **Database** stores information
about human readable names, so that the files are presented in a friendly way to about human readable names, so that the files are presented in a friendly way to
users (teachers) in **WebApp**. users (teachers) in **WebApp**.
## Monitor
- TODO

Loading…
Cancel
Save