Claudio Brotto

Optimization.Workshop@UgiDotNet.today

Di rientro dal workshop di oggi, qualche considerazione a semi-caldo.

Innanzitutto un ringraziamento allo staff di Ugi e, più in generale, a chi ha reso possibile l'evento. Che tra parentesi (anzi, niente parentesi !) è stato *gratuito*, e non per questo di bassa qualità, nè di taglio commerciale.

Cosa rimane dalla giornata di oggi ?

Beh, inutile negare che ho scoperto un bel modo per accelerare lo startup di un'applicazione winform ... (chi non c'era capirà da quache prossimo post o dalle registrazioni dell'evento :-)

Poi molti contenuti. A partire dai tool di profiling e code analisys (forse l'argomento che ho trovato più interessante, anche perchè di certo è quello di cui ho meno conoscenza).

Lo scontro titanico tutto sommato non ha visto grosso spargimento di sangue (a meno di emorragie interne di qualche ORM o di qualche DB).

Ecco la mia opinione su un problema piuttosto generale, di sicuro evidenziato molto bene in questa sessione.

Mantenere centralizzate le logiche applicative (termine molto generico, ma ripeto, la considerazione è generale) è estremamente importante. Perciò la scelta della locazione in cui definire tali logiche è fondamentale.

Mi viene da dire che questa scelta ... "dipende" (la risposta più gettonata a qualsiasi domanda). Ma in ogni caso la locazione deve essere condivisa (sennò che centralizzazione è ?)

Dico "dipende" perchè ci sono scenari in cui l'unico punto di condivisione possibile è di fatto lo storage (il database, sì sì).

In questo senso quello che diceva Davide oggi è sacrosanto: i vincoli, l'integrità, anche le regole, se mantenuti in DB, consentono di gestire quelle simpatiche situazioni in cui applicazioni eterogenee (l'una non conosce l'esistenza dell'altra) devono condividere, appunto, i dati. E l'unico punto di contatto che hanno è SQL, con tutte le funzionalità che questo espone. Persistenza. Interrogazione. Lo stesso storage, applicazioni diverse.

Discorso diverso, invece, quando un'applicazione si deve adattare a sistemi di memorizzazione eterogenei (non vuol dire solo SQL vs Oracle, ma anche SQL vs SAP ... giusto per fugare eventuali dubbi del tipo "basta cambiare la connection string"). La stessa applicazione, storage diversi.

Ecco che la parola "dipende" inizia a assumere un senso. L'ennesima banale (ma importante) frase sull'importanza della contestualizzazione.

Chapeau, infine, a Raffaele, che ha sforato di quasi un'ora ma probabilmente poteva rimanere a parlare per qualche mese (e solo di GC, badate bene).

Thnx to All.