Il mondo degli ORM è in buona parte legato ai soliti nomi, primo fra tutti Hibernate e a seguire EclipseLink, già Oracle TopLink; di recente sono tuttavia venuto a conoscenza (in attesa di opportuna prova sul campo) di una soluzione alternativa a marchio Apache Software Foundation: Apache Cayenne.
Cayenne si inserisce nello stesso segmento di prodotti ma offrendo caratteristiche non comuni nel suo ambito, tra cui la serializzazione XML degli oggetti (in alternativa alla classica persistenza su database), un tool grafico per progettare lo schema del database e soprattutto la possibilità di rendere remoto l'accesso ai dati tramite web services.
Tra le numerose funzionalità fornite tramite quest'ultimo approccio:
- possibilità di utilizzare il sia medesimo modello dei dati tra client e server, sia modelli differenti (ma con medesima persistenza);
- interfaccia dei web services indipendente dal modello degli oggetti;
- possibilità di lavorare in maniera condivisa tra più client che utilizzano in remoto gli stessi dati;
- lazy loading degli oggetti;
- query (anche paginate), espressioni, caching;
- validazione e regole di cancellazione.
I rami stabili sono ben tre: 1.2, 2 e 3, in modo tale da offrire il miglior supporto possibile in ambienti di produzione. Per chi si approccia ora a Cayenne è ovviamente consigliata l'ultima versione.