Difference between revisions of "Protocol Design"


Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /www/htdocs/w0102f68/fos/wiki/includes/MagicWord.php on line 902
From FOS Wiki
Jump to: navigation, search
m (explained the type property)
(Introduced the basic concepts of the protocol)
 
Line 1: Line 1:
= Protocol =
+
= Basics =
The communication is based on JSON objects. As first property every object has a "type" string, which determines the structure of the json object.
+
The hole communication is based on a TCP/IP connection.
 +
The server and the client communicate to each other through UTF-8 encoded messages.
 +
 
 +
== Message ==
 +
A message is a json encoded object. Each message has a common "type" property, which determines it's type.
 +
The message ends with the determination of the json object: <code>}</code>.
 +
 
 +
= Session =
 +
To start a session the client must send a valid username and password encapsulated in the json object "Login".
  
= Login - Logout =
 
 
[[File:protocol-login-logout.png]]
 
[[File:protocol-login-logout.png]]
 +
 +
= Dynamic Data (Server &rArr; Client) =
 +
 +
The protocol design is ''not'' based on a request-response concept. It's based on a concept similar to the model-view concept. The idea behind is: On login the client receives the current data: all locations, all tables, all orders, all products, ... . On each change of the data on server-side, the client gets an ''update''. The goal is to have a valid (up-to-date) data pool all the time on every client.
 +
 +
To achieve this, it's necessary to have id-value based data structures - to be able to identify a data set in an update.

Latest revision as of 11:38, 2 March 2014