DataNucleus AccessPlatform is a standards-compliant Java persistence product. It is fully compliant with the JDO1, JDO2, JDO2.1, JDO2.2, JDO3, JPA1, JPA2 and JPA2.1 Java standards, and provides a REST API. It complies with the OGC Simple Feature Spec for persistence of geospatial Java types. It allows access to all popular RDBMS available today, together with the MongoDB, LDAP, NeoDatis, JSON, Excel/ODF spreadsheets, XML, BigTable, HBase, and Neo4j databases.
VRaptor3 is a fully-fledged Java Web framework focused on fast development and maintainable code. It intends to make RESTful application development easy. A resource corresponds to a business logic annotated with its path and HTTP method. It runs inside DI Containers (Spring or Pico out of the box) and, therefore, enables full integration with them. Also, using Hibernate is easier: its session is automatically injected by VRaptor, so you just have to use it. VRaptor3 is refactor-friendly, especially in its redirecting configuration. It is also nicely extensible.
The UniversalContainer class is an attempt to provide a class which can act in a manner similar to the untyped variables, arrays, and hash-maps found in popular scripting languages such as Perl and PHP. The result is a class that can hold a wide variety of data and meta-data in a very flexible structure. UniversalContainers can hold integers, doubles, booleans, single characters, strings, and wide character strings. UniversalContainers may also be used as associative maps between strings and other UniversalContainers, or as arrays of UniversalContainers. Routines for database access and REST programming are included, including a JSON serialization engine.
SerfJ provides a very easy way of developing Java REST Web applications. It helps you to develop your application over an elegant MVC architecture, giving more importance to convention than configuration. This means, for example, you will not need configuration files or annotations in order to specify which view serves a controller's method. However, SerfJ is very flexible, so if you want to jump over those conventions, you can configure the behavior of your applications as you like. The framework tries to meet the JSR 311 specification, but it doesn't follow every point of the specification, because the purpose is to have a very intuitive library, and some some aspects of the specification are out of the scope of SerfJ.