30 dicembre 2006

Rails, ORM e RDMBS

Lo studio di Rails prosegue, e finalmente sono arrivato ai punti focali per l'importanza ai fini di un utilizzo con un database relazionale. È presente la possibilità di personalizzare l'accesso alle tabelle, ma tutto avviene a livello di namespace, concettualmente non cambia nulla: Rails ha bisogno di uno schema in cui le tabelle sono correlate da chiavi primarie surrogate autoincrementanti, l'unica cosa che si può cambiare è il nome delle colonne. Le relazioni tra tabelle 1:1, 1:n, n:n devono essere ripetute nella definizione degli oggetti/modelli ActiveRecord, ovvero la parte ORM (Object Relational Mapping) di Rails, che permette di utilizzare gli oggetti del linguaggio (Ruby) come se fossero dei record di una tabella nel database. Questa ripetizione non va a vantaggio della semplicità e mantenibilità del codice, in quanto costringe a ripetere nel codice Ruby le affermazioni che sono già state fatte nel database.
Devo dire che l'architettura di Rails e l'eleganza di Ruby sono affascinanti: tutto è stato pensato per uno sviluppo di applicazioni web e nulla è stato lasciato al caso.
Vedremo più avanti se ci saranno altre sorprese.

Nessun commento: