Skip to content
Exploring optimistic replication for Javascript clients over a REST API
Smalltalk JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


A tiny web app in the browser which allows one to book a room. Toy app made to explore 'rich' Internet applications, concurrent modifications and optimistic replication of data between a server and multiple Javascript clients.


How a RIA, hosted in the client browser, can make use of a local data store to avoid server communication, and how the data store syncs with the server to commit changes and resolve conflicts using optimistic replication techniques. See survey by Saito/Shapiro (2005).

Domain model & Business rules

  • One room (one resource for reservation)
  • Any time slot (date, time + duration) is open for reservation
  • No overlapping reservations
  • Anyone can make a reservation (anonymously)

Access URL

  • http://localhost:8080/booking - browser app in Javascript
  • http://localhost:8080/booking-api - REST API for the JS app
  • http://localhost:8080/RoomReservation - basic and standard Seaside app (old)


  • Pure Javascript client in the browser, lib JQuery, Underscore.js and Date.js to facilitate development
  • Seaside 3 server with REST handler
Something went wrong with that request. Please try again.