Metodologie di sviluppo

Mr. Hibernate sui Database Relazionali: un post di rara bellezza

Direttamente da Gavin King (Mr. Hibernate, l'amico di Janky ) un post che la dice lunga, molto lunga: "In Defence of RDBMS" http://blog.hibernate.org/cgi-bin/blosxom.cgi/2007/05/23 Il post è piuttosto lungo, e quindi riporto solo due estratti di quanto scritto da Gavin. Li riporto perchè sono concetti che chi mi conosce sa che difendo da sempre....anche quando sembravano essere controcorrente, e venivano tacciati come "vecchi e superati", ma ora che è passata la moda si riscoprono e tornano alla luce del sole...Bene, meglio tardi che mai! Sulla centralità e sulla vita dei database: "[...] data and data models last longer than applications, longer even than programming languages. Data is...

Articoli MSDN in italiano

I vari articoli MSDN scritti in italiano dai vari MVP (e non) sono ora disponibili, oltre che nei rispettivi Developer Center, anche in questa comoda lista: http://www.microsoft.com/italy/msdn/risorsemsdn/community/mvp/articles.mspx

Database Unit Test Whitepaper

E' stato pubblicato un interessante documento sull'utilizzo degli Unit Test in un database: http://msdn2.microsoft.com/en-us/library/bb381703(VS.80).aspx

Sessione da non perdere!

Finalmente è arrivato il momento di vedere sul palco me e Gianky insieme! Come i più veloci hanno già notato il prossimo workshop UGISS UGIDotNet vedrà me e Gianky tenere la sessione "Data Access: strategie ed ottimizzazione": http://www.ugidotnet.org/workshops/workshops_detail.aspx?ID=69540c2b-3ada-4191-90e3-2641f6ed9d05 Non credo che vogliate perdervi un simile spettacolo

[Quasi-OT] Radio 24, il programma "Al Vostro Posto" e i Database

Sto ascoltando in questo momento il programma "Al vostro posto" di Radio 24. Tralasciando il tema della puntata del programma, la cosa che mi preme sottolineare è come il responsabile dell'ATM intervistato dalla Radio abbia ancora la concezione di idee che i dati scambiati dall'ATM ed i suoi partner siano su "dischetti" (testuali parole). Rabbrividisco. Ma la cosa che mi fa ancora più rabbrividire è che ogni volta che qualche responsabile di qualche società viene intervistato riguardo a qualche disguido di comunicazione con il cliente finale (di qualsiasi tipo, dalla notifica del pagamento di un multa - come nel caso...

Technical Workshop dedicato a Visual Studio 2005 Team Edition for Database Professionals

Come già anticipato da Lorenzo e da Simone il 21 Febbraio 2007 ci sarà un Technical Workshop dedicato a Visual Studio 2005 Team Edition for Database Professionals. Insieme a Lorenzo mostrerò come l'utilizzo di VS 2005 DBPro sia una reale manna dal cielo (non per fare pubblicità lo dico seriamente) per chi sviluppa / amministra un database. Non mancate!

Leggendo il transcript della "Agile chat"...pensieri sulle metodologie agili e l'OOD

Leggendo l'interessante transcript della "Agile Chat" postata da Emanuele mi sono venuti in mente una serie di considerazioni che vorrei condividere con tutti, in modo da poter avere un feedback su queste idee che tra poco andrò a descrivere e che mi sembrano il "clou" della problematica.

Riguardo l'uso delle stored procedure

Sono contento che Mauro abbia chiarito nel dettaglio ciò che intendevano lui e Raf nei post che consigliavano di non utilizzare le stored procedure. Io rimango cmq della mia posizione. Non usare le stored procedure E' MALE. Onde evitare flame :-) mi spiego subito. Il caso descritto: "L'uso di uno statement specifico che si preocupa di aggiornare i soli dati realmente modificati permette inoltre di gestire meglio la concorrenza ottimistica nel caso in cui, ad esempio, il client X modifichi la Ragione Sociale mentre il client Y modifichi l'indirizzo della ns entity, in un caso come questo potrebbe non avere senso...

Rockford Lhotka CLSA.NET Framework

Il link alla homepage del guru della programmazione ad oggetti Rockford Lhotka http://www.lhotka.net/Default.aspx Dal sito è possibile scaricare il framework sviluppato dallo stesso Lhotka, aggiornato a .NET 2.0, e descritto nei suoi ormai famosi libri: http://www.lhotka.net/Articles.aspx?id=1351540e-b941-446a-bacb-e0059cc82ee7

ObjectiveView: un magazine sullo sviluppo OO e metodologie Agili FREE

Ecco qui il link http://www.ratio.co.uk/objectiveview.html Gli articoli sono interessanti e gli autori sono di tutto rispetto (Johson, Vaughan, Ambler giusto per citarne alcuni...)

TSQL Unit Testing

Come ho già detto diverse volte e come Scott Ambler (e non solo) sostiene da tempo, è possibile approciare allo sviluppo del DB con metodologie Agili. Per poterlo fare _veramente_ e _seriamente_ è necessario (oltre che ad un cambio di mentalità ) avere a disposizione sistemi per l'attuazione di Unit Testing: per Sql Server è possibile utilizzare TSQLUnit. Ancora non ho iniziato ad usarlo, ma lo userò a breve, presto posterò le prime impressioni d'uso. A livello più generico un tool per effettuare Unit Testing sui db è SQLUnit (basato su Java). Nel caso il primo non dovesse andare bene (è ancora...

Agile Database Tecniques Articles

Scott Ambler ha raccolto cinque articoli di importanti figure nel mondo della modellazione dei dati (tra cui anche David Hay) in una pubblicazione scaricabile gratuitamente da qui:http://www.cutter.com/offers/agiledata2.html Gli articoli sono: Evolutionary Database Development Techniques by Scott W. Ambler and Pramod J. Sadalage Agile Database Testing by Ken Collier Enabling Agile Database Development: A Case Study by Nick Ashley Agile Applications as Open-Vocabulary English Business Rules over SQL by Adrian Walker Data and Agile Methods by David Hay sono 44 pagine (un librettino in pratica) e non ho ancora avuto il tempo di leggerlo tutto, ma sembra (come tutti gli scritti di Scott) molto interessante....

Libro sul Data Modeling

Vedo che si comincia a creare un pò di interesse intorno al tema del data modelling. Un ottimo libro sull'argomento, molto aggiornato, che tiene conto anche delle domande normalmente poste da chi ha esperienza di sviluppo OO e delle ultime teorie sulla sviluppo Agili (senza per questo "violare" i normali concetti di data modelling) è questo Data Modeling Essentialshttp://www.amazon.com/exec/obidos/tg/detail/-/B0007KIQP4/ref=pd_sim_b_5/104-8044554-9575905?%5Fencoding=UTF8&v=glance  Potrete cosi avere riposte so come cercare di modellare un database in modo corretto. Scoprirete cosi come è possibile creare un solido modello dati anche se le informazioni che avete a disposizioni sono incomplete. Ne consiglio la letture a chinque abbia a che fare con i...

The Performance Model

Un post di oggi di Igor mi ha stimolato a scrivere un articolo che da qualche giorno ho nel cassetto. L'idea mi è venuta da quando ho assistito alla presetazioni di Paul Nielsen riguardo alla modellazione dei dati, dove, in una slide iniziale, mostrava in modo estramamente chiaro e semplice che impatto hanno sulle performance le ottimizzazioni che possiamo fare su un qualsiasi database (SQL Server 2000 e 2005 in particolare). Il concetto è riassunto da questa piramide: Che in modo incofutabile comunica che l'impatto maggiore sulle prestazioni è dato da questa sequenza: 1 - Modello del database Se il database è disegnato male (troppo o troppo poco...

AJAX...basta da solo?

Di AJAX se ne è già parlato abbastanza (dopotutto è la buzzword del momento ) ed io non ho intenzione di dire nulla di nuovo in proposito, visto che è gia stato quasi detto tutto ed il contrario di tutto. Quello di cui voglio discutere qui è l'utilizzo di una tecnologia asincrona come AJAX in un contesto un pò più grosso, come può essere un moderno sito web (intranet, extranet o public website che sia). L'idea di utilizzare una qualsiasi architettura che renda asincrone alcune chiamate al server è, per quello che mi riguarda, qualcosa che diventerà sempre più una normalità,...

Refactoring to Patterns

In questi giorni sto leggendo un libro molto bello, dal titolo Refactoring to Patterns. A parte l'interesse suscitato dal tema stesso, ed il bel taglio dato da Joshua Kerievsky, l'autore, che ne fa l'ideale seguito per chi a letto Design Pattern e Refactoring (entrambi, come questo, nella lista dei libri da leggere), ho trovato un'altra bella analogia che aiuta a capire perchè è necessario fare refactoring. Se vi state chiedendo perchè mi sta tanto a cuore questa faccenda delle analogie, è presto detto: le situazioni per me più difficili da affrontare non riguardano la parte tecnica, dato che, normalmente, l'importanza del...

Un pensiero prima di andare a letto: MSDN, gli articoli ed i consigli errati.

Oggi l'ho detto anche alla conferenza parlando di XML e lo ha sottolineato anche il mio collega Alessandro parlando di SQLCLR. Questi sono strumenti MOLTO potenti....ma che non devono necessariamente essere utilizzati in ogni database ed in ogni query che faremo su SQL 2005. Anzi...molte volte è meglio evitare di usarli in quanto le soluzioni set-based che il "vecchio" T-SQL ci mette a disposizioni sono ancora (e rimarranno) molto ma molto ma molto più efficienti. Allora perchè, come fa notare JoelOnSoftware e come riprende Bill Graziano nel suo blog, alcuni articoli su MSDN mostrano come fare cose che noi continuiamo a dire...

Design Pattern Automation Toolkit

Questo sembra proprio un tool interessante! Non ho ancora avuto il tempo di darci un'occhiata approfondita, ma da quello che si vede dal sito sembra un'idea quantomeno stimolante! http://dpatoolkit.sourceforge.net/

Data Access Layer vs Stored Procedure?

Il post sulle "superfici di contatto" ha avuto diversi feedback (speravo di più ad esser sincero...si parla parecchio di metodologie di sviluppo qui si UGIdotNET e quindi pensavo che l'argomento interessase ai più...boh), ed ha riportato in auge il dilemma "meglio un data access layer o delle procedure sul database tipo stored procedure?". Beh, io qui dico la mia, sperando ancora un volta in un ampio feedback in modo da metter sul tavolo un pò di argomenti di discussione interessanti. La mia idea è che non ci può essere un vincitore a questa domanda. Nessuna delle due opzioni è meglio dell'altra in...

Superficie di contatto

In questi giorni da un cliente mi sono trovato a dover spiegare perchè è cosa buona e giusta creare uno strato di accesso ai dati e perchè è necessario utilizzare abbondantemente stored procedure e affini (se presenti nell'rdbms utilizzato). Sul momento ho spiegato per esteso le varie problematiche che tale soluzione permette di evitare, correggere e prevenire, ma, ora, ripensandoci bene, credo che la cosa potrebbe essere resa molto più chiara e comprensibile (e soprattutto convincente) utilizzando un semplice concetto. Tale concetto è ben rappresentato dall'idea di pensare a delle "superfici di contatto ". Database e applicazioni, applicazioni ed altre applicazioni,...

www.agiledata.org

Bene, sono contento che il post precedente abbia suscitato interesse! Vi ricordo che sul sito www.agiledata.org potete dare un'occhiata ai contenuti del libro prima di acquistarlo (direi che c'è praticamente *tutto* il libro...però per me la carta stampata è ancora insostituibile!) powered by IMHO 1.2

Agile Database Techniques: fatevi un favore, comprate questo libro!

Non è da me fare una pubblicità così marcata a qualcosa, ma questo libro è davvero da leggere. Oggi ho finito di leggerlo (ma ho già in programma la rilettura di alcune sue parti) e ogni singola pagina è una miniera di consigli ed esperienza. Io normalmente mi trovo molto spesso a dover essere l'anello di congiunzione tra database architects e software architects e quindi argomenti quali la convivenza di due paradigmi differenti (come OOD ed il modello relazionale) sono pane di tutti i giorni, cosi come la convivenza con sistema legacy, che, come ben si sa, sono come i protagonisti di...

Class Normalization

Ieri sono andato avanti nella lettura del libro Agile Database Techniques, che si dimostra ad ogni pagina sempre più bello. Ho scoperto che esiste il concetto di Class Normalization, che è ovviamente è parallelo al concetto di Data Normalization così ben conosciuto a tutti coloro che lavorano con un rdbms. Le regole che esprime sono regole che - secondo me - probabilmente già tutti applichiamo e conosciamo, in quanto mi sembrano "semplicemente" delle regole legate al buon senso, ed, alla fine, si ritorna al concetto fondamentale che le operazioni che agiscono sui dati vanno dove ci sono i dati. Dato che però magari questo concetto...

Become a Generalizing Specialist

Ieri ho speso molto tempo sui mezzi di trasporto (troppo....quando potremo direi anche noi "Beam me up, Scotty" ? ), ma per fortuna sono riuscito a investirlo nella sana lettura del libro "Agile Database Techniques". Uno dei punti che più mi ha favorevolmente colpito - e stupito direi - è che Scott W. Ambler, l'autore, sostiene che per essere Agili è necessario diventare dei Generalized Specialist. E' una cosa in cui ho sempre creduto, e mi sono praticamente sempre trovato in controcorrente , ed ora che lo leggo scritto sul libro di uno degli autori più autorevoli del movimento agile, beh,...

Stored Procedure o no?

Anche oggi sul ng di SQL Server è stata postata la fatidica domanda: "...ma devo scrivere cosi tante stored procedure"? Si. Non bisogna avere paura di avere molte stored procedure all'interno di un database, non è sintomo di cattiva programmazione nè tanto meno di poca portabilità.Le stored procedure permettono di far sì che lo schema del nostro database sia indipendente dalla logica di business e viceversa. La logica di business (molto più correttamente la logica di accesso ai dati) deve "semplicemente" scegliere qual'è la stored procedure (o query se ipotizziamo di lavorare su un db che non supporta le SP) che deve...

Agile Database Techniques

Finalmente il libro è arrivato! In questi giorni comincierò a leggerlo (tanto più che devo viaggare spesso, quindi potrò impegare il tempo sui mezzi di trasporto in modo ottimale) e vediamo che ne esce. Devo ammettere di essere abbastanza esaltato a riguardo!

Data Model Patterns

Approcio Agile e Pattern ovunque, anche per chi deve modellare i database: http://www.bookpool.com/.x/hr9s5wows8/sm/0471202835 e http://www.amazon.com/exec/obidos/tg/detail/-/0932633293/104-4238991-1062343?v=glance sicuramente faranno inorridire i puristi del modello relazionale (e ne conosco almeno un paio ) ma a me questi approci piacciono un sacco!

AgileData: Bringing data professionals and application developers together.

Stavo cercando un tool che mi permettesse di creare dei dati di esempio (verosilimi) con la quale popolare un db di test (mi sa che il tool me lo devo fare....) e sono capitato su questa interessantissima pagina: http://www.agiledata.org/ che, come potete capire del nome, propone un approcio agile allo sviluppo dei database....magari può essere d'aiuto anche per rispondere al problema sollevato da AndreaB nel suo post: http://blogs.ugidotnet.org/penpal/archive/2004/12/29/7934.aspx  

Copyright © Davide Mauri

Design by Bartosz Brzezinski

Design by Phil Haack Based On A Design By Bartosz Brzezinski