Il y a longtemps que je n’ai pas abordé le sujet de la prévalence objet sur ce blog. Le sujet est toutefois loin d’être abandonné. Je travaille en ce moment à un provider ADO.NET pour Bamboo. J’ai usé un premier stagiaire l’an passé qui a posé les fondements du fournisseur, et je vais normalement en avoir un second cette année pour finir les tests et l’implémentation, en particulier le branchement sur un mécanisme d’analyse de la grammaire SQL.
Pour l’instant, l’analyse complète du SQL a été laissée de côté. On implémente de manière très progressive, en mode “développement émergeant piloté par les tests”, ce qui me permet de laisser plus de liberté aux stagiaires une fois que les tests unitaires sont bien posés. A ce jour, il y a donc toute l’architecture (en utilisant l’injection pour l’analyseur, factice pour l’instant, ainsi que pour le coordinateur et le mécanisme de correspondance des champs avec les propriétés dans les listes prévalentes).
Ce qu’il manque est la prise en compte des grammaires SQL complètes. Je vais donc lancer mon stagiaire futur sur les traditionnels Lex / Yac en version .NET, mais aussi lui demander de voir s’il n’existe pas une grammaire SQL pour le langage M. Ca serait l’idéal.
Comme cela avait été reconnu dans un des premiers posts sur la prévalence objets, la grande limitation de l’approche en milieu industriel est la difficulté de migrer des applications avec un gros existant en termes de SQL. J’espère qu’avec un fournisseur ADO.NET, ce point sera levé, et permettra à plus de gens d’envisager une migration.