Introduction
Osyl Client needs to interact with the Sakai Server. OpenSyllabus used all the Sakai's platform services we needed, in addition of our own services.
GWT interacts with a server
RPC
RPC (Remote Procedure Call) is the communication's workhorse of GWT. GWT offers an easy-to-use RPC mechanism for the exchange of Java objects with a server using HTTP.
OpenSyllabus server used GWT special RPC servlets to implement exchange of serialized Models Objects with the client application.
REST based SData
OpenSyllabus Client uses REST based calls to SData services on the Sakai server.
For example, OpenSyllabus uses it to create or read data from the Sakai's resources repository
REST
REST (Representational State Transfer) is based on resources where each is referenced by a unique identifier, its URI (Uniform Resource Identifier). In REST, clients and servers communicate via standard HTTP and exchange representations of resources (the documents.
Thus, Sakai's SData services return JSON (JavaScript Object Notation) documents which are directly evaluated into Javascript objects by the browser.
The SData service is called via a REST Servlet in Sakai. SData allows data exchanges in JSON format of information about site, resource, etc.) In order to parse JSON in GIT we have used the JSONParser from the GWT library.