Fluid provides persistence service for Service Data Objects (SDO) using Java Persistence Architecture (JPA).
Fluid is based on OpenJPA -- open source implementation of JPA by Apache Software Foundation.
Fluid is being developed under the aegis of Apache Labs.
Fluid is available as a single Java archieve.
Java Persistence API is a mature standard for persistence service of Java objects. The persistent Java object is often referred as Pure Old Java Object or POJO because to no special requirement (inheriting a super class or implementing a interface) has been introduced on the persistent domain objects to use persistence services of JPA.
Service Data Objects is a specification to define loosely-typed data structures. Service Data Objects gains more significance as data representation for Service Component Architecture.
Service Data Objects specification currently mentions of a Data Access Service but does not specify any further details.
Fluid explores how data specified in a loosely-typed system (as in SDO) can be operated with JPA which is based on data represented in a strongly-type system.
SDO relates to JPA naturally. Many important features of Service Data Objects such as navigational access, detached mode operations via Change Summary are quite akin to usage patterns where JPA excels as a persistence service. So, Fluid was motivated to explore this naturalness assumption.
Also from practical considerations, object persistence (be it strongly- or loosly-typed) against a relational database is a hard problem. OpenJPA is a mature solution to this complex O-R mapping problem (also other few JPA implementaions such as Hibernate, TopLink). Hence, instead of reinventing a costly wheel, SDO should use JPA for persistence service.