Warning: array_key_exists() [function.array-key-exists]: The second argument should be either an array or an object in /web/htdocs/www.request.to.it/home/frank/scripts/sb_display.php on line 60
Nessuno ti regala niente, ed i framework non sono da meno 
venerdì, settembre 22, 2006, 15:12 - Dev, Java, Spring, DataBase
Chi mi conosce lo sa. Adoro i framework, non mi piace reinventare la ruota se qualcuno l'ha già fatta, rotola bene ed ha tante persone che la migliorano. Molti progetti open source di successo sono framework che assolvono alle più disparate esigenze: MVC, IOC, O/R mapping, JMX...... Ehi, quante buzzword in una sola riga! Mi manca ESB, SOA, WS :)

Un framework che mi ha dato molte soddisfazioni è Spring, che io definisco un meta-framework, vista la sua capacità di collegare tra loro lo cose più disparate.

Ma veniamo al titolo del post...

Un po' di tempo fa sono stato mandato da un cliente per ingegnerizzare un prototipo da applicazione a servizi. L'applicazione in se non sembra nulla di complesso: axis sul front-end, dei controller/manager/servizi (chiamateli come volete) esposti e dei dao per fare persistenza. Ero a corto, molto a corto, di tempo e know-how, dopo più di 2 anni a fare VOIP.

Ho preso Spring ed usato i suoi DAO. Ho cominciato con dei dao basati su JDBC. Poi mi sono detto: "che palle rimappare i result-sets sugli oggetti di dominio, prendiamo un O/R mapper a caso: hibernate".

E' stato a dir poco un bagno di sangue. A causa della mancanza di tempo, e presa la strada, non sono tornato indietro. Grazie a Spring molte cose mi venivano gratuitamente, ma allo stesso tempo non capivo cosa stava succedendo. Mi dicevo che se tutti lo usano non sarà cosi difficile, ma non faceva le cose che volevo. Ovvero, non faceva le cose come pensavo!
Avendo tempo probabilmente sarei partito utilizzando H8 direttamente per comprendere bene i suoi meccanismi interni, poi avrei spostato le cose in spring utilizzando i dao, facendo poi gestire le transazioni i AOP. Tutto piano piano. Un passo alla volta.
Così invece ho fatto un salto nel vuoto sperando che il paracadute si aprisse.

Ho pagato pegno! Alla fine, seppur di fretta, e grazie alle FS, ho letto parte del manuale, ho fatto prove, tests etc...
Più o meno ne sono venuto fuori, però la prossima volta non lo faccio più.

Prima di usare un framework che non si conosce, per quanto pubblicizzato, fico e trendy, ci vuole del tempo per capirlo ed assimilarlo. Se non si ha a disposizione questo tempo, per fare uno spike, leggere bene la documentazione, confrontare altre soluzioni, è meglio affidarsi alle soluzioni conosciute, magari tediose e/o tecnologicamente arretrate, ma su cui si hanno le idee chiare!



[ 133 commenti ] ( 8532 visite )   |  [ 0 trackbacks ]   |  permalink  |   ( 3 / 2433 )