mercredi 17 décembre 2008

Squill : ceci n'est pas un ORM

Fichiers xml de mapping, annotations JPA, Hibernate, HQL Criteria... Voila avec quoi doivent jongler les développeurs Java pour accéder à une base de données.

Résultat :
  • un long apprentissage pour maitriser tout ça
  • le développeur est éloigné du SQL, bugs et problèmes de performances sont inévitables
  • la plupart des problèmes ne sont identifiés qu'à l'exécution, en cours de développement, il n'y a aucune vérification de la cohérence des développements avec la structure de la base
Squill propose une approche radicalement différente :
  1. une tache ant génère un ensemble de classe correspondant aux tables de la base
  2. le développeur utilise ces classes qui offrent des méthodes correspondant aux différentes instructions SQL
Les avantages sont énormes :
  • Le développeur code pratiquement du SQL
  • Aucun SQL généré automatiquement
  • Tout est vérifié à la compilation (ex : si on supprime une colonne, on a une erreur de compilation !)
  • Autocompletion
Enfin tout ça, c'est la théorie. Pour l'instant ce n'est que de la version beta, mais j'aime beaucoup l'idée.