Currently just a braindump... feel free to improve - at least keep the positive attitude towards REST, please
- Webserver delivering static files
- CGI - calling dynamic scripts, mapping configured by eg. regexps in static webserver
- Templating languages allow meshing logic with Markup: PHP, ASP, simplifies the generation of HTML
- Java servlets - fully Java interface to server-side HTTP, own "dynamic" webserver = servlet container
- Base mapping with servlets: context path to separate servlets
- Various mappings implemented in Java behind the servlet api (eg. Cocoon)
- JSP as a template language for JavaServlets
- Concentration of backends and server-to-server communication ("Enterprise" segment): J2EE with Java beans, RMI, JDBC, ORM
- did not make any use of the advantages of REST present in HTTP and the web
- Inter-server communication: webservices, XML-RPC, SOAP
- frameworks with focus on automated generation of service endpoints
- no HTML, no REST
- no improvements for making it easier to quickly create nice user interfaces
- tons of files (one resource = interface, bean implementation, dao object, etc., see here)
- More standards: Java server faces, a full MVC object model inside the server
- makes things more complicated, especially when considering a thin server architecture
- Ruby on Rails: large improvement for the developer through scaffolding files, following the DRY principle
- considered state-of-the-art
- can be done with java as well: Grails
- scaffolding (both through CLI scripts and method-not-found-interceptors in dynamic languages) make it easier to work with this large bunch of objects/classes/files on the server side
- Sling: TNGWAF - the next generation web application framework
- server-side made thinner through resources as a first-class concept
- no need for complicated MVC patterns just to get from URL to relational database
- flexibility through scripting
- power of 10+ year development of Java VMs
- OSGi for better software lifecycle management and more uptime (updates without restart)