Osservando applicazioni software di successo in aziende di successo (longeve) mi è capitato di vedere base di dati con 30 anni di vita ancora arzille e vitali e applicazioni software con 10 anni di vita ancora sviluppate e in uso.
Guardando alle code-base di vari team, una cosa che talvolta mi salta all'occhio è la presenza contemporanea nella stessa applicazione di più tecnologie di accesso ai dati incompatibili tra loro (non possono condividere connessione, transazione, lock, recordset/DTO/mapping, query).
Questo mi ha fatto riflettere sul ciclo di vita delle tecnologie di accesso ai dati Microsoft (alcune a basso e alto livello sono: ODBC, OLE DB, .NET Data Provider, RDO, ADO, ADO.NET, Data Set, Linq2Sql, Entity Framework; su wikipedia ci sono più dettagli qui e qui) che ogni 2-3 anni vengono virtualmente "obsoletate" in favore di una nuova diversa e incompatibile tecnologia.
Ho raccolto i dati di longevità di altre tecnologie sviluppate con una strategia consistente incrementale e evolutiva per confrontarle con le tecnologie di accesso ai dati Microsoft :
- Microsoft COM: in evoluzione da circa 20 anni
- Microsoft WinForms: in uso corrente e ha circa 10 anni
- Microsoft SqlServer: quello che conosciamo oggi ha almeno 10 anni
- Hibernate: circa 8 anni
- NHibernate: circa 4 anni
Le tecnologie MS di accesso ai dati vengono sviluppate di piú secondo una strategia consistente incrementale e evolutiva o di piú secondo una strategia a breve termine e con frequenti stravolgimenti ? Qual'è la tua opinione e come gestisci la cosa ?
Print | posted @ mercoledì 20 gennaio 2010 22:04