Distributed Systems : Home Exercise 4

Home Exercise 4: Deadline Saturday 18.12. at 18:00

The task is to analyze the "Try Ruby!" application by reflecting on what you have learned on the course so far. The emphasis on RPC and Application Layering.  Ajax aspects can be considered for extra points.

http://tryruby.org/

Try to do all the exercises, noting if you stumble into problems. Some exercises may contain bugs; sometimes restarting the application (browser reload) might be necessary.

What can you tell us about "Try Ruby?"

  1. How is the application layered: what parts are done in the local computer, in the browser, at the server (where), etc?
  2. How do you think that the developers have implemented the application? RPC? Transparency? Replication?
  3. What kinds of security aspects must be considered? Try a command like Dir.glob('/*'), what can you tell about the system?
  4. Ajax has been advertised as a killer for distributed systems in general. "Try Ruby!" clearly works pretty well, on multiple browsers and without extra installations. What problems remain for wide-spread Ajax adoption?

Background reading: "Ajax: A New Approach to Web Applications", Jesse James Garrett, Feb. 18th, 2005.
http://www.adaptivepath.com/ideas/essays/archives/000385.php