Platform Team/Sugar Network/Architecture: Difference between revisions
mNo edit summary |
|||
| (8 intermediate revisions by the same user not shown) | |||
| Line 8: | Line 8: | ||
* Clients create, modify and browse different types of resources ([[Sugar_Network/Concept#Resources|resources]] from conceptual point of view, [[Platform_Team/Sugar_Network/API#Resources|resources]] from the API point of view) on a server; | * Clients create, modify and browse different types of resources ([[Sugar_Network/Concept#Resources|resources]] from conceptual point of view, [[Platform_Team/Sugar_Network/API#Resources|resources]] from the API point of view) on a server; | ||
* If this server is a [[# | * If this server is a [[#Node_servers|Node]] server, the system will take care about [[#Synchronization|synchronizing]] its resources with other Node servers and, finally, with the central one, the [[#Master_server|Master]] server. | ||
=== Components === | === Components === | ||
| Line 24: | Line 24: | ||
Server side is represented by: | Server side is represented by: | ||
* [[# | * [[#Master_server|Master]] server that keeps the whole Sugar Network information, clients might connect directly to this server (on-line case) or indirectly via Node servers (off-line case); | ||
* Optional [[# | * Optional [[#Node_servers|Node]] servers, contain a [[#Synchronization|synchronised]] copy of central server (might be not for the entire Network to save storage space); | ||
In all cases the server [[Platform_Team/Sugar_Network/API|API]] is the same for clients. But depending on connectivity, clients might be connected to the [[# | In all cases the server [[Platform_Team/Sugar_Network/API|API]] is the same for clients. But depending on connectivity, clients might be connected to the [[#Master_server|Master]] server or to a [[#Node_servers|intermediate server]]. | ||
=== | === Master server === | ||
The place where data is being collected from all | The place where data is being collected from all Node servers. If clients have connectivity, they can connect to the Master to contribute to the Network directly. | ||
=== | === Node servers === | ||
Servers that will be useful if: | Servers that will be useful if: | ||
| Line 41: | Line 41: | ||
* connectivity is not cheap and its usage needs to be minimized. | * connectivity is not cheap and its usage needs to be minimized. | ||
Node servers provide full featured [[Platform_Team/Sugar_Network/API|API]] as the Master does. Nodes need to be [[#Synchronization|synchronized]]. | |||
== Conceptual level == | == Conceptual level == | ||
| Line 61: | Line 52: | ||
The model refers to the following additional information: | The model refers to the following additional information: | ||
=== Simplified editing workflow === | === Simplified editing workflow === | ||
| Line 103: | Line 74: | ||
Client application is local, for reasons: | Client application is local, for reasons: | ||
* Originally, Sugar Network was being developed for deployments where teachers' XOs will be | * Originally, Sugar Network was being developed for deployments where teachers' XOs will be Node servers, thus, it will be useful to delegate some of computing to students' XOs; | ||
* Stimulate doing behaviour when it should be possible to create new client application or tweak existing on a client side; | * Stimulate doing behaviour when it should be possible to create new client application or tweak existing on a client side; | ||
* It is all time possible to create Web application on a server side. | * It is all time possible to create Web application on a server side. | ||
| Line 114: | Line 85: | ||
* Data accessible from removable devices like USB sticks or SD cards. | * Data accessible from removable devices like USB sticks or SD cards. | ||
== | == Synchronization == | ||
To let Network participant, connected to particular [[#Node_servers|Node server]], interact with people from another Node servers or with people from the Internet (Master server), Node servers need to be synchronized. | |||
Server might be synchronized: | |||
* | * With the Master, if connectivity presents; | ||
* With the Master or any other Node servers via the [[Wikipedia:Sneakernet|Sneakernet]]. | |||
== Getting involved == | == Getting involved == | ||