So I built a sample Game Of Life with what I believe are modern Java tecnologies:
- Java 8 with lambdas support
- Gradle for build automation and dependency resolution (substitutes both Ant and Maven)
- Jetty as an embedded server to respond to HTTP requests
- Jersey for building the RESTful web service calculating new generations of a plane, using JAX-RS
- Freemarker templating engine to build HTML
- Log4j 2 for logging, encapsulated behind the interface slf4j.
- JUnit 4 for unit testing infrastructure
- Mockito for Test Doubles
- JUnit Quickcheck for property-based testing
- Selenium for browser-based testing
project on Github for details.