Client-Server Web Apps with JavaScript and Java: Rich, Scalable, and RESTful