Difference between revisions of "ApCoCoA-1:ApCoCoA Server Requirements"
From ApCoCoAWiki
S schuster (talk | contribs) (New page: (This page is intended as a general scratchpad for any idea concerning a future ApCoCoA server.) =Goals= During the last months, we came up with the following requirements and wishes wich ...) |
(Fixed some typos) |
||
Line 1: | Line 1: | ||
(This page is intended as a general scratchpad for any idea concerning a future ApCoCoA server.) | (This page is intended as a general scratchpad for any idea concerning a future ApCoCoA server.) | ||
=Goals= | =Goals= | ||
− | During the last months, we came up with the following requirements and wishes | + | During the last months, we came up with the following requirements and wishes which should be incorporated into a future ApCoCoA server: |
− | * Get | + | * Get a fully functional server side, thereby enabling loose coupling of GUIs and server. |
* Standardized robust XML communication from and to the server. | * Standardized robust XML communication from and to the server. | ||
− | * Introduce a certain degree of | + | * Introduce a certain degree of parallelism as demonstrated by the border basis framework. |
* Introduce an extensible and flexible persistency layer usable by all parts of (Ap)CoCoA. | * Introduce an extensible and flexible persistency layer usable by all parts of (Ap)CoCoA. | ||
* Introduce a framework that makes it easy to incorporate external CA software. | * Introduce a framework that makes it easy to incorporate external CA software. | ||
Line 12: | Line 12: | ||
=Ideas for the Design= | =Ideas for the Design= | ||
− | Ideally, the | + | Ideally, the design of a future ApCoCoA server would roughly look as follows: |
<pre> | <pre> | ||
+- CoCoA | +- CoCoA | ||
Line 21: | Line 21: | ||
</pre> | </pre> | ||
− | To get a functional, responsive, error save server, we have to introduce session management to the server (timeout handling, authentication, exchange of information, variables, states, etc between sessions, session pool) | + | To get a functional, responsive, error save server, we have to introduce session management to the server (timeout handling, authentication, exchange of information, variables, states, etc. between sessions, session pool) |
+ | |||
Things also to keep in mind, open for discussion: | Things also to keep in mind, open for discussion: | ||
− | * Logging | + | * Logging. |
− | * Handling the IO of CoCoAL- | + | * Handling the IO of CoCoAL-programs (what happens if the client becomes unavailable -> IO buffers needed; handling huge amounts of output). |
− | * Session handling: | + | * Session handling: associate a reconnecting client with its previous session. |
* Handling of gnuplot must be client side, how do we handle this at different stages. | * Handling of gnuplot must be client side, how do we handle this at different stages. | ||
− | * Identify computations that have to be started in | + | * Identify computations that have to be started in separate threads by the interpreter. |
* ... | * ... |
Revision as of 13:57, 6 March 2009
(This page is intended as a general scratchpad for any idea concerning a future ApCoCoA server.)
Goals
During the last months, we came up with the following requirements and wishes which should be incorporated into a future ApCoCoA server:
- Get a fully functional server side, thereby enabling loose coupling of GUIs and server.
- Standardized robust XML communication from and to the server.
- Introduce a certain degree of parallelism as demonstrated by the border basis framework.
- Introduce an extensible and flexible persistency layer usable by all parts of (Ap)CoCoA.
- Introduce a framework that makes it easy to incorporate external CA software.
- Get as large parts as possible under GPLv3.
Ideas for the Design
Ideally, the design of a future ApCoCoA server would roughly look as follows:
+- CoCoA Client(GUI) <==== XML ===> Server ---- CoCoAL Interpreter -+- ApCoCoA (sessions) +- <further external CA software> =================== Persistency
To get a functional, responsive, error save server, we have to introduce session management to the server (timeout handling, authentication, exchange of information, variables, states, etc. between sessions, session pool)
Things also to keep in mind, open for discussion:
- Logging.
- Handling the IO of CoCoAL-programs (what happens if the client becomes unavailable -> IO buffers needed; handling huge amounts of output).
- Session handling: associate a reconnecting client with its previous session.
- Handling of gnuplot must be client side, how do we handle this at different stages.
- Identify computations that have to be started in separate threads by the interpreter.
- ...