OrientDB is a NoSQL DBMS which can store 150,000 documents per second on common hardware. Even with a document-based database, the relationships are managed as in graph databases, with direct connections among records. You can traverse entire or parts of trees and graphs of records in a few milliseconds. It supports schema-less, schema-full, and schema-mixed modes, has a strong security profiling system based on users and roles, and supports SQL between the query languages. Thanks to the SQL layer, it's straightforward to use for people skilled in the relational world.
uimaFIT provides Java annotations for describing UIMA components which can be used to directly describe the UIMA components in Java code without the need for traditional UIMA XML descriptors. This greatly simplifies refactoring a component definition (e.g., changing a configuration parameter name). uimaFIT also makes it easy to instantiate UIMA components without using XML descriptor files by providing convenient factory methods. This makes uimaFIT an ideal library for testing UIMA components because the component can be easily instantiated and invoked without requiring a descriptor file to be created first. uimaFIT is very useful in research environments in which programmatic/dynamic instantiation of UIMA pipelines can simplify experimentation. For example, when performing 10-fold cross-validation across a number of experimental conditions, it can be quite laborious to create a different set of descriptor files for each run, or even a script which generates such descriptor files. uimaFIT is type system agnostic and does not depend on (or provide) a specific type system.
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.