Jump to: navigation, search

Difference between revisions of "RAP/Protocol"

< RAP
m (Introduction)
(Protocol Format)
Line 11: Line 11:
  
 
== Protocol Format ==
 
== Protocol Format ==
 +
The protocol is based on the JSON fromat as described here:
 +
[ http://www.json.org/ ]
 +
 +
=== Message ===
 +
<source lang="javascript">
 +
{
 +
  "meta" : MetaObject,
 +
  "operations" : [ (OperationObject)* ]
 +
}
 +
</source>
 +
 +
There is one message per request and one per response. (May differ while in development.)
 +
 +
=== MetaObject ===
 +
<source lang="javascript">
 +
{
 +
  "requestCounter" : int
 +
}
 +
</source>
 +
 +
=== OperationObject ===
 +
 +
TODO
  
 
== Data Type Reference ==
 
== Data Type Reference ==

Revision as of 06:01, 29 August 2011

Introduction

The RAP Protocol is the JSON-based format used within the HTTP-Requests from a RAP-client to a RAP-server. Compared with the previously used JavaScript and HTTP-fields based communication is will provide a number of advantages:

  • It allowes to move all client-specific code from the server to the client.
  • It produces human readable messages, easing debugging.
  • It allowes the client to create more informative error messages.
  • It allowes to replace either ends as long as they process and create valid RAP-protocol messages.

The protocol is currently beeing developed in CVS HEAD. While not fully implemented, the communication will be mixed between old and new format, e.g. JavaScript-code with embedded JSON-objects. We expect to fully switch to the new format (at least the client-to-server direction) with the 1.5 release.

Protocol Format

The protocol is based on the JSON fromat as described here: [ http://www.json.org/ ]

Message

 
{
  "meta" : MetaObject,
  "operations" : [ (OperationObject)* ]
}

There is one message per request and one per response. (May differ while in development.)

MetaObject

{ 
  "requestCounter" : int
}

OperationObject

TODO

Data Type Reference

Object Type Reference

Server and JavaScript-Client API