Rserve is a client server implementation written in pure c that starts the server and spawns several processes, each of which has its own workspace R. These are not threads, but processes due to R's limitation for multithreading. It uses the QAP packaging protocol as the primary form of transport between the client and server. You execute commands through the client (PHP, Java, C ++) to the server and return you REXP objects, which are essentially the R mappings that underlie the SEXP data objects. Rserve also offers a version of webcams that will transmit data through web ports, but the api is not documented. It also supports basic authentication through a configuration file.
Rstudio is a C ++ and gwt application that provides a web interface for accessing R. AFAIK uses json as the main transport and supports authentication through pam. Each user has a workspace configured in their home directory. It works on the server very similarly, but not the same as Rserve to communicate with R using RCPP. It also has its own build driver, used to wrap the plot device so that it can select plots to serve ui. It has much more functionality, for example, navigating through your code from ui variables and viewing the workspace.
Functionally, they are similar in that they provide a client / server connection with R, but IMHO the comparison stops there.
Chris hinshaw
source share