Object-relational mapping
tecnica di programmazione
L' Object-Relational Mapping (ORM) è una tecnica di programmazione per convertire dati fra RDBMS e linguaggi di programmazione orientati agli oggetti. In buona sostanza, associa a ogni operazione e elemento usato nella gestione del database degli oggetti con adeguate proprietà e metodi, astraendo l'utilizzo del database dal DBMS specifico.
I principali vantaggi nell'uso di questo sistema sono i seguenti.
- Il superamento (più o meno completo) dell'incompatibilità di fondo tra il progetto orientato agli oggetti ed il modello relazionale sul quale è basata la maggior parte degli attuali DBMS utilizzati; con una metafora legata al mondo dell'elettrotecnica, si parla in questo caso di disadattamento dell'impedenza tra paradigma relazionale e ad-oggetti (object/relational impedance mismatch).
- Una elevata portabilità rispetto alla tecnologia DMBS utilizzata: cambiando DBMS non devono essere riscritte le routine che implementano lo strato di persistenza; generalmente basta cambiare poche righe nella configurazione del prodotto per l'ORM utilizzato.
- Facilità d'uso, poiché non si è tenuti ad utilizzare direttamente un linguaggio di query come l'SQL (che comunque rimane disponibile per eseguire compiti complessi o che richiedono un'elevata efficienza).
I prodotti per l'ORM attualmente più diffusi offrono spesso nativamente funzionalità che altrimenti andrebbero realizzate manualmente dal programmatore:
- caricamento automatico del grafo degli oggetti secondo i legami di associazione definiti a livello di linguaggio;
- gestione della concorrenza nell'accesso ai dati durante conversazioni;
- meccanismi di caching dei dati (con conseguente aumento delle prestazioni dell'applicazione e riduzione del carico sul sistema RDBMS).