ORM
[TimeTracker] Dal class-diagram al diagramma ER
Ho iniziato a lavorare ad un progetto di cui parlerò fra qualche settimana. Anticipo che si tratta di un TimeTracker, il cui scopo principale è quello di racchiudere vari principi del design object oriented e di metodologie di sviluppo del software. L'obiettivo sarebbe anche quello di creare un presentation layer che offra degli spunti concreti ed infine avere a disposizione un TimeTracker realmente utilizzabile.

Nel frattempo scriverò qualche post durante "l'avanzamento dei lavori". Ho quasi terminato il disegno del class diagram e la cosa che mi ha dato maggiormente soddisfazione al momento è il fatto di essere in grado di generare il database direttamente dal class diagram attraverso NHibernate e la corretta definizione dei file di mapping.

Per un motivo (database già esistente) o l'altro (mancanza di tempo) non ho mai sfruttato questa feature di NHibernate davvero utile.

I due vantaggi sostanziali sono:
- possibilità di generare qualunque database supportato da NHibernate
- definizione dei vincoli nei file di mapping

Anche se alla fine della fiera si tratta solamente di query T-SQL "create table" o "alter table", è stupefacente avere il database (Sql Server 2005) vuoto un momento e il momento dopo averlo completamente popolato ovviamente ottenendo gratis anche il database diagram.

Una cosa fatta meglio del diagramma ER (Management Studio) rispetto al class diagram (VIsual Studio 2008): il metodo di riorganizzazione del grafico... per il resto, beh è come sparare sulla croce rossa :-D. Il confronto tra i due modelli:
Class diagram
Class diagram TimeTracker
Diagramma ER
Diagramma ER TimeTracker

Spero di avere abbastanza tempo per poter andare avanti speditamente :-). In teoria dovrebbe anche entrarci Silverlight 1.1 in minima parte, ma è da vedere.

A breve seguiranno altre notizie.

Matteo Migliore.
Quanti ORM si possono trovare? NHibernate? Nahh
Premessa: in questo periodo mi sono dedicato poco alle mie solite attività, news group, post sul blog e infine una divernte e costante attività di studio di tecnologie/metodologie.
Il motivo è semplice: da due mesi circa sono a Milano quotidianamente, avanti e indietro, da clienti e sembra che il trend continuerà per parecchio, forse per sempre :-). Probabilmente non sempre a Milano, effettivamente stò girando anche in altre provincie, ad esempio Venezia.

Comunque, alla ricerca di qualche ispirazione in più, ho trovato questa guida agli ORM; ce ne sono veramente per tutti i gusti, anche se la scelta cade quasi obbligata su prodotti open e meglio documentati... Vi viene in mente un nome? Purtroppo no, non parlo ancora di Entity Framework, che mi lascia veramente indispettito per la mancanza di supporto a "Persistence Ignorance". Perchè mai dovrei implementare delle interfaccel nel Business o peggio ancora, ereditare da una classe?? Ma non ci siamo proprio! Così come per Silverlight (1.0 non lo considero, mi perdonino i sostenitori di "media publishing"), la mancanza di controlli lo rende di fatto un sistema troppo artigianale, nonstante probabilmente a breve, per esigenze di progetto, inizierò a lavorarci pesantemente :-).

Sono ovviamente critiche costruttive, dovute all'esigenza di aumentare la produttività e migliorare la qualità, logiche anche di business ovviamente :-).
Nel frattempo... buona lettura!

Matteo Migliore.
3 Comments Filed Under [ NHibernate ORM ]